Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roadmap #404

Closed
49 of 61 tasks
gerardroche opened this issue Jan 10, 2019 · 0 comments
Closed
49 of 61 tasks

Roadmap #404

gerardroche opened this issue Jan 10, 2019 · 0 comments
Milestone

Comments

@gerardroche
Copy link
Task lists! Give feedback
Contributor

@gerardroche gerardroche commented Jan 10, 2019

See the roadmap, part 2 #711 (the remaining issues have been consolidated there).

Many items have already been backported to the current release. Where an implementation has been backported it is noted in the item.

Defaults

Defaults should more closely match the Neovim defaults: part 1 and part 2.

  • Enable CTRL keys by default next major version (2.0)
  • Enable SUPER keys by default next major version (2.0)
  • Enable ALT keys by default #579 (Implemented as of 1.17.0)
  • Enable system clipboard by default?
  • Change default bell style to "view" #502 (Implemented as of 1.12.0)
  • Implement configurable default Insert mode #277 (Implemented as of 1.15.0)
  • Change default option ignorecase to False (Implemented as of 1.19.0) 1865e11
  • Change default option winaltkeys to menu (Implemented as of 1.19.0) d9080d5
  • Disable vintageous_multi_cursor_exit_from_visual_mode (Implemented as of 1.18.0)

Settings

  • Rename .vintageousrc file to .neovintageousrc or .nvrc (a backwards compatibility fix is implemented that automatically renames .vintageousrc to .neovintageous). (Backported as of 1.11.0)
  • All public settings should be prefixed with nv_ neovintageous_
  • All private settings should be prefixed with _nv_
  • All Vim related settings should be configurable via the .neovintgeousrc file instead of via Sublime settings e.g. set hlsearch, set nohlsearch, etc. #585
  • All plugins should be enabled or disabled via the boolean setting nv_{plugin_name}
  • All plugins should group related settings via the prefix nv_{plugin_name}_.
  • Granular key control #470 #579
  • Remove unused is_vintageous_widget setting (Removed as of 1.18.0)
  • Remove setting __vi_external_disable_keys (Removed as of 1.18.0)
    Use __vi_external_disable instead. This setting wasn't working as intended and pretty much does nothing does nothing more than the __vi_external_disable setting i.e. it disables NeoVintageous. This is useful for plugins that want to inhibit NeoVintageous on a view by view basis.
  • Remove settings prefixed VintageousEx dc41a3c
  • Remove setting linux_shell dc41a3c

Command and mapping keys completeness

  • Add <C-space> (Implemented as of 1.19.0)
  • Add <insert> alias to i (Implemented as of 1.19.0)
  • Add <Del>
    • Add <A-Del> / <M-Del>
    • Add <D-Del>
  • Add <f13...f20>
    • Add <S-{f13...f20}>
    • Add <C-{f13...f20}>
    • Add <C-S-{f13...f20}>
    • Add <A-{f13...f20}> / <M-{f13...f20}>
  • Add keypad keys e.g. <k0> ... <k9>, <kPlus>, <kMinus> (Implemented as of 1.20.0)
  • Add aliases <C-{uppercase}> -> <C-S-{lowercase}> (or vice versa), <D-{uppercase}> -> <D-S-{lowercase}> (or vice versa), and <M-{uppercase}> -> <M-S-{lowercase}> (or vice versa)
  • Add aliases <M-right> (alt+right) -> <l> (right) (Implemented as of 1.19.0)
  • Add aliases <M-left> (alt+left) -> <h> (left) (Implemented as of 1.19.0)
  • Add <D-bs>, <D-cr>, <D-del>, <D-down>, <D-home>, <D-left>, <D-pagedown>, <D-right>, <D-space>, <D-up>, <D-.>, <D-S-.> so that they can be mapped from the rc file (Implemented as of 1.19.0)
  • Add <C-home> alias to gg (Implemented as of 1.19.0)
  • Add <C-pagedown> alias to gt (Implemented as of 1.19.0)
  • Add ctrl+right <C-Right> alias to W (Implemented as of 1.19.0)
  • Add shift+right <S-Right> alias to w (Implemented as of 1.19.0)
  • Add ctrl+left <C-Left> alias to B (Implemented as of 1.19.0)
  • Add shift+left <S-Left> alias to b (Implemented as of 1.19.0)
  • Add <S-Down> alias to <C-f> (Implemented as of 1.19.0)
  • Add <S-Up> alias to <C-b> (Implemented as of 1.19.0)

Plugins

plugin implemented notes
Abolish Currently only supports case mutation algorithms
Indent Object ✔️
Commentary ✔️
Easy Motion
Multiple Cursors ✔️
Sneak
Surround ✔️
Unimpaired ✔️
XKeySwitch
  • Naming conventions: all plugins should start with a lowercase letter followed by lowercase letters or underscores and must end with a lowercase letter, it would be expressed thus: ^[a-z]([a-z]*|[a-z_]+[a-z])$. Maybe restrict plugin names to only lowercase letters i.e. ^[a-z]+$?

  • Rework multiple cursors to work closer to terryma/vim-multiple-cursors #251 (Implemented as of 1.13.0)

  • Move all non-standard commands into their own plugin modules: some non-standard Vim commands are implemented in the Neo core. These commands should be refactored into plugin modules, for example the Commentary plugin commands and some Indent Object plugin commands are currently implemented as core commands oppose to plugin commands.

    • Sublime Text (Implemented as of 1.20.0)

      • Move all ST specific commands into a "sublime" plugin e.g. ctrl-k ctrl-b toggles the side bar, but it's not a standard Vim command, however some commands make sense in an ST context. (Implemented as of 1.20.0)
      • CTRL-P by default should be the same as k and Up. Currently it invokes the fuzzy file finder but that should be refactored into a plugin which can be disabled, which would then default that key to this command) (Implemented as of 1.20.0)
    • Commentary (implemented as of 1.9.0)

    • Multiple Cursors (Implemented as of 1.13.0/1.18.0)

    • Indent Object #373

  • Add vim-abolish patterns, abbreviations, substitutions, etc. features (re #692)

  • Port vim-sneak #457

  • Port vim-easymotion #276

  • Port vim-xkbswitch #276 or comparative plugin (for example allow to "disable Input Method when exiting Insert mode" #374)

Performance

  • #381 Movement by visual line gj and gk is laggy (fixed as of < 2.0.0)
  • #709 Improve general performance of commands

See also https://github.com/NeoVintageous/NeoVintageous/issues?q=label%3Aperformance+

Checklist for next major version (2.0.0)

  • Remove deprecations
  • Remove future compatibility patches
  • Remove all references to "vintageous"

Known Issues

The following are known issues that can't yet be fixed or implemented due to limitations in Sublime Text:

description issue sublime text issue
Relative line numbers #13 sublimehq/sublime_text#3240
'scrolloff' option #205 sublimehq/sublime_text#3240
Can't move cursor left and right in visual line mode #640 sublimehq/sublime_text#3240
Goto symbol within a file automatically enters visual mode #54 sublimehq/sublime_text#3032
Window status is flaky sublimehq/sublime_text#627
Spell checking commands are flaky sublimehq/sublime_text#2539

See also https://github.com/NeoVintageous/NeoVintageous/issues?q=is%3Aissue+is%3Aopen+label%3Aknown-sublime-text-issue

@gerardroche gerardroche added this to the 2.0.0 milestone Jan 10, 2019
gerardroche added a commit that referenced this issue Feb 12, 2019
Re: #404
gerardroche added a commit that referenced this issue Feb 13, 2019
Re: #404
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 13, 2019
gerardroche added a commit that referenced this issue Feb 19, 2019
gerardroche added a commit that referenced this issue Feb 19, 2019
gerardroche added a commit that referenced this issue Feb 19, 2019
gerardroche added a commit that referenced this issue Feb 19, 2019
gerardroche added a commit that referenced this issue Feb 21, 2019
gerardroche added a commit that referenced this issue Feb 21, 2019
gerardroche added a commit that referenced this issue Feb 25, 2019
gerardroche added a commit that referenced this issue Feb 25, 2019
gerardroche added a commit that referenced this issue Feb 27, 2019
gerardroche added a commit that referenced this issue Feb 27, 2019
gerardroche added a commit that referenced this issue Mar 1, 2019
Re: #404
gerardroche added a commit that referenced this issue Mar 23, 2020
@gerardroche gerardroche added this to the 1.20.0 milestone Mar 25, 2020
@gerardroche gerardroche mentioned this issue Mar 25, 2020
5 of 15 tasks
gerardroche added a commit that referenced this issue Apr 29, 2020
gerardroche added a commit that referenced this issue Apr 29, 2020
gerardroche added a commit that referenced this issue Apr 29, 2020
gerardroche added a commit that referenced this issue Aug 20, 2020
gerardroche added a commit that referenced this issue Aug 20, 2020
gerardroche added a commit that referenced this issue Aug 20, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
Uses the new ST setting "scroll_context_lines".

Close #205
Re #404
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Sep 23, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Oct 25, 2020
gerardroche added a commit that referenced this issue Dec 3, 2020
Re #404
Re #711
gerardroche added a commit that referenced this issue Dec 3, 2020
gerardroche added a commit that referenced this issue Dec 3, 2020
gerardroche added a commit that referenced this issue Dec 4, 2020
gerardroche added a commit that referenced this issue Dec 4, 2020
gerardroche added a commit that referenced this issue Dec 12, 2020
gerardroche added a commit that referenced this issue Dec 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant