Skip to content

boltlessengineer/neorg-language-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

* 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 : {nvim-neorg/neorg#513

%|vim: set conceallevel=3:|%

About

Language server for Neorg

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published