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 target blocks, missing sources (with name suggestions), duplicate sources, unclosed blocks, unknown transformers, invalid arguments, unused sources, and source 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 target block to its provider, or from a source to all of its consumers.
- References — finds all source, target, and inline blocks sharing the same name.
- Rename — renames a block across all provider and target tags (both opening and closing) in the workspace.
- Document symbols — lists source, target, and inline blocks in the outline/symbol view.
- Code actions — offers a quick-fix to update stale target 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.