- Make sure your shell is
zsh
see this guide - install required tools
- MANDATORY
- General
- Mac only
- Xcode: https://developer.apple.com/xcode
- Xcode command line utilities:
xcode-select --install
- Rosetta(for Apple M chip users):
softwareupdate --install-rosetta
- Homebrew: https://docs.brew.sh/Installation
- OPTIONAL
- MANDATORY
- clone this repository at $HOME path (IMPORTANT)
- init git submodule:
git submodule update --init --recursive
- create symlink at
$HOME/.zshrc
pointing to$HOME/zambelz-mac-configs/zsh/.zshrc
- source your
.zshrc
or restart the terminal
$ zconf zsh
note: you can source your .zshrc or restart the terminal after executin above command
# NPM Module
$ npm install -g neovim
# Python Module
$ pip install neovim
# Ruby Module
$ gem install neovim
Prerequisites:
You have to install rust first (https://www.rust-lang.org/tools/install)
- Rust Language Server => rust-analyzer (https://rust-analyzer.github.io/manual.html#installation)
## Command:
$ rustup component add rust-src
$ rustup component add rust-analyzer
Prerequisites:
You have to install rust first (https://www.rust-lang.org/tools/install)
- Rust Language Server => rust-analyzer
## Command:
$ cargo install rust-analyzer
- CMake => neocmakelsp (https://github.com/Decodetalkers/neocmakelsp)
## Command:
$ cargo install neocmakelsp
- DOCKERCOMPOSE => @microsoft/compose-language-service
- BASH => bash-language-server
- DOCKERFILE => dockerfile-language-server-nodejs
- VIM => vim-language-server
- HTML, CSS, etc => vscode-langservers-extracted
- YAML => yaml-language-server
- TAILWINDCSS => @tailwindcss/language-server
## Command:
$ npm install -g @microsoft/compose-language-service \
bash-language-server \
dockerfile-language-server-nodejs \
vim-language-server \
vscode-langservers-extracted \
yaml-language-server \
@tailwindcss/language-server \
graphql-language-service-cli \
@prisma/language-server \
@ansible/ansible-language-server
### Notes:
- install ansible-lint for ansible lsp: https://ansible.readthedocs.io/projects/lint/installing/#installing-the-latest-version
- PYTHON Language Server => pyright (https://microsoft.github.io/pyright)
## Command:
$ pip install pyright
- gopls => go language server (https://github.com/golang/tools/tree/master/gopls#gopls-the-go-language-server)
## Command:
$ go install golang.org/x/tools/gopls@latest
## Notes:
- Make sure GOPATH already registered on your shell
- solargraph => solargraph (https://solargraph.org)
## Command:
$ gem install solargraph
## Notes:
$ Make sure ruby version is >= 2.7.0
# Setup "omnisharp" (C# Language Server)
prerequisites: .NET SDK
1. create 'omnisharp' dir
- cmd: mkdir neovim/.lsp_vendors/omnisharp
2. download omnisharp-roslyn here: https://github.com/OmniSharp/omnisharp-roslyn/releases
3. extract content of omnisharp-roslyn in neovim/.lsp_vendors/omnisharp
4. enforce https: https://learn.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-8.0&tabs=visual-studio%2Clinux-rhel#trust-the-aspnet-core-https-development-certificate-on-windows-and-macos
# Setup "jdtls" (Java Language Server)
prerequisites: java 21+ (MANDATORY)
see here for updated JDTLS version: https://download.eclipse.org/jdtls/milestones/?d
source: https://github.com/mfussenegger/nvim-jdtls
1. Download jdtls
- cmd: curl -o neovim/.lsp_vendors/jdt-language-server-1.34.0-202404031240.tar.gz https://download.eclipse.org/jdtls/milestones/1.34.0/jdt-language-server-1.34.0-202404031240.tar.gz
2. Create "jdtls" dir
- cmd: mkdir neovim/.lsp_vendors/jdtls
3. Unzip to specified location
- cmd: tar xf neovim/.lsp_vendors/jdt-language-server-1.34.0-202404031240.tar.gz --directory=neovim/.lsp_vendors/jdtls
4. create workspace_data dir
- cmd: mkdir neovim/.lsp_vendors/jdtls/project_data
5. create new file `neovim/.lsp_vendors/jdtls/config/intellij-java-google-style.xml` and copy the content from: https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml
# Setup "vscode-gradle"
1. go to neovim/.lsp_vendors/vscode-gradle
2. execute: ./gradlew installDist
# Setup "kotlin-language-server"
1. Make sure your java version is Java 11
2. go to neovim/.lsp_vendors/kotlin-language-server
3. execute: ./gradlew :server:installDist
# Setup "lua-language-server"
1. make sure [ninja](https://ninja-build.org/) is installed
2. go to neovim/.lsp_vendors/lua-language-server
3. execute: ./make.sh
# Setup "lemminx" (xml language server)
1. download the binary here: https://github.com/redhat-developer/vscode-xml/releases
2. save the binary to the path: `neovim/.lsp_vendors/xml-lsp/lemminx`
3. register the binary in PATH
# Setup "terraform-ls" (terraform language server)
1. go to: https://github.com/hashicorp/terraform-ls
1. download latest release of vscode-codelldb (.vsix) here: https://github.com/vadimcn/codelldb/releases
2. unzip to: `neovim/.dap/vscode-codelldb`
# To add debug config
- Create launch.json file inside `.vscode` in your root project
$ zconf neovim
- open neovim
- execute this command:
:PackerInstall
$ zconf tmux
- open tmux mode
- press
Ctrl + B
andshift + I
to install tmux plugins