declint for Neovim: one small
plugin that attaches the built-in LSP client to the declint language
server. Diagnostics and quickfixes from your .declint.yaml rules, as
you type.
lazy.nvim
{
'thyrgle/declint.nvim',
config = function()
require('declint').setup()
end,
}
Neovim's native package manager (no plugin manager needed)
vim.pack.add({ 'https://github.com/thyrgle/declint.nvim' })
require('declint').setup()
Classic :packadd
git clone https://github.com/thyrgle/declint.nvim \
~/.local/share/nvim/site/pack/vendor/start/declint.nvim
-- init.lua
require('declint').setup()
Prerequisite: the declint binary (once: cargo install declint), and
a config site in your project (.declint.yaml, .declint/, or
declint.yaml — declint init --lang python scaffolds one).
require('declint').setup({ ... }) takes overrides merged over these
defaults:
{
filetypes = { 'python', 'javascript', 'html', 'vue', 'svelte', 'erb',
'handlebars', 'ini', 'markdown', 'json', 'toml', 'yaml',
'sh', 'dockerfile' },
cmd = { 'declint', 'serve' },
markers = { '.declint.yaml', '.declint', 'declint.yaml' },
}
filetypes — which buffers attach the linter. Match your declint
configs' languages keys.cmd — the server command; point it at an absolute declint binary
if it isn't on PATH.markers — files/directories that identify a project root.On each FileType event, the plugin walks up from the file looking for
a config-site marker. Found: one declint serve client starts per
project root and attaches every matching buffer in it. Not found: the
buffer just doesn't get a declint client — no noise.
:set ft? — the plugin attaches on the filetypes in setup(). Neovim
detects .ini as conf, for example, so either add conf to
filetypes or :set filetype=ini in a modeline/autocmd.:LspInfo (or :checkhealth vim.lsp) — if
no client is listed, no config site was found above the file. Run
declint check . in the project to confirm the config itself works.languages keys and the buffer's filetype must intersect — the
server only publishes configs whose languages match.Lua
100.0%
declint for Neovim: one small
plugin that attaches the built-in LSP client to the declint language
server. Diagnostics and quickfixes from your .declint.yaml rules, as
you type.
lazy.nvim
{
'thyrgle/declint.nvim',
config = function()
require('declint').setup()
end,
}
Neovim's native package manager (no plugin manager needed)
vim.pack.add({ 'https://github.com/thyrgle/declint.nvim' })
require('declint').setup()
Classic :packadd
git clone https://github.com/thyrgle/declint.nvim \
~/.local/share/nvim/site/pack/vendor/start/declint.nvim
-- init.lua
require('declint').setup()
Prerequisite: the declint binary (once: cargo install declint), and
a config site in your project (.declint.yaml, .declint/, or
declint.yaml — declint init --lang python scaffolds one).
require('declint').setup({ ... }) takes overrides merged over these
defaults:
{
filetypes = { 'python', 'javascript', 'html', 'vue', 'svelte', 'erb',
'handlebars', 'ini', 'markdown', 'json', 'toml', 'yaml',
'sh', 'dockerfile' },
cmd = { 'declint', 'serve' },
markers = { '.declint.yaml', '.declint', 'declint.yaml' },
}
filetypes — which buffers attach the linter. Match your declint
configs' languages keys.cmd — the server command; point it at an absolute declint binary
if it isn't on PATH.markers — files/directories that identify a project root.On each FileType event, the plugin walks up from the file looking for
a config-site marker. Found: one declint serve client starts per
project root and attaches every matching buffer in it. Not found: the
buffer just doesn't get a declint client — no noise.
:set ft? — the plugin attaches on the filetypes in setup(). Neovim
detects .ini as conf, for example, so either add conf to
filetypes or :set filetype=ini in a modeline/autocmd.:LspInfo (or :checkhealth vim.lsp) — if
no client is listed, no config site was found above the file. Run
declint check . in the project to confirm the config itself works.languages keys and the buffer's filetype must intersect — the
server only publishes configs whose languages match.Lua
100.0%