You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-4Lines changed: 30 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,8 +15,8 @@ Provide integration support for adding Language Server Protocol servers to Atom.
15
15
This npm package can be used by Atom package authors wanting to integrate LSP-compatible language servers with Atom. It provides:
16
16
17
17
* Conversion routines between Atom and LSP types
18
-
* A FlowTyped wrapper around JSON-RPC for **v3** of the LSP protocol
19
-
* All necessary FlowTyped input and return structures for LSP, notifications etc.
18
+
* A TypeScript wrapper around JSON-RPC for **v3** of the LSP protocol
19
+
* All necessary TypeScript input and return structures for LSP, notifications etc.
20
20
* A number of adapters to translate communication between Atom/Atom-IDE and the LSP's capabilities
21
21
* Automatic wiring up of adapters based on the negotiated capabilities of the language server
22
22
* Helper functions for downloading additional non-npm dependencies
@@ -59,9 +59,9 @@ The language server protocol consists of a number of capabilities. Some of these
59
59
60
60
The underlying JSON-RPC communication is handled by the [vscode-jsonrpc npm module](https://www.npmjs.com/package/vscode-jsonrpc).
61
61
62
-
### Minimal example
62
+
### Minimal example (Nodejs-compatible LSP exe)
63
63
64
-
A minimal implementation can be illustrated by the Omnisharp package here which has only npm-managed dependencies. You simply provide the scope name, language name and server name as well as start your process and AutoLanguageClient takes care of interrogating your language server capabilities and wiring up the appropriate services within Atom to expose them.
64
+
A minimal implementation can be illustrated by the Omnisharp package here which has only npm-managed dependencies, and the LSP is a JavaScript file. You simply provide the scope name, language name and server name as well as start your process and `AutoLanguageClient` takes care of interrogating your language server capabilities and wiring up the appropriate services within Atom to expose them.
@@ -83,6 +83,32 @@ You can get this code packaged up with the necessary package.json etc. from the
83
83
84
84
Note that you will also need to add various entries to the `providedServices` and `consumedServices` section of your package.json (for now). You can [obtain these entries here](https://github.com/atom/ide-csharp/tree/master/package.json).
85
85
86
+
### Minimal example (General LSP exe)
87
+
88
+
If the LSP is a general executable (not a JavaScript file), you should use `spawn` inside `startServerProcess`.
0 commit comments