Expand description
mdt_lsp is a Language Server Protocol implementation for the mdt template engine. It provides real-time editor integration for managing markdown template blocks.
§Capabilities
- Diagnostics — reports stale consumer blocks, missing providers (with name suggestions), duplicate providers, unclosed blocks, unknown transformers, invalid arguments, unused providers, and provider blocks in non-template files.
- Completions — suggests block names after
{=,{~,{@, and{/tags, and transformer names after|. - Hover — shows provider source, rendered content, transformer chain, and consumer count when hovering over a block tag.
- Go to definition — navigates from a consumer block to its provider, or from a provider to all of its consumers.
- References — finds all provider, consumer, and inline blocks sharing the same name.
- Rename — renames a block across all provider and consumer tags (both opening and closing) in the workspace.
- Document symbols — lists provider, consumer, and inline blocks in the outline/symbol view.
- Code actions — offers a quick-fix to update stale consumer blocks in place.
§Usage
Start the language server via the CLI:
mdt lspThe server communicates over stdin/stdout using the Language Server Protocol.
Structs§
- MdtLanguage
Server - The MDT language server.
Functions§
- run_
server - Start the LSP server on stdin/stdout. This is used by both the standalone
mdt-lspbinary and themdt lspCLI subcommand.