update formatters

This commit is contained in:
Chris 2021-03-20 17:22:44 -04:00
parent 0ae61fee04
commit 896f0e456c
3 changed files with 63 additions and 32 deletions

View file

@ -1,10 +1,11 @@
# NVCode
If you are looking for my old configs checkout the two snapshot branches on this repo, there is one for CoC and one for Native LSP
If you are looking for my old configs checkout the two snapshot branches
on this repo, there is one for CoC and one for Native LSP
## Get the latest version of Neovim
## Get the latest version of Neovim
```bash
``` bash
cd ~
sudo rm -r neovim
git clone https://github.com/neovim/neovim
@ -16,17 +17,18 @@ sudo rm -r neovim
## VSCode support
After installing the [Neovim extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
After installing the [Neovim
extension](https://github.com/asvetliakov/vscode-neovim) in VSCode
I recommend using this alongside the VSCode which-key extension
Along with some of my config files you can find in utils/vscode_config
Along with some of my config files you can find in utils/vscode\_config
Point the nvim path to your `nvim` binary
Point your `init.lua` path to:
```vim
``` vim
$HOME/.config/nvim/lua/nv-vscode/init.lua
```
@ -36,21 +38,22 @@ $HOME/.config/nvim/lua/nv-vscode/init.lua
- Ubuntu
```bash
```bash
sudo apt install xsel
```
```
- Arch
```bash
```bash
sudo pacman -S xsel
```
```
## LSP
Some example language servers, if you just install them they will work with this config
Some example language servers, if you just install them they will work
with this config
```bash
``` bash
npm i -g pyright
npm i -g bash-language-server
npm install -g vscode-css-languageserver-bin
@ -61,23 +64,23 @@ 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 install markdownlint --save-dev
```
For a more in depth LSP support: [link](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)
For a more in depth LSP support:
[link](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)
## efm server is slow on close
Install the latest with:
```bash
``` bash
go get github.com/mattn/efm-langserver@HEAD
```
## Useful Programs
```bash
``` bash
ranger
ueberzug
fd
@ -93,7 +96,7 @@ neovim-remote
**Python**
```bash
``` bash
pyright
flake8
yapf
@ -101,7 +104,7 @@ yapf
**Lua**
```bash
``` bash
ninja
lua-format
sumneko-lua
@ -109,26 +112,33 @@ sumneko-lua
**Yaml, Json, Javascript, HTML, CSS**
```bash
``` bash
prettier
```
**Markdown**
``` bash
pandoc
```
## Vim Gists
To use vim-gists you will need to configure the following:
```bash
``` bash
git config --global github.user <username>
```
## Snippets
If you are looking for snippets checkout this github topic: [Snippet Topic](https://github.com/topics/vscode-snippets)
If you are looking for snippets checkout this github topic: [Snippet
Topic](https://github.com/topics/vscode-snippets)
## TODO
**HIGH PRIORITY**
- learn nvim-dap in depth
- add utf8 line col and spaces (maybe blame)
- potentially switch to dashboard
@ -136,12 +146,15 @@ If you are looking for snippets checkout this github topic: [Snippet Topic](http
- learn what opt is
**LOW PRIORITY**
- Implement what I can from this java config: [link](https://github.com/mfussenegger/nvim-jdtls/wiki/Sample-Configurations)
- better ui for code actions
- formatting
- setup junit tests for java
- Implement what I can from this java config:
[link](https://github.com/mfussenegger/nvim-jdtls/wiki/Sample-Configurations)
- better ui for code actions - formatting
- setup junit tests for java
- neovim lightbulb config
- better autoimport
- can' find global bianry for markdownlint
- spell not activated in readme Markdown
- list all binaries needed for functionality
- keep and eye on indent guides plugin for thin lines
- look into autoinstall lsp
@ -149,6 +162,7 @@ If you are looking for snippets checkout this github topic: [Snippet Topic](http
- get logo
- configure neogit
- toggle virtual text diagnostics
- move language servers not installed with npm to neovim local share location
- move language servers not installed with npm to neovim local share
location
- json config file (luajson)
- better install script, support both nvim and nvcode paths

View file

@ -36,12 +36,25 @@ local shfmt = {
formatStdin = true
}
local markdownlint = {
-- TODO default to global lintrc
-- lintcommand = 'markdownlint -s -c ./markdownlintrc',
lintCommand = 'markdownlint -s',
lintStdin = true,
lintFormats = { '%f:%l %m', '%f:%l:%c %m', '%f: %l: %m' }
}
local markdownPandocFormat = {
formatCommand = 'pandoc -f markdown -t gfm -sp --tab-stop=2',
formatStdin = true
}
require"lspconfig".efm.setup {
-- init_options = {initializationOptions},
init_options = {documentFormatting = true, codeAction = false},
filetypes = {"lua", "python", "javascriptreact", "javascript", "sh", "html", "css", "json", "yaml"},
filetypes = {"lua", "python", "javascriptreact", "javascript", "sh", "html", "css", "json", "yaml", "markdown"},
settings = {
rootMarkers = {".git/"},
languages = {
@ -54,11 +67,11 @@ require"lspconfig".efm.setup {
css = {prettier},
json = {prettier},
yaml = {prettier_yaml},
-- markdown = {markdownPandocFormat, markdownlint},
markdown = {markdownPandocFormat},
}
}
}
-- TODO turn these eslint and prettier examples into something good
-- TODO also shellcheck and shell formatting
-- Also find way to toggle format on save
-- maybe this will help: https://superuser.com/questions/439078/how-to-disable-autocmd-or-augroup-in-vim

View file

@ -32,7 +32,11 @@ nv_utils.define_augroups({
{'FileType', 'java', 'luafile ~/.config/nvim/lua/lsp/java-ls.lua'},
{'FileType', 'java', 'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'},
{'FileType', 'java', 'nnoremap ca <Cmd>lua require(\'jdtls\').code_action()<CR>'},
{'FileType', 'markdown', 'set wrap'}
{'FileType', 'markdown', 'setlocal wrap'},
-- {'BufWinEnter', '.sol', 'setlocal filetype=solidity'},
{'BufRead', '*.sol', 'setlocal filetype=solidity'},
{'BufNewFile', '*.sol', 'setlocal filetype=solidity'}
-- autocmd! BufRead,BufNewFile *.{jsx,jx,js} setlocal filetype=javascript.jsx
-- {'User', 'GoyoLeave', 'lua require(\'galaxyline\').disable_galaxyline()'},
-- {'User', 'GoyoEnter', 'lua require(\'galaxyline\').galaxyline_augroup()'},
}