mirror of
https://git.disroot.org/FollieHiyuki/dotfiles.git
synced 2024-11-24 16:28:22 -05:00
neovim: replace nvim-lint + neoformat with null-ls.nvim
Also update config for jsonls and yamlls.
This commit is contained in:
parent
2248faa795
commit
4508f2a819
@ -1,4 +1,3 @@
|
|||||||
-- TODO: add other highlight groups from nord.vim
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
M.colors = {
|
M.colors = {
|
||||||
|
@ -77,6 +77,11 @@ function M.lsp_conf()
|
|||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
filetypes = {'c', 'cpp'},
|
filetypes = {'c', 'cpp'},
|
||||||
|
init_options = {
|
||||||
|
usePlaceholders = true,
|
||||||
|
completeUnimported = true,
|
||||||
|
clangdFileStatus = true
|
||||||
|
},
|
||||||
cmd = {
|
cmd = {
|
||||||
'clangd',
|
'clangd',
|
||||||
'-j=2',
|
'-j=2',
|
||||||
@ -154,15 +159,23 @@ function M.lsp_conf()
|
|||||||
}
|
}
|
||||||
|
|
||||||
-- Yaml
|
-- Yaml
|
||||||
-- lspconf.yamlls.setup {
|
lspconf.yamlls.setup {
|
||||||
-- on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
-- capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
-- cmd = {servers_path .. '/yamlls/node_modules/.bin/yaml-language-server', '--stdio'},
|
cmd = {servers_path .. '/yamlls/node_modules/.bin/yaml-language-server', '--stdio'},
|
||||||
-- settings = {
|
settings = {
|
||||||
-- redhat = {telemetry = {enabled = false}},
|
redhat = {telemetry = {enabled = false}},
|
||||||
-- yaml = {format = {bracketSpacing = true}}
|
yaml = {
|
||||||
-- }
|
format = {
|
||||||
-- }
|
bracketSpacing = true,
|
||||||
|
printWidth = 80,
|
||||||
|
-- proseWrap = 'always', -- default is 'preserve'
|
||||||
|
-- singleQuote = true,
|
||||||
|
-- editor.formatOnType = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
-- Tailwind
|
-- Tailwind
|
||||||
-- lspconf.tailwindcss.setup {
|
-- lspconf.tailwindcss.setup {
|
||||||
@ -199,6 +212,56 @@ function M.lsp_conf()
|
|||||||
filetypes = {'html', 'markdown'}
|
filetypes = {'html', 'markdown'}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- JSON
|
||||||
|
lspconf.jsonls.setup {
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
cmd = {servers_path .. '/vscode/node_modules/.bin/vscode-json-language-server', '--stdio'},
|
||||||
|
settings = {
|
||||||
|
json = {
|
||||||
|
-- Schema catalog: https://www.schemastore.org/api/json/catalog.json
|
||||||
|
schemas = {
|
||||||
|
{
|
||||||
|
fileMatch = {'package.json'},
|
||||||
|
url = 'https://json.schemastore.org/package.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {'tsconfig*.json'},
|
||||||
|
url = 'https://json.schemastore.org/tsconfig.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {
|
||||||
|
'.prettierrc', '.prettierrc.json',
|
||||||
|
'prettier.config.json'
|
||||||
|
},
|
||||||
|
url = 'https://json.schemastore.org/prettierrc.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {'.eslintrc', '.eslintrc.json'},
|
||||||
|
url = 'https://json.schemastore.org/eslintrc.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {
|
||||||
|
'.babelrc', '.babelrc.json', 'babel.config.json'
|
||||||
|
},
|
||||||
|
url = 'https://json.schemastore.org/babelrc.json'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
fileMatch = {'lerna.json'},
|
||||||
|
url = 'https://json.schemastore.org/lerna.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {'now.json', 'vercel.json'},
|
||||||
|
url = 'https://json.schemastore.org/now.json'
|
||||||
|
}, {
|
||||||
|
fileMatch = {
|
||||||
|
'.stylelintrc', '.stylelintrc.json',
|
||||||
|
'stylelint.config.json'
|
||||||
|
},
|
||||||
|
url = 'http://json.schemastore.org/stylelintrc.json'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- TODO: efm-langserver
|
||||||
|
|
||||||
-- Others
|
-- Others
|
||||||
local servers = {
|
local servers = {
|
||||||
rust_analyzer = {'rust-analyzer'},
|
rust_analyzer = {'rust-analyzer'},
|
||||||
@ -206,7 +269,6 @@ function M.lsp_conf()
|
|||||||
cmake = {servers_path .. '/cmake/venv/bin/cmake-language-server'},
|
cmake = {servers_path .. '/cmake/venv/bin/cmake-language-server'},
|
||||||
bashls = {servers_path .. '/bashls/node_modules/.bin/bash-language-server', 'start'},
|
bashls = {servers_path .. '/bashls/node_modules/.bin/bash-language-server', 'start'},
|
||||||
dockerls = {servers_path .. '/dockerls/node_modules/.bin/docker-langserver', '--stdio'},
|
dockerls = {servers_path .. '/dockerls/node_modules/.bin/docker-langserver', '--stdio'},
|
||||||
jsonls = {servers_path .. '/vscode/node_modules/.bin/vscode-json-language-server', '--stdio'},
|
|
||||||
cssls = {servers_path .. '/vscode/node_modules/.bin/vscode-css-language-server', '--stdio'},
|
cssls = {servers_path .. '/vscode/node_modules/.bin/vscode-css-language-server', '--stdio'},
|
||||||
pyright = {servers_path .. '/pyright/node_modules/.bin/pyright-langserver', '--stdio'},
|
pyright = {servers_path .. '/pyright/node_modules/.bin/pyright-langserver', '--stdio'},
|
||||||
-- vimls = {servers_path .. '/vimls/node_modules/.bin/vim-language-server', '--stdio'},
|
-- vimls = {servers_path .. '/vimls/node_modules/.bin/vim-language-server', '--stdio'},
|
||||||
@ -312,28 +374,7 @@ function M.outline_conf()
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.lint_conf()
|
function M.null_ls_conf()
|
||||||
require('lint').linters_by_ft = {
|
|
||||||
markdown = {'vale', 'markdownlint', 'languagetool'},
|
|
||||||
tex = {'vale', 'languagetool'},
|
|
||||||
vim = {'vint'},
|
|
||||||
-- lua = {'luacheck'},
|
|
||||||
c = {'clangtidy', 'cppcheck'},
|
|
||||||
cpp = {'clangtidy', 'clazy', 'cppcheck'},
|
|
||||||
python = {'pylint', 'flake8', 'pycodestyle'},
|
|
||||||
go = {'revive', 'golangcilint'},
|
|
||||||
sh = {'shellcheck'},
|
|
||||||
bash = {'shellcheck'},
|
|
||||||
zsh = {'shellcheck'},
|
|
||||||
html = {'tidy', 'stylelint'},
|
|
||||||
css = {'stylelint'},
|
|
||||||
scss = {'stylelint'},
|
|
||||||
sass = {'stylelint'},
|
|
||||||
javascript = {'eslint', 'stylelint'}
|
|
||||||
}
|
|
||||||
-- TODO: custom cmds for linters installed with pip (using virtualenv)
|
|
||||||
-- vint, pylint, flake8, pycodestyle, codespell
|
|
||||||
vim.api.nvim_command [[ au BufRead,BufWritePost * lua require('lint').try_lint() ]]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function M.dap_conf()
|
function M.dap_conf()
|
||||||
|
@ -60,7 +60,7 @@ return packer.startup(function(use)
|
|||||||
}
|
}
|
||||||
use {
|
use {
|
||||||
'RRethy/vim-illuminate',
|
'RRethy/vim-illuminate',
|
||||||
event = {'BufReadPre', 'BufNewFile'}
|
event = 'CursorHold'
|
||||||
}
|
}
|
||||||
use {
|
use {
|
||||||
'lukas-reineke/indent-blankline.nvim',
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
@ -174,10 +174,11 @@ return packer.startup(function(use)
|
|||||||
cmd = {'SymbolsOutline', 'SymbolsOutlineOpen'},
|
cmd = {'SymbolsOutline', 'SymbolsOutlineOpen'},
|
||||||
setup = lsp.outline_conf
|
setup = lsp.outline_conf
|
||||||
}
|
}
|
||||||
use { -- TODO: scripts to install/update linters
|
use { -- TODO: config, scripts to install formaters, linters
|
||||||
'mfussenegger/nvim-lint',
|
'jose-elias-alvarez/null-ls.nvim',
|
||||||
event = 'BufRead',
|
wants = 'plenary.nvim',
|
||||||
config = lsp.lint_conf
|
after = 'nvim-lspconfig',
|
||||||
|
config = lsp.null_ls_conf
|
||||||
}
|
}
|
||||||
use { -- TODO: config, scripts to install/update dap servers
|
use { -- TODO: config, scripts to install/update dap servers
|
||||||
'rcarriga/nvim-dap-ui',
|
'rcarriga/nvim-dap-ui',
|
||||||
@ -279,6 +280,10 @@ return packer.startup(function(use)
|
|||||||
wants = {'diffview.nvim', 'plenary.nvim'},
|
wants = {'diffview.nvim', 'plenary.nvim'},
|
||||||
requires = {{
|
requires = {{
|
||||||
'sindrets/diffview.nvim',
|
'sindrets/diffview.nvim',
|
||||||
|
cmd = {
|
||||||
|
'DiffviewOpen','DiffviewClose',
|
||||||
|
'DiffviewToggleFiles', 'DiffviewFocusFiles'
|
||||||
|
},
|
||||||
config = tools.diffview_conf,
|
config = tools.diffview_conf,
|
||||||
opt = true
|
opt = true
|
||||||
}},
|
}},
|
||||||
@ -363,7 +368,7 @@ return packer.startup(function(use)
|
|||||||
}
|
}
|
||||||
use {
|
use {
|
||||||
'michaelb/sniprun',
|
'michaelb/sniprun',
|
||||||
run = 'bash ./install.sh 1',
|
run = 'cargo build --release',
|
||||||
cmd = 'SnipRun',
|
cmd = 'SnipRun',
|
||||||
config = tools.sniprun_conf
|
config = tools.sniprun_conf
|
||||||
}
|
}
|
||||||
@ -371,13 +376,9 @@ return packer.startup(function(use)
|
|||||||
'NTBBloodbath/rest.nvim',
|
'NTBBloodbath/rest.nvim',
|
||||||
keys = {'<Plug>RestNvim', '<Plug>RestNvimPreview', '<Plug>RestNvimLast'},
|
keys = {'<Plug>RestNvim', '<Plug>RestNvimPreview', '<Plug>RestNvimLast'},
|
||||||
wants = {'plenary.nvim', 'nvim-treesitter'},
|
wants = {'plenary.nvim', 'nvim-treesitter'},
|
||||||
run = ':TSInstall http',
|
-- run = ':TSInstall http',
|
||||||
config = tools.rest_conf
|
config = tools.rest_conf
|
||||||
}
|
}
|
||||||
use { -- TODO: move to formater.nvim
|
|
||||||
'sbdchd/neoformat',
|
|
||||||
cmd = 'Neoformat'
|
|
||||||
}
|
|
||||||
use {
|
use {
|
||||||
'folke/persistence.nvim',
|
'folke/persistence.nvim',
|
||||||
event = 'BufEnter',
|
event = 'BufEnter',
|
||||||
|
12
home/.config/nvim/scripts/lsp/efm
Executable file
12
home/.config/nvim/scripts/lsp/efm
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
current_path="$PWD"
|
||||||
|
server_path="${XDG_DATA_HOME:-$HOME/.local/share}/nvim/lsp/efm"
|
||||||
|
|
||||||
|
[ ! -d "${server_path}" ] && mkdir -p "${server_path}"
|
||||||
|
cd ${server_path}
|
||||||
|
|
||||||
|
GOPATH="${server_path}" GOBIN="${server_path}" go install github.com/mattn/efm-langserver@latest
|
||||||
|
GOPATH="${server_path}" GOBIN="${server_path}" go clean -modcache
|
||||||
|
|
||||||
|
cd ${current_path}
|
Loading…
Reference in New Issue
Block a user