-
Notifications
You must be signed in to change notification settings - Fork 91
Description
Description
Add support for Markdown language server to provide enhanced editing capabilities for Markdown files.
Current State
Currently, the nanocoder LSP system does not include support for Markdown language servers. While the getLanguageId function maps 'md' to 'markdown', there is no actual language server configuration for Markdown files in the KNOWN_SERVERS array.
Desired Implementation
Add support for Markdown language server in the server-discovery.ts file. The recommended option is:
Markdown Language Server:
- vscode-markdown-language-server:
vscode-mdx-language-server --stdioor similar- Languages:
md,markdown,mdx - Installation:
npm install -g @microsoft/vscode-mdx-language-serverorvscode-langservers-extracted - GitHub: Various implementations available, including from Microsoft's Markdown tools
- Languages:
Alternative options:
- marksman:
marksman lsp- dedicated Markdown language server- Languages:
md,markdown - Installation:
npm install -g marksmanor download from GitHub releases - GitHub: https://github.com/artempyanykh/marksman
- Languages:
Implementation Requirements
- Add Markdown language server definition to the
KNOWN_SERVERSarray - Include appropriate verification method (likely 'lsp' or 'version')
- Provide clear installation hints
- Map Markdown file extensions appropriately (.md, .markdown, .mdx)
- Ensure proper language ID mapping for LSP protocol (should be 'markdown')
- Consider including MDX support if using a more comprehensive server
Reference
From the ArchWiki LSP page, there are several Markdown language server options available, including dedicated ones like Marksman.
Additional Context
Markdown support is fundamental since Markdown files are used extensively for documentation and README files. Adding LSP support would provide:
- Syntax validation
- Link checking
- Table of contents generation
- Auto-completion for headers and links
- Better formatting assistance
- Cross-reference support
Currently, while the system recognizes 'md' as 'markdown' in the language mapping, there's no actual LSP server to provide the intelligent editing features.