-
-
Notifications
You must be signed in to change notification settings - Fork 134
LSP Progress
github-actions edited this page Jun 25, 2026
·
3 revisions
Tracking implementation status of LSP 3.17 features in obsidian-ls.
-
- [x]- Implemented -
- [ ]- Not yet implemented, but feasible and meaningful for this plugin -
-- Not applicable, not meaningful, or redundant for an in-process LSP server
- Go to Declaration (
textDocument/declaration) - handled viatextDocument/definition - Go to Definition (
textDocument/definition) - follow wiki links, markdown links, header/block links, URIs, attachments - Find References (
textDocument/references) - backlinks, tag references, header/block references across the vault - Document Symbols (
textDocument/documentSymbol) - returns markdown headings - Rename (
textDocument/rename) - rename notes and update all references across the vault - Prepare Rename (
textDocument/prepareRename) - Code Action (
textDocument/codeAction) - Completion Proposals (
textDocument/completion) - Folding Range (
textDocument/foldingRange) - Hover (
textDocument/hover) - Completion Item Resolve (
completionItem/resolve) - Publish Diagnostics (
textDocument/publishDiagnostics) - Code Action Resolve (
codeAction/resolve) - Document Link (
textDocument/documentLink) - Document Link Resolve (
documentLink/resolve) - Document Highlight (
textDocument/documentHighlight) - Code Lens (
textDocument/codeLens) - Code Lens Refresh (
codeLens/refresh) - Selection Range (
textDocument/selectionRange) - Inlay Hint (
textDocument/inlayHint) - Inlay Hint Resolve (
inlayHint/resolve) - Inlay Hint Refresh (
workspace/inlayHint/refresh) - Formatting (
textDocument/formatting) - Range Formatting (
textDocument/rangeFormatting) - On Type Formatting (
textDocument/onTypeFormatting) - Linked Editing Range (
textDocument/linkedEditingRange) - Semantic Tokens (
textDocument/semanticTokens) - highlighting currently handled via custom extmarks - Document Color (
textDocument/documentColor) - Color Presentation (
textDocument/colorPresentation) - Pull Diagnostics (
textDocument/pullDiagnostics) - redundant for in-process server, can push directly - Go to Type Definition (
textDocument/typeDefinition) - Go to Implementation (
textDocument/implementation) - Prepare Call Hierarchy (
textDocument/prepareCallHierarchy) - Call Hierarchy Incoming Calls (
callHierarchy/incomingCalls) - Call Hierarchy Outgoing Calls (
callHierarchy/outgoingCalls) - Prepare Type Hierarchy (
textDocument/prepareTypeHierarchy) - Type Hierarchy Super Types (
typeHierarchy/supertypes) - Type Hierarchy Sub Types (
typeHierarchy/subtypes) - Signature Help (
textDocument/signatureHelp) - Inline Value (
textDocument/inlineValue) - not supported by Neovim - Inline Value Refresh (
workspace/inlineValue/refresh) - not supported by Neovim - Moniker (
textDocument/moniker) - not supported by Neovim
- Did Rename Files (
workspace/didRenameFiles) - auto-updates all references when.mdfiles are renamed - Apply Edit (
workspace/applyEdit) - used bydidRenameFilesto request the client apply workspace edits - Workspace Symbols (
workspace/symbol) - Workspace Symbol Resolve (
workspace/symbolResolve) - Execute Command (
workspace/executeCommand) - runs all actions that this plugin can run inactions.lua - Did Change Watched Files (
workspace/didChangeWatchedFiles) - Will Delete Files (
workspace/willDeleteFiles)- Trash
- Prompt to remove file attachments
- Will Create Files (
workspace/willCreateFiles) - Did Create Files (
workspace/didCreateFiles)- prompt to disambiguate existing links with same stem
- Will Rename Files (
workspace/willRenameFiles) - Did Delete Files (
workspace/didDeleteFiles) - Workspace Folders (
workspace/workspaceFolders) - redundant for in-process server, already knows the workspace - Did Change Workspace Folders (
workspace/didChangeWorkspaceFolders) - redundant for in-process server - Get Configuration (
workspace/configuration) - redundant for in-process server, shares config directly - Did Change Configuration (
workspace/didChangeConfiguration) - redundant for in-process server
- Create Work Done Progress (
window/workDoneProgress/create) - sends$/progressduring initialization - Show Message Notification (
window/showMessage) - redundant for in-process server, can callvim.notifydirectly - Show Message Request (
window/showMessageRequest) - redundant for in-process server, can callvim.ui.selectdirectly - Log Message (
window/logMessage) - redundant for in-process server, uses internal logging - Show Document (
window/showDocument) - redundant for in-process server, can open buffers directly - Cancel Work Done Progress (
window/workDoneProgress/cancel) - client-side concern - Telemetry Event (
telemetry/event) - not supported by Neovim