Currently using the version specified in the .tool-versions file.
Using asdf
as the neovim version manager and lazy.nvim as the plugin manager.
Following is executed from this repo's root directory.
Install the plugin
asdf plugin add https://github.com/richin13/asdf-neovim
Install the version in the file
asdf install
Set the version globally
asdf global neovim $(cat .tool-versions | awk '/neovim/ {print $2}')
mason.nvim
will install LSPs, linters & formatters. Some tools are required for it to do so. Other tools are needed to enhance plugin capabilities.
fzf
gcc
orclang
make
node
python3
rg
wget
gh
bat
delta
fd
By default, the following languages and file types will work out of the box
- Bash
- Dockerfile
- JavaScript/TypeScript (+ HTML/CSS)
- JSON
- Lua
- Markdown
- YAML
Below is a list of expandable sections detailing what's needed in order to enable other supported languages
C/C++
Using mason.nvim, you can run the command :MasonInstall clangd clang-format codelldb
.
Or using your system's package manager, install the following and make sure they're on your $PATH
:
clangd
clang-format
codelldb
(debugger, optional)
Go
Using mason.nvim, you can run the command :MasonInstall gopls goimports delve
Or install go using your method of choice. Then you'll need to install the following:
gopls
(language server)
go install golang.org/x/tools/gopls@latest
goimports
(formatter, same asgofmt
but also organizes imports)
go install golang.org/x/tools/cmd/goimports@latest
delve
(debugger, optional)
go install github.com/go-delve/delve/cmd/dlv@latest
Since $GOPATH
should already be on your $PATH
, no more configuration is needed
OCaml
Using mason.nvim, you can run the command :MasonInstall ocaml-lsp ocamlformat
Or using your system's package manager, install opam
. Then run the following commands:
- Initialize internals
opam init
- Install LSP and formatter
opam install -y ocaml-lsp-server ocamlformat
The path to packages should be automatically added to your $PATH
, so no more configuration needed
Rust
Using mason.nvim, you'll just install a debugger (optional). :MasonInstall codelldb
Install rustup
using the method of your choosing. Then run the following commands:
- Add
rust_analyzer
(language server)
rustup component add rust-analyzer
- Add
rustfmt
(formatter)
rustup component add rustfmt
- Add
clippy
(linter)
rustup component add clippy
The rustup
installation should automatically handle updating your $PATH
, so no more configuration needed