Skip to content

Releases: mickael-menu/ShadowVim

0.2.1

09 Jul 13:11
a4fbea4
Compare
Choose a tag to compare

Fixed

  • #50 Fix issue where the cursor position is not updated when using third-party plugins like chaoren/vim-wordmotion.
  • #56 Add a passthrough for Fn-based keyboard shortcuts.

0.2.0

13 Apr 18:27
a82d1cf
Compare
Choose a tag to compare

Added

  • Support for Visual and Select modes feedback.
    • Block-wise selection (C-v) is displayed as character-wise because of a limitation with the Xcode accessibility APIs.
  • Open a Neovim terminal TUI for the embedded instance (requires Neovim 0.9).
    • This is useful to solve blocking prompts in Neovim, for instance.
    • Activate from the status menu, or manually with:
      nvim --server /tmp/shadowvim.pipe --remote-ui
  • Use SVPress to trigger click events from Neovim bindings.
    " Show the Quick Help pop-up for the symbol at the caret location (<kbd>βŒ₯ + Left Click</kbd>).
    nmap K <Cmd>SVPress <LT>M-LeftMouse><CR>
    
    " Perform a right click at the caret location.
    nmap gR <Cmd>SVPress <LT>RightMouse><CR>
  • Use SVSetInputUI to let Xcode handle all key events.
  • Use SVSetInputNvim to forward key events to Neovim, even in Insert mode.
  • Use SVOpenTUI to launch a Terminal window with a Neovim text user interface of the embedded Neovim instance.
    • This is useful to solve issues with Neovim such as a blocking prompt.

Deprecated

  • SVEnableKeysPassthrough is deprecated in favor of the new SVSetInputUI command.

Changed

  • The Insert mode is now handled by Xcode to improve performance, auto-completion and indentation.
    • ShadowVim does not need to override your Xcode editing settings anymore.
    • Unfortunately, that means that Neovim Insert features are unavailable (e.g. iab abbreviations or imap mappings).
  • SVPressKeys was renamed to SVPress.
  • SVPress now emits the keyboard shortcut system-wide instead of only in the Xcode process.
    • This can be used to have a custom passthrough for hot keys (e.g. βŒ₯` to open iTerm) by adding this to your init.vim:
    if exists('g:shadowvim')
        map <A-`> <Cmd>SVPressKeys <LT>A-`><CR>
    endif
  • The system paste shortcut (⌘V) is now overridden and handled by Neovim to improve performances and the undo history.

Fixed

  • Significantly improve performance when applying changes from Neovim.

0.1.1

25 Feb 10:21
3570e43
Compare
Choose a tag to compare

Added

  • Xcode's settings are automatically updated to prevent conflicts when running ShadowVim.
    • The user is prompted with a bunch of terminal commands reverting the changes.

Fixed

  • Fix Quit and Reset buttons in the error dialogs.
  • Fix synchronizing buffers with extra newlines at the end.
  • Fix activating ShadowVim when restarting Xcode.
  • Improve handling of some AX errors.

0.1.0

23 Feb 19:01
499e522
Compare
Choose a tag to compare

Added

  • Basic Neovim / UI buffer and cursor synchronization.
  • Support for Normal, Insert and Replace modes.
  • Neovim user commands to trigger UI keyboard shortcuts.