Skip to content

0.2.0

Compare
Choose a tag to compare
@mickael-menu mickael-menu released this 13 Apr 18:27
· 4 commits to develop since this release
a82d1cf

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.