diff options
author | Christian Chiarulli <[email protected]> | 2021-03-09 23:55:11 -0500 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-09 23:55:11 -0500 |
commit | 474f961b2a31c0fe8281188150c08cc2849bf4df (patch) | |
tree | 8a25933cd7a63eddbcab05220d702a6ba7c7f2b6 /README.md | |
parent | 56f65b12a446fe05483a23585dd4e3104205b062 (diff) |
Native LSP, more Lua, less CoC
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 122 |
1 files changed, 46 insertions, 76 deletions
@@ -8,55 +8,44 @@ The following will install this config if you have an existing config it will mo This script only supports Mac, Ubuntu and Arch -``` +```bash bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/install.sh) ``` ## Install Neovim -- Mac - - ``` - brew install --HEAD neovim # Nightly version - - brew upgrade neovim --fetch-HEAD # Sometimes you need to update - ``` - -- Ubuntu - - ``` - curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim.appimage -o /tmp/nvim.appimage - - sudo mv /tmp/nvim.appimage /usr/local/bin/nvim +To get the latest and greatest: - chmod +x /usr/local/bin/nvim - ``` - -- Arch +```bash +cd ~ +sudo rm -r neovim +git clone https://github.com/neovim/neovim +cd neovim +sudo make CMAKE_BUILD_TYPE=Release install +cd ~ +sudo rm -r neovim +``` - ``` - yay -S neovim-git # Latest - ``` ## Clone this repo into your config -``` +```bash git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim ``` ## Install python & node support -``` +```bash pip install pynvim ``` -``` +```bash npm i -g neovim ``` ## Install Neovim remote -``` +```bash pip install neovim-remote ``` @@ -72,13 +61,13 @@ export PATH=$HOME/.local/bin:$PATH - Ubuntu - ``` + ```bash sudo apt install xsel ``` - Arch - ``` + ```bash sudo pacman -S xsel ``` @@ -104,56 +93,45 @@ let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-hos - universal-ctags - lazy git - lazy docker +- ninja (for lua lsp) Explanations and installation instruction can be found on my blog ## Language Servers -Since CoC doesn't support all languages in there extensions -I recommend installing some language servers from scratch -and adding them to your `coc-settings.json` file +Some example language servers, if you just install them they will work with this config -Example: - -- bash +```bash +npm i -g pyright +npm i -g bash-language-server +npm install -g vscode-css-languageserver-bin +npm install -g dockerfile-language-server-nodejs +npm install -g graphql-language-service-cli +npm install -g vscode-html-languageserver-bin +npm install -g typescript typescript-language-server +npm install -g vscode-json-languageserver +npm install -g vim-language-server +npm install -g yaml-language-server +``` - `npm i -g bash-language-server` +Go [here](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md) - ``` - "languageserver": { - "bash": { - "command": "bash-language-server", - "args": ["start"], - "filetypes": ["sh"], - "ignoredRootPaths": ["~"] - } - } - ``` +How to install the lua language server: [link](https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone)) ## For FAR to work -``` +```vim :UpdateRemotePlugins ``` To replace in file make sure to specify `%:p` To replace across project specify `**/*.<your_extension>` -## TabNine - -To use TabNine enter the following in a buffer: - -``` -TabNine::config -``` - -**NOTE** This extension can take up a ton of memory - ## Vim Gists To use **vim-gists** you will need to configure the following: -``` +```bash git config --global github.user <username> ``` @@ -165,19 +143,19 @@ You can install it on multiple platforms: - Mac - ``` + ```bash brew cask install vscodium ``` - Arch - ``` + ```bash yay -s vscodium-bin ``` - Snap - ``` + ```bash snap install codium ``` @@ -191,35 +169,27 @@ Along with some of my config files you can find in `utils/vscode_config` - Better Documentation https://github.com/gennaro-tedesco/nvim-jqx - https://github.com/nathunsmitty/nvim-ale-diagnostic + https://github.com/mattn/efm-langserver - https://github.com/windwp/nvim-ts-closetag + https://github.com/nvim-telescope/telescope-media-files.nvim - https://github.com/kosayoda/nvim-lightbulb - https://github.com/ms-jpq/chadtree + https://github.com/b3nj5m1n/kommentary - https://github.com/glepnir/lspsaga.nvim - https://github.com/nvim-lua/completion-nvim - https://github.com/nvim-telescope/telescope-frecency.nvim -## CoC extensions to check out + https://github.com/nvim-lua/completion-nvim -- coc-fzf-preview - - https://github.com/yuki-ycino/fzf-preview.vim/ -- coc-floaterm + https://github.com/nvim-telescope/telescope-frecency.nvim ## 0.5 -- native lsp -- treesitter +- native lsp (in progress) +- treesitter (in progress) ## LOW PRIORITY TODO If anyone reading this has any suggestions about implementing any of the following I will accept a PR, but these are not priority. -- ale - multiple cursors -- markdown table - galaxyline automatically grab colors from colorscheme - tpope/vim-dadbod - neovide @@ -227,6 +197,6 @@ If anyone reading this has any suggestions about implementing any of the followi - vimspector this is included but I don't plan on using it much - can be used with jdb, pdb, gdb, etc... - nvim-dap and nvim-dap-virtual-text (ALL DEBUGGING IN NEOVIM IS CONFUSING AND HARD TO GET WORKING OR I'M JUST DUMB) -- later manually link pylance +- potentially manually link pylance - resize with arrows in addition to meta - how to support meta key on for macOS? |