diff options
| author | Chris <[email protected]> | 2021-03-20 17:22:44 -0400 | 
|---|---|---|
| committer | Chris <[email protected]> | 2021-03-20 17:22:44 -0400 | 
| commit | 896f0e456c6e2f60dffc1d06009fefd90147208b (patch) | |
| tree | 703862fd982f5fd74c0ee5f52abb31f39146669e | |
| parent | 0ae61fee049eba7d99df623631c5e2d0a0982f4d (diff) | |
update formatters
| -rw-r--r-- | README.md | 70 | ||||
| -rw-r--r-- | lua/lsp/efm-general-ls.lua | 19 | ||||
| -rw-r--r-- | lua/nv-utils/init.lua | 6 | 
3 files changed, 63 insertions, 32 deletions
| @@ -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 diff --git a/lua/lsp/efm-general-ls.lua b/lua/lsp/efm-general-ls.lua index faac9f4d..f9eac7ac 100644 --- a/lua/lsp/efm-general-ls.lua +++ b/lua/lsp/efm-general-ls.lua @@ -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 diff --git a/lua/nv-utils/init.lua b/lua/nv-utils/init.lua index 901a1a71..59388093 100644 --- a/lua/nv-utils/init.lua +++ b/lua/nv-utils/init.lua @@ -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()'},      } | 
