kota's memex

install

https://neovim.io/doc/user/lsp.html https://github.com/neovim/nvim-lspconfig

This is the documentation for the built-in LSP client and a plugin you probably want to install which includes configurations for lots of popular language servers. This lets you automatically launch languages servers by filetype, and allows using vim's omnifunc completion (manual not automatic). You can combine this with an autocomplete plugin, auto-pairs plugin, format on save, and other things for more advanced features.

language servers

clangd

This on requires a bit of setup, especially for c++, but that's just a flaw of c++ and can't be helped.

godot

Godot can itself be used as a gdscript language server. You just tell your client which port to look at.

python

Pretty good python language server. Although I haven't tried many of them.

null-ls

Provides a way for non-LSP sources to hook into the nvim LSP client. This is needed for shellcheck and python's black formatter.

auto-completion

https://github.com/hrsh7th/nvim-cmp/

This one is suggested by nvim-lspconfig.

https://github.com/ms-jpq/coq_nvim

This one is a bit newer, but it's stupid fast.

snippets

https://github.com/hrsh7th/vim-vsnip/

VSCode(LSP)'s snippet feature in vim.

https://github.com/ms-jpq/coq_nvim

Coq actually provides snippets collected from pretty much every major snippet repo for vim in addition to being the fastest autocomplete.

telescope

https://github.com/nvim-telescope/telescope.nvim

Much fancier FZF like plugin for nvim. It supports anything you could ever want, use it to find files, as a file browser, search vim's help, search vim keybindings, filter LSP references, live project wide grep, and a million other things. It's also faster than fzf.

autoclose brackets

https://github.com/windwp/nvim-autopairs

This seems to be the best plugin for it. Haven't bothered setting it up yet.

custom ui

https://muniftanjim.dev/blog/neovim-build-ui-using-nui-nvim/