X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=Nwiz;h=6681ef9e2c73d6259ac7d0d87ddf39d5c8431130;hb=f2cd6408f2cadadc3bae56f5aa59952bff01b014;hp=4f81e37ea94367ac44ecaf465bfbbf8123901010;hpb=395c922aadfb00581202800a586b636f997a1a26;p=wiki.git
diff --git a/Nwiz b/Nwiz
index 4f81e37..6681ef9 100644
--- a/Nwiz
+++ b/Nwiz
@@ -1,7 +1,9 @@
-== nwiz ==
+== nwiz, the code editor for a more civilized era ==
=== What's this? ===
+
{{nvim-completion.png | maxwidth=600}}
+
Neovim has no shortage of powerful plugins for programmers, but it's a fast moving ecosystem.
Picking the right combination of plugins and configuring them as an integrated development
environment is still far from trivial. I also reviewed a number of GUIs and "super plugins"
@@ -20,11 +22,12 @@ The plugin ecosystem is still maturing, but over time the amount of Lua scriptin
to piece together a functional IDE seems to be going down. Ideally, you wouldn't have
to learn Lua to edit your Neovim config.
-** I want a programmer's editor, not become an editor's programmer! **
+** I want a programmer's editor, not to become an editor's programmer! **
+
=== Features ===
- * Quick open files
+ * Quickly open files with fuzzy search
* Semantic completion
* Configures language servers for C/C++, Rust, Python
* Adding more languages made easy by lspconfig
@@ -61,7 +64,17 @@ Any time you edit the list of plugins, run ##:PackerSync## to install, uninstall
=== 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 ===
@@ -73,4 +86,22 @@ For instance, I installed these:
:TSInstall cpp rust lua python bash vim
}}}
-You can refresh your parsers at any time with ##:TSUpdate##
\ No newline at end of file
+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 ===
+
+{{nvim-telescope.png | maxwidth=400}}
+
+
+TODO: docs for [[https://github.com/nvim-telescope/telescope.nvim | telescope.nvim]]
+
+=== Realtime diagnostics and hints ===
+
+TODO: document