-
-
Notifications
You must be signed in to change notification settings - Fork 8
Current Features, and Documentation
nick edited this page Apr 30, 2024
·
2 revisions
Note
Checkout the Roadmap for other information
server.ts methods are bound as handlers to the client. Unchecked nested bullets are either: handlers which are currently WIP or features to further possibly extend a hanlder's functionality.
- onComplete
- documentation to support chained short options (e.g.
ls -la
) - get unique local symbols
- get fallback to global symbols
- implementation does not consider all possible cases. Currently has issues with completions being found on empty word.
- documentation to support chained short options (e.g.
- onCompleteResolve
- onHover
- support chained short options:
ls -la
- support commands with subcommands:
git commit
- support local symbols:
~/.config/fish/config.fish
,~/.config/fish/functions/*.fish
- support nearest reference:
set var "1"; set var "2";
- support chained short options:
- onDefinition
- onReferences
- when searching for global references, remove new locally defined references from matches
- onRename, (does not work for renaming autoloaded files)
- when searching for global references, remove new locally defined references from matches
- onDocumentSymbol
- onWorkspaceSymbol
- onFold
- onFormat
- onFormatRange
- diagnostics
- tons of possibility for future ideas here. Diagnostic Provider is implemented upstream.
- onCodeAction
- onOutgoingCallHierarchy
- onIncomingCallHierarchy
- onRefactor
- onInlayHints: previous implementation too slow
- documentation.ts
- analyze.ts
- implement diagnostics
-
analyze()
cache a document and its relevant information for later use. -
getCommandAtLine()
foronComplete()/onHover()
-
initiateBackgroundAnalysis()
non-blocking analysis over workspace paths, to analyze/cache all auto-loaded files.
- completion.ts
- add pipe, status, escape char, and wild card completions
- add completion short options, that are chained together via retrigger command.
- add option for sorting by short/long options first
- add option for client completion-menu
FishDocumentItem.detail
to be shown - add completion type resolver (strategy to construct
FishCompletionItem[]
)
- logger.ts logging for a FishServer connection. Will log to
./logs.txt
by default. - cli.ts starts the language server. A client will attach to
this endpoint, and provide specific configuration options on startup.
- coc.nvim
- nvim native lsp: TODO
- code-actions.ts implement code actions
- use
CodeActionContext.create()
to create contexts, potentially while also creating diagnostics at the same time. - Need to get range working for
CodeActions
. Otherwise, it will only work on the first line of the document.
- use
- code-lens.ts implement code lens
- calls.ts implement
outgoingCalls
andincomingCalls
provider - translation convert data-types across various package api's.
- parser.ts contains
initializeParser()
to use.wasm
tree-sitter module web-tree-sitter.- Convert from web-tree-sitter to tree-sitter-node. NOTICE: Notice that executing .wasm files in node.js is considerably slower than running node.js bindings.
- configManager.ts implement configuration manager. Client Configuration Settings accessible during startup. @TODO needs refactor
🐟 fish-lsp.dev 🐟