Skip to content

Domeee/com.cloudedmountain.ide.neovim

Repository files navigation

Unity Neovim Code Editor

Make Neovim a Unity first-class citizen!

Goals of this project

  • Integrate neovim with unity as external script editor
    • Neovim can be selected as external script editor
    • Files of appropriate type will be opened in neovim
      • Opening a file without existing neovim instance opens a new neovim instance
      • Opening a file with existing neovim instance opens the file in the existing neovim instance
    • .NET based unity solution files will be synced if necessary (new file added, file deleted, file renamed)
    • Manually trigger unity solution files synchronization via assets menu

Out of scope

Current state of the project

The project currently is in early stage development. Expect errors and breaking changes. The current version 0.0.1 was tested on Arch Linux only. The project currently does not support operating systems other than linux.

Installation

  1. Download
git clone git@github.com:Domeee/com.cloudedmountain.ide.neovim.git
  1. Add the neovim unity package to unity
Window > Package Manager > Add package from disk > select package.json
  1. Set neovim as external script edtior
Edit > Preferences > External Tools > External Script Editor > select Neovim
  1. Start an nvim server
# "/tmp/nvimsocket" is the name of the server and currently hardcoded
nvim --listen /tmp/nvimsocket

Usage

The neovim unity package automatically synchronizes the unity solution files if a new file was added, an existing file was deleted or renamed.

Todo list

  • Streamline installation process
  • Replace neovim-remote dependency asap, see GitHub PR

Troubleshooting

Imports not detected on newly created file

See open issue @ omnisharp-roslyn, open issue @ neovim

The file opened in neovim is empty

Filepaths with spaces are currently not supported.

References

About

Code editor integration for supporting Neovim as code editor for unity

Resources

License

Stars

Watchers

Forks

Packages

No packages published