Get editor diagnostics (LSP)¶
dddlint ships a Language Server that publishes diagnostics as you work and offers a one-click rename from an alias to its canonical term.

How the server behaves¶
- It publishes diagnostics on file open and file save.
- Each run scans the entire workspace, so cross-file drift is always caught — not just the open file.
- Alias findings carry a code action that renames
the identifier to the canonical term with case preserved
(
ClientRepo→CustomerRepo,get_client→get_customer).
The command to launch it over stdio is:
Neovim¶
Attach the server on any buffer inside a project that has a dddlint.yaml. No
filetype list needed — it is language-agnostic.
init.lua
vim.api.nvim_create_autocmd("BufReadPost", {
callback = function(args)
local root = vim.fs.root(args.buf, { "dddlint.yaml" })
if root then
vim.lsp.start({
name = "dddlint",
cmd = { "dddlint", "lsp" },
root_dir = root,
}, { bufnr = args.buf })
end
end,
})
VS Code¶
Use a generic LSP client extension and point it at dddlint lsp for all
filetypes:
settings.json
{
"lsp.servers": {
"dddlint": {
"command": ["uvx", "dddlint", "lsp"],
"filetypes": ["*"]
}
}
}