-== nwiz.lua - A Neovim config for a more civilized age ==
+== nwiz ==
=== What's this? ===
=== Language Servers ===
-TODO
+Neovim 0.7 comes with a built-in LSP client. The official [[https://github.com/neovim/nvim-lspconfig | nvim-lspconfig]]
+plugin abstracts the details of spawning the correct Language Server for a multitude of filetypes.
+
+Download and installation of language servers can be managed automatically by
+[[https://github.com/williamboman/nvim-lsp-installer | nvim-lsp-installer]], but I find that it's
+simpler (and much safer!) to install the already packaged ones from Linux distro. This also ensures
+that they stay aligned with the system toolchain.
+
+ * Rust: rust-analyzer
+ * C++: clangd
+ * Python: python-lsp-server (which uses mypy, pylint, autopep8...)
=== Treesitter syntax parsers ===
Install the ones you like from this list: https://github.com/nvim-treesitter/nvim-treesitter#supported-languages
-For instance:
+For instance, I installed these:
{{{
-:TSInstall c cpp rust lua python bash vim
-}}}
\ No newline at end of file
+:TSInstall cpp rust lua python bash vim
+}}}
+
+You can refresh your parsers at any time with ##:TSUpdate##
+
+=== Semantic completion ===
+
+Just press TAB!
+
+TODO: docs for [[https://github.com/hrsh7th/nvim-cmp#readme | cmp-nvim]]
+
+
+=== Finding and opening files ===
+
+TODO: docs for [[https://github.com/nvim-telescope/telescope.nvim | telescope.nvim]]
+
+=== Realtime diagnostics and hints ===
+
+TODO: document