Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capabilities

The MDL language server supports the following LSP capabilities.

Supported Methods

LSP MethodFeatureNotes
textDocument/publishDiagnosticsParse and semantic error reportingPush-based; parse on change, semantic on save
textDocument/completionCode completionKeywords, snippets, and project references
textDocument/hoverHover documentationMDL definitions for qualified names
textDocument/definitionGo-to-definitionOpens element source as virtual document
textDocument/documentSymbolDocument outlineAll MDL statements in the file
textDocument/foldingRangeCode foldingStatement blocks, widget trees, comments

Document Synchronization

MethodSupported
textDocument/didOpenYes
textDocument/didChangeYes (full sync)
textDocument/didSaveYes
textDocument/didCloseYes

Completion Details

Trigger characters: . and (space).

Completion items include:

  • KeywordsCREATE, SHOW, DESCRIBE, ALTER, DROP, GRANT, etc.
  • Keyword sequencesPERSISTENT ENTITY, MODULE ROLE, USER ROLE
  • Data typesString, Integer, Boolean, DateTime, Decimal, etc.
  • Snippets – Multi-line templates for entity, microflow, page creation
  • Project references – Module names, entity names, microflow names (requires project)

Diagnostics Details

Parse Diagnostics (on change)

  • Syntax errors from the ANTLR4 lexer and parser
  • Missing tokens, unexpected tokens, mismatched brackets
  • Reported with exact line/column positions

Semantic Diagnostics (on save)

  • Unresolved entity, microflow, or page references
  • Invalid attribute names on known entities
  • Module existence checks
  • Requires a loaded Mendix project

Not Yet Supported

The following LSP capabilities are not currently implemented:

LSP MethodStatus
textDocument/referencesPlanned
textDocument/renamePlanned
textDocument/formattingPlanned
textDocument/codeActionPlanned
textDocument/signatureHelpNot planned
workspace/symbolNot planned