summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md70
-rw-r--r--lua/lsp/efm-general-ls.lua19
-rw-r--r--lua/nv-utils/init.lua6
3 files changed, 63 insertions, 32 deletions
diff --git a/README.md b/README.md
index c8dbd146..e54f0ab5 100644
--- a/README.md
+++ b/README.md
@@ -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()'},
}