racket-langserver
racket 

所属分类:collect
开发工具:Racket
文件大小:0KB
下载次数:0
上传日期:2023-07-26 10:30:14
上 传 者sh-1993
说明:  球拍语言服务器,,
(racket-langserver,,)

文件列表:
LICENSE (149, 2023-10-18)
autocomplete.rkt (10721, 2023-10-18)
check-syntax.rkt (8547, 2023-10-18)
debug.rkt (441, 2023-10-18)
doc-trace.rkt (8027, 2023-10-18)
doc.rkt (11622, 2023-10-18)
docs-helpers.rkt (5044, 2023-10-18)
documentation-parser.rkt (16157, 2023-10-18)
editor.rkt (3228, 2023-10-18)
error-codes.rkt (430, 2023-10-18)
info.rkt (877, 2023-10-18)
interfaces.rkt (1283, 2023-10-18)
json-util.rkt (1928, 2023-10-18)
main.rkt (2481, 2023-10-18)
methods.rkt (5688, 2023-10-18)
monitor.rkt (282, 2023-10-18)
msg-io.rkt (1479, 2023-10-18)
path-util.rkt (301, 2023-10-18)
responses.rkt (1322, 2023-10-18)
scheduler.rkt (938, 2023-10-18)
struct.rkt (4170, 2023-10-18)
symbol-kinds.rkt (840, 2023-10-18)
tests/ (0, 2023-10-18)
tests/client.rkt (2504, 2023-10-18)
tests/lifecycle/ (0, 2023-10-18)
tests/lifecycle/init_resp.json (1246, 2023-10-18)
rkt (1486, 2023-10-18)
tests/sync/ (0, 2023-10-18)
tests/sync/diagnostics.json (224, 2023-10-18)
tests/sync/test.rkt (1989, 2023-10-18)
tests/textDocument/ (0, 2023-10-18)
tests/textDocument/code-action/ (0, 2023-10-18)
tests/textDocument/code-action/code-action.rkt (452, 2023-10-18)
tests/textDocument/code-action/req1.json (456, 2023-10-18)
tests/textDocument/code-action/resp1.json (1409, 2023-10-18)
... ...

# racket-langserver `racket-langserver` is a [Language Server Protocol](http://langserver.org/) implementation for Racket. This project seeks to use [DrRacket](https://github.com/racket/drracket)'s public APIs to provide functionality that mimics DrRacket's code tools as closely as possible. ## Installation and usage A Racket runtime is a prerequisite, so before using `racket-langserver`, ensure that a Racket runtime is installed. You can install an from the [official download page](https://download.racket-lang.org) or install one from your package manager. ### Atom You can use the [atom-ide-racket](https://github.com/cfinegan/atom-ide-racket) package. The language server will be automatically installed when `atom-ide-racket` installs. ### VSCode Use the [Magic Racket](https://marketplace.visualstudio.com/items?itemName=evzen-wybitul.magic-racket) extension. ### Other editors and IDEs First, install an LSP runtime for your editor. Next, install the package via `raco`: ``` raco pkg install racket-langserver ``` Once it is installed, you can configure your editor to use a custom LSP client for Racket files (`.rkt`), and set the command for the custom client to ``` racket -l racket-langserver ``` You may need to restart your LSP runtime or your editor for `racket-langserver` to start. ## Capabilities #### *Currently Supported:* - **Hover** (textDocument/hover) - **Jump to Definition** (textDocument/definition) - **Find References** (textDocument/references) - *Note:* Currently only considers references within the current file. - **Document Highlight** (textDocument/documentHighlight) - **Diagnostics** (textDocument/publishDiagnostics) - **Code Formatting** (textDocument/formatting & textDocument/rangeFormatting & textDocument/onTypeFormatting) - **Code Action** (textDocument/codeAction) - **Signature Help** (textDocument/signatureHelp) - **Rename** (textDocument/rename & textDocument/prepareRename) - *Note:* Currently only allows renaming symbols defined within the current file. - **Code completion** (textDocument/completion) #### *Work in Progress:* - **Document Outline** (textDocument/documentSymbol) ## Notes for Contributers It is useful to think of this project as a "headless mode" for DrRacket. Contributions to this project should seek to avoid re-implementing functionality that is already exposed through DrRacket's public API. Currently, we do not support workspace-wide (or project-wide) methods because the underlying DrRacket code tools only operate on one file at a time. If multi-file code tools are a desirable feature, then they should be considered for inclusion into [DrRacket proper](https://github.com/racket/drracket) before being implemented in this project. [jeapostrophe commented on Apr 29, 2020](https://github.com/jeapostrophe/racket-langserver/issues/8#issuecomment-621242014) > I think that the right way to implement most features in Racket-LSP is to find the corresponding feature in DrRacket and then disentangle from DrR's GUI and then expose the feature through the LSP. In many cases, DrR has already been internally organized to do that, but we just haven't done enough spelunking yet.

近期下载者

相关文件


收藏者