* Neorg-language-server > *NOTE:* this is heavily WIP project ** Current State *** Dependencies These are core dependencies for Neorg-language-server that must be completed first. - [tree-sitter-norg3]{https://github.com/nvim-neorg/tree-sitter-norg3} \: parser for Norg syntax - [NorgBerg]{https://github.com/SevorisDoe/Norgberg} \: DB for workspaces Basically most of workspace features are stalled waiting for [NorgBerg]. ** Features - (x) `textDocument/documentSymbol` from headings - ( ) `textDocument/workspaceSymbol` from headings - ( ) `textDocument/completion` -- link destination -- anchor id -- snippets -- attached/detached modifier extensions *** ( ) `textDocument/codeAction` -- create file on broken link -- move current section to external file -- move current nestable list section to structural section or external file *** Links - ( ) support all linkable types -- link destination --- (x) URI ---- ( ) support syntax sugars like `{file://~/notes/todo.norg}` --- (=) file location ---- (x) basic (e.g. `{:file:}`) ---- (=) workspace (e.g. `{:$workspace/file:}`) (waiting for [NorgBerg]) ---- (=) scoping (e.g. `{:file:* heading}`) (waiting for [tree-sitter-norg3]) --- (=) scope (line number, detached modifier) (waiting for [tree-sitter-norg3]) -- ( ) alias - (x) go to definition - (x) go to references - ( ) show hover (with norg format? is that even possible?) - ( ) completion for link destination - ( ) diagnostic for broken links - ( ) update on file rename (`textDocument/willRenameFiles`) -- (x) URI type -- (=) norg link type (with proper workspace id) - ( ) notify existing references on new file *** misc - ( ) `textDocument/foldingRange` - ( ) `textDocument/selectionRange` *** format > formats should be handled from separate project.\ see [norg-fmt] - ( ) on type formatting - ( ) range formatting --- see more on : {https://github.com/nvim-neorg/neorg/issues/513}[neorg#513] %|vim: set conceallevel=3:|%