- Use Cobra instead of Magefile - Use Neovim's Go client library to get the data and config directories. This is more reliable than guessing from XDG variables then falling back to $HOME.
66 lines
3.3 KiB
Markdown
66 lines
3.3 KiB
Markdown
# FollieHiyuki's Neovim configuration
|
|
|
|
This Neovim config used to live within [my dotfiles](/FollieHiyuki/dotfiles-ansible). Due to the complexity of refactoring both regular files/templates and this Lua codebase, I decided to move it into its own repository. As such, this project stays under the same license as my dotfiles, MIT.
|
|
|
|
## TODO
|
|
|
|
### Colorschemes
|
|
|
|
- OneDark
|
|
- Catpuccin
|
|
|
|
### Missing tree-sitter parsers
|
|
|
|
- [rescript](https://github.com/nkrkv/tree-sitter-rescript/)
|
|
- nftables
|
|
- Go template (text/html)
|
|
- Jinja2
|
|
- [typst](https://github.com/typst/typst/issues/118)
|
|
- [kcl](https://github.com/kcl-lang/tree-sitter-kcl)
|
|
|
|
### Additional DAP/LSP servers
|
|
|
|
- elixirls/lexical, elp/erlangls (config for `nvim-lspconfig`)
|
|
- swift-MesonLSP (inside container)
|
|
- one-small-step-for-vimkind
|
|
- cmake-language-server / neocmakelsp
|
|
- dart/flutter (flutter-tools.nvim / configure dartls directly) (ref: <https://gist.github.com/christopherfujino/80be0f4cd88f75c4991b478e6b071153>)
|
|
|
|
### More plugins
|
|
|
|
- [clangd_extensions.nvim](https://github.com/p00f/clangd_extensions.nvim)
|
|
- [crates.nvim](https://github.com/Saecki/crates.nvim)
|
|
- [numb.nvim](https://github.com/nacro90/numb.nvim)
|
|
- [package-info.nvim](https://github.com/vuki656/package-info.nvim)
|
|
- [nvim-ufo](https://github.com/kevinhwang91/nvim-ufo)
|
|
- [refactoring.nvim](https://github.com/ThePrimeagen/refactoring.nvim)
|
|
- [rustaceanvim](https://github.com/mrcjkb/rustaceanvim)
|
|
- [telekasten.nvim](https://github.com/renerocksai/telekasten.nvim) / [zk-nvim](https://github.com/zk-org/zk-nvim)
|
|
- [tangerine.nvim](https://github.com/udayvir-singh/tangerine.nvim) / [aniseed](https://github.com/Olical/aniseed) + [nfnl](https://github.com/Olical/nfnl) / [hotpot.nvim](https://github.com/rktjmp/hotpot.nvim)
|
|
- carbon.nvim -> [silicon.nvim](https://github.com/krivahtoo/silicon.nvim)
|
|
- [nabla.nvim](https://github.com/jbyuki/nabla.nvim)
|
|
- markdown-preview.nvim -> [peek.nvim](https://github.com/toppair/peek.nvim) / [smp.nvim](https://github.com/cnshsliu/smp.nvim)
|
|
- [grpc-nvim](https://github.com/hudclark/grpc-nvim)
|
|
- [nvim-ide](https://github.com/ldelossa/nvim-ide)
|
|
- [haskell-tools.nvim](https://github.com/mrcjkb/haskell-tools.nvim)
|
|
- [nvim-asciidoc-preview](https://github.com/tigion/nvim-asciidoc-preview)
|
|
- [lsp-lens.nvim](https://github.com/VidocqH/lsp-lens.nvim)
|
|
- [venv-selector.nvim](https://github.com/linux-cultist/venv-selector.nvim)
|
|
- [virtual-types.nvim](https://github.com/jubnzv/virtual-types.nvim)
|
|
- [hover.nvim](https://github.com/lewis6991/hover.nvim)
|
|
- [otter.nvim](https://github.com/jmbuhr/otter.nvim)
|
|
- [nvim-rulebook](https://github.com/chrisgrieser/nvim-rulebook)
|
|
|
|
### Logic
|
|
|
|
- Smooth colorschemes changing (dynamic highlight groups registration via event hooks)
|
|
- [Neorocks](https://github.com/nvim-neorocks) looks cool :)
|
|
|
|
## FAQ
|
|
|
|
### Why not using [mason.nvim](https://github.com/williamboman/mason.nvim)?
|
|
|
|
Most things installed via **mason.nvim** are binaries linked to glibc, which are incompatible to run on the Linux distribution I use - [AlpineLinux](https://alpinelinux.org). I resolved to custom Go program instead. The code is pretty simple and naive, but it works for me.
|
|
|
|
External LSP servers that can't be installed directly from AlpineLinux's repositories, or with simple `cargo/go install` commands, are defined inside [pkgs.yaml](./pkgs.yaml) file.
|