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
Contributor

gerardroche commented Jan 10, 2019

See also part 2 and part 3

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 Mapping ALT keys #579 (Implemented as of 1.17.0)
  • Enable system clipboard by default?
  • Change default bell style to "view" Add Visual bell styles #502 (Implemented as of 1.12.0)
  • Implement configurable default Insert mode Insert Mode by default when changing open files #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. Implement :set {option} in neovintageosrc #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 Support granular vim vs sublime CTRL shortcuts #470 Mapping ALT keys #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 vii does not select the whole indented line #373

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

  • Port vim-sneak Port vim-sneak plugin #457

  • Port vim-easymotion Suggestions about plugins #276

  • Port vim-xkbswitch Suggestions about plugins #276 or comparative plugin (for example allow to "disable Input Method when exiting Insert mode" 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
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 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant