Skip to main content

Crate mdt_lsp

Crate mdt_lsp 

Source
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 lsp

The server communicates over stdin/stdout using the Language Server Protocol.

Structs§

MdtLanguageServer
The MDT language server.

Functions§

run_server
Start the LSP server on stdin/stdout. This is used by both the standalone mdt-lsp binary and the mdt lsp CLI subcommand.