Use Neovim as your Unity code editor.
This package:
- Opens file & line in Nvim from the Unity editor (requires nvr)
- Generates csproj. and sln files (same way as the old vscode package)
Windows:
- Only supports Windows Terminal.
- Bring to front: Focuses the first WT window. May hit the wrong one, and does not handle tabs.
Linux:
- Tested on NixOS with Cinnamon and Kitty.
- Terminal selection: Can change the terminal emulator in Edit > Preferences > External Tools.
- Bring to front: Precisely finds the window using pid. Requires
wmctrl
. - Neovim
-c
support: Allows passing commands to Neovim on startup. The command can be set in Preferences.
MacOS:
- kitty, ghostty (waiting on native process / windows manipulation)
- Neovim
-c
support: Allows passing commands to Neovim on startup. The command can be set in Preferences. - Bring to front:
- Precisely focuses the Kitty window with kitty remote control
- Requires conf
allow_remote_control yes
andlisten_on unix:/tmp/mykitty
- Requires conf
- Relies on Hammerspoon (gist) to manipulate ghostty windows
- Precisely focuses the Kitty window with kitty remote control
Check TermDispatch.cs
for more details.
- Open the Package Manager from Window > Package Manager
- "+" button > Add package from git URL
https://github.com/dssste/NvimNvrEditor.git?path=/Assets/NvimNvr
Go to Edit > Preferences > External Tools and select any nvim
executable. This file is not invoked; it's simply used to inform the editor that our package will handle code editors. If locating the actual nvim
executable is troublesome, you can create an empty file called nvim
and point the editor to it. Under the hood, we run the nvr command, so make sure that the command is accessible.
There is not much to set up as long as you get the LSP stuff working. Omnisharp works fine for me. Highly recommand deselecting all in Generate .csproj files for
to keep your sln small and let omnisharp-extended-lsp.nvim cover external locations.