diff --git a/README.md b/README.md index 8908f29..f1dabe5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # About -Ready-to-use Neovim configuration with the Unity engine. This intends to be +Ready-to-use Neovim configuration with the Unity engine. This project aims to be both, a ready-to-use Neovim package and a guide on how to get Neovim working with Unity. @@ -15,9 +15,8 @@ do that. This Installation guide targets __Linux distributions__. A guide on how to properly set this for Windows(and MacOS) is yet to be provided. -This project has been tested with __Unity2020.3.XXXX LTS__. Everything seems -to be working perfectly fine. Any tests on other Unity versions are extremely -appreciated! +This project has been tested with __Unity2020.3.XXXX LTS__. Any tests on other +Unity versions are extremely appreciated! ### Installing Dependencies @@ -25,7 +24,7 @@ First of all make sure that you have installed __Neovim >= 0.8.0__. You can do that by following this [guide][neovim_installation]. The below dependencies should be properly installed, please take a look at -respective links for up-to-date installation instructions. +respective links for an up-to-date installation instructions. 1. __[nvr][nvr_repo]__: Remotely control Neovim processes. Install using: @@ -62,15 +61,17 @@ If you want to use this configuration, make sure to do a backup: #### Installing Plugin Dependencies -Some plugins require external tools to be installed. The following table -associates each plugin with its dependencies. +Some plugins require external tools to be installed. -You can install these dependencies one-by-one or you can execute -the ```./scripts/plugin_dependencies.sh``` script. +For a start, make sure the latest versions of these are installed: -| Plugin | Dependencies(s) | -|-------------------|-----------------------------------| -||| +1. Git +1. npm + +Type ```:checkhealth``` in a Neovim instance to check for missing dependencies. +Plugins with missing dependencies should be clearly identified and a simple +internet search with the dependency's name will yield the official installation +guide. #### Configuring Unity Editor @@ -84,53 +85,48 @@ the ```./scripts/plugin_dependencies.sh``` script. ```
Why?
-Usually when clicking on a an error message in Unity console, it directs -you towards the file and the position of the cause of that error. -To do that, Unity has to instantiate an editor server instance, provide it -with file name, line and column. Now when opening another file, the same +Usually when clicking on an error message in Unity's console, it directs +you towards the __file__ and the __position__ of the cause of that error. +To do that, Unity has to instantiate an editor server instance and provide it +with the file name, line and column. Now when opening another file, the same editor server instance is used and the newly opened file will just appear as a tab in the perviously instantiated editor server instance.
#### Is Everything Working Fine? -Make sure to run ```:checkhealth``` to check if plugins are working properly. -If any issues are encountered then it most probably is related to some plugin -dependencies that are not\not properly installed. +Make sure to run ```:checkhealth``` to check if installed plugins are working properly. +If any issues are encountered then it is, most probably, related to some plugin +dependencies that are not (or not properly) installed. ## TODO -1. Add debugger support (CRUCIAL!) -1. Add omnisharp-roslyn language server restart keymap (CRUCIAL!) -1. Provide a set of default keymaps as a PDF 'cheat sheet' (IMPORTANT) -1. Windows support (IMPORTANT) -1. MacOS support (IMPORTANT) -1. Improve this README file (IMPORTANT) -1. Add XML comments highlighting (OPTIONAL) -1. Add GitHub pages support (OPTIONAL) +1. [] Add debugger support for C# (CRUCIAL) +1. [] Add omnisharp-roslyn language server restart keymap (CRUCIAL) +1. [] Windows support (CRUCIAL) +1. [] Provide a set of default keymaps as a PDF 'cheat sheet' (IMPORTANT) +1. [] MacOS support (IMPORTANT) +1. [] Add XML comments highlighting (OPTIONAL) +1. [] Add GitHub pages support (OPTIONAL) +1. [] Add support for other programming languages ## (Known) Limitations -+ Omnisharp language server may take a while to start. Thus a bit of patience -opening a file for the first time is needed. -+ Development environment won't be as rich as on Visual Studio (in terms of -features provided). But you get a much more consistent development environment -if you do a lot of programming outside gamedev. ++ When opening a file for the first, Omnisharp language server may take a while +to start thus a bit of patience is needed. ## FAQ + Q. Why not use csharp-ls? -+ A. I have tried. I have really tried, but the amount of problems that I got -was simply not worth it (failures to detect .NET framework 4.7.X assemblies, -metadata warnings, etc...). ++ A. Serious problems on Ubuntu 22.04 (failures to detect .NET framework 4.7.X +assemblies, metadata warnings, etc...). --- + Q. Why the headache? Why not just use Visual Studio? -+ A. I do a lot of programming outside Unity and I'm used to using Neovim -for all my programming tasks. Thus it is much easier for me to stick to Neovim. -And you get to learn tons of new stuff when no one is holding your hand like a -baby ;) ++ A. Some people find a great joy in using Neovim. Some other people use it for +all their programming tasks thus it would be inefficient for them to transition +to Visual Studio or VSCode just for Unity programming. --- @@ -141,14 +137,14 @@ spaces__. --- + Q. Syntax highlighting doesn't seem to work. What should I do? -+ A. When Neovim for the first time, for some reason Treesitter does ++ A. When opening Neovim for the first time, for some reason Treesitter does not work (will be fixed). Just open another script and it should work. --- -+ Q. Why does LSP take so long to provided completion at the start of Neovim? ++ Q. Why does LSP take so long to provide completion at the start of Neovim? + A. That's Omnisharp reading your whole project for proper LSP setup. A little -bit of patience is needed. +bit of patience at the start is needed. --- @@ -158,11 +154,9 @@ will be added) ## Feedback -This project was done by an inexperienced Neovim user. If anything can be -enhanced then please open a PR (I really do appreciate it)! I really enjoy using Neovim and I find it a bit sad that there are no -properly updated guides on how to set it up with Unity development -environment. +properly updated guides on how to set it up with Unity for a proper, fast +and efficient development environment. ## License