Skip to content

alexaandru/nvim-config

Repository files navigation

Neovim config

Requires nightly. Features:

  • 100% Lua Fennel based (well, technically, it's still Lua ;-)) using my own, "nano" Fennel shim;
  • syntax highlighting (as well as code folding, incremental selection, text objects & more) powered by TreeSitter;
  • builtin LSP setup for a dozen languages, of which I mostly use Go, JavaScript, Terraform and Fennel :-);
  • dual LSP setup, (mostly) via EFM to cover for "gaps", where needed, i.e.: I use tsserver for JS, but prefer prettier for formatting; I use gopls for Go, but I also want warnings from golangci-lint-ls, etc.;
  • autoformat wherever possible; organize imports for Go and JS;
  • builtin "fuzzy" searching (set path=** and just use :find *whatever* for filenames or :Grep *whatever* (set to git grep) for content) but ALSO using fzf-lua;
  • git integration: only a custom visual diff, gitsigns and for the rest I just :!git away;
  • terminal started via :Term or <C-Enter> will start in the folder of the current file;
  • minimal config that's been battle tested on the nightly branch since June 2020; no package manager, using builtin packages feature + git submodules for managing the plugins;
  • minimal UI (no statusbar/linenumber; git branch, filename and function/method name are in the titlebar), using my own colorscheme and my own input and select overrides;
  • autocompletion offered by my fork of nvim-lsp-compl - I just had to rewrite it in Fennel, for fun... :-)

Nvim