Skip to content
This repository was archived by the owner on Apr 6, 2018. It is now read-only.
This repository was archived by the owner on Apr 6, 2018. It is now read-only.

Merging all the Pull Requests #739

@bronson

Description

@bronson

As an experiment, I've attempted to merge all 31 open pull requests. The result is vim-mode-next which, so far, has been working great. I use it for all my editing.

To try to save vim-mode's maintainers some time and make it easier to find good candiates, I present my findings here. I'll close this issue when five candidates been merged or rejected -- hopefully just enough time to be useful.

16 pull requests can be merged today

These pull requests look well written, have tests, and work great. They required resolving 7 merge conflicts. Ordered roughly by importance and completeness:

  • #573 add replace mode.

    This is an important feature and this PR works fine. Code and tests look great. Merge it, open the missing features as new issues, and keep improving it.
  • #711 fix p at end-of-line leaving cursor in wrong position.

    Bug is irritating, fix is obviously correct, tiny code, tested. What's not to like?
  • #609 allow inserting with a count and changing count when repeating.

    Allowing 80iX<esc> is huge and the rest is pure bonus. code+tests look great.
  • #568 don't let undos get too big.

    This is an important bugfix, also makes insert mode feel more vimlike. code+tests look great.
  • #732 make ctrl-t return from symbol.

    tiny fix for what looks to be an innocent typo.
  • #717 implement W (whole word) text object.

    This is a notorious omission. code+tests look great.
  • #718 make find (ftFT) state global.

    Fixes a missing feature, very nice. code+tests look great.
  • #710 make multiple cursor delete work once, not one-by-one.

    Small amount of obviously correct code, tested. No reason not to merge.
  • #623 ensure t motion includes the character below the cursor.

    Fixes an irritating bug, code is tiny, tests look fine.
  • #591 fix scrolling when yanking.

    Fixes a mildly irritating bug, code+tests look great.
  • #696 improve ip/ap paragraph text objects.

    It's true, Atom's getCurrentParagraphBufferRange doesn't behave like Vim's. This fixes the bug and code+tests look fine.
  • #720 add ctrl-r in insert mode to paste register.

    It's a missing Vim feature, code+tests look great.
  • #558 implement zs and ze horizontal scrolling.

    Implements a Vim feature and code+tests look great.
  • #611 make gg, gugu, and gUgU change case of the whole line.

    code+tests look great, I couldn't find any corner cases. Looking forward to guu and gUU.
  • #724 add gD, goto global definiton.

    Missing Vim feature, code+tests look great. Looking forward to gd.
  • #721 add ctrl-e/ctrl-y to copy in insert mode.

    I'm not sure many people use these but it's a Vim feature and the code+tests look great.
  • #738 make tests fail if deprecated calls are made.

    Just infrastructure, PRs that implement missing functionality seem more important to me.

3 can be closed because they already work

  • #386 fix broken dj and dk tests
  • #417 fix motion when yanking
  • #476 can't exit visual mode with v

2 are ready but need tests

These are ready to go except the authors need some hints on how to write tests.

  • #723 add ctrl-^ to select recent tab

    The code was easy, but mocking the editor in the tests has beaten me.
  • #727 add gf, goto file under cursor

    Just need to figure out how to test relative file paths. t9md's open-this is another solution.

6 look promising but need discussion or changes

  • #397 ctrl-i/ctrl-o jump motions
    Issue says it needs more work but code+tests look pretty good. I've been using t9md's cursor-history package.
  • #508 rename command mode to normal mode

    I almost put this into the "merge now" category -- it's sorely needed. The only reason it's not in vim-mode-next yet is because it makes continuing to merge with vim-mode painful.
  • #513 add move window operations

    Looks like this is held up so Atom can improve its API... Any downside to merging it now, and updating it when Atom gets its new calls?
  • #581 dw at end of line should not wrap line

    Looks OK to me but the author says it's only a proof of concept?
  • #658 implement blockwise visual select

    I need this feature almost every day. t9md wrote vim-mode-visual-block which also starts to solve this.

6 should probably never be merged

  • #432 highlight find motion

    This is better handled by adding a hook to vim-mode, then doing the highlighting in another plugin.
  • #471 lazy load to save startup time

    Not worth it. When the time comes to optimize load times it'll take a lot more effort.
  • #506 show prefix char in command input

    I don't understand why this never got any comments. I agree, it's a needed feature, but at this point it pretty much needs a rewrite.
  • #510 beep when search history is exhausted

    Not in Vim so it shouldn't be in vim-mode.
  • #653 highlight when text is yanked

    Like optimize find motion visual effect #432, this is better handled by adding a hook to vim-mode.
  • #686 add vertical/horizontal split key bindings to tree-view.

    This is the perfect use for ~/.atom/keymap.cson.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions