A language Server for the DOT language/Graphviz.
Prerequisites
- Node.js
>=22 npm
Installation
npm i -g dot-language-server
If you want to request or implement new features, head over to dot-language-support.
Features
Refactorings
Usage
Vim
coc.nvim
{
"languageserver": {
"dot": {
"command": "dot-language-server",
"args": ["--stdio"],
"filetypes": ["dot"]
}
}
}vim-lsp
if executable('dot-language-server') augroup lsp autocmd! autocmd User lsp_setup call lsp#register_server({ \ 'name': 'dot', \ 'cmd': {server_info->['dot-language-server', '--stdio']}, \ 'whitelist': ['dot'], \ }) augroup END endif
Neovim
vim.api.nvim_create_autocmd({ "BufEnter" }, { pattern = { "*.dot" }, callback = function() vim.lsp.start({ name = "dot", cmd = { "dot-language-server", "--stdio" } }) end, })
Visual Studio Code
TODO: There's an Extension for that.
Sublime Text
- Install LSP support via
Install Package->LSP - Go to
Preferences: LSP Settings - Add this to clients:
{
"clients": {
"dot-language-server": {
"command": ["dot-language-server", "--stdio"],
"enabled": true,
"languageId": "dot",
"scopes": ["source.dot"],
"syntaxes": ["Packages/Graphviz/DOT.sublime-syntax"]
}
}
}Note for Windows Users: You have to append .cmd to the first entry in the command array (or, if possible, enable shell execution).
Emacs
For Emacs users, you need to use lsp-mode which supports the DOT Language Server out of the box.
...and you're done!
