Skip to content

Commit

Permalink
Native LSP, more Lua, less CoC
Browse files Browse the repository at this point in the history
  • Loading branch information
Christian Chiarulli authored Mar 10, 2021
1 parent 56f65b1 commit 474f961
Show file tree
Hide file tree
Showing 39 changed files with 906 additions and 671 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ session
wiki/
pack/
utils/java/*
lua-language-server/

122 changes: 46 additions & 76 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand All @@ -72,13 +61,13 @@ export PATH=$HOME/.local/bin:$PATH

- Ubuntu

```
```bash
sudo apt install xsel
```

- Arch

```
```bash
sudo pacman -S xsel
```

Expand All @@ -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>
```

Expand All @@ -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
```

Expand All @@ -191,42 +169,34 @@ 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
- People asked about vimwiki I kinda hate it but maybe I'll add it
- 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?
155 changes: 0 additions & 155 deletions coc-settings.json

This file was deleted.

Loading

0 comments on commit 474f961

Please sign in to comment.