Skip to content

Commit aa2f9c1

Browse files
authored
Merge pull request #826 from cccs-jc/patch-2
Create Third Party Language Servers.md
2 parents f9bb85f + 2a7bf19 commit aa2f9c1

File tree

1 file changed

+62
-19
lines changed

1 file changed

+62
-19
lines changed

docs/Language Servers.ipynb

Lines changed: 62 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -133,12 +133,14 @@
133133
"cell_type": "markdown",
134134
"metadata": {},
135135
"source": [
136-
"### Notebook-optimized Language Servers\n",
136+
"### Servers tested with Notebooks\n",
137137
"\n",
138-
"These servers have support for notebooks and file editors. The `pylsp`, and\n",
139-
"`r-languageserver`, and `robotframework_ls` implementatoons are well-tested,\n",
140-
"while `jedi` and `Julia` servers are experimental. If you choose to install\n",
141-
"multiple language servers for the same language, the one with the highest\n",
138+
"While most servers should work with notebooks and standalone files, some\n",
139+
"require additional adjustments. The following language servers are tested\n",
140+
"against `jupyterlab-lsp` and any issues when using them in notebooks\n",
141+
"will be prioritised.\n",
142+
"\n",
143+
"If you choose to install multiple language servers for the same language, the one with the highest\n",
142144
"`priority` (which can be set in the _Advanced Settings Editor_) will be used."
143145
]
144146
},
@@ -173,26 +175,24 @@
173175
"cell_type": "markdown",
174176
"metadata": {},
175177
"source": [
176-
"The Scala language server (`metals`) is not currently auto-detected, but can be\n",
177-
"configured as demonstrated in the\n",
178-
"[configuration example](./Configuring.html#example-scala-language-server-metals-integration)."
178+
"If you plan to add a custom language server for the use with notebooks, please\n",
179+
"note that a complete set of information should be provided by the kernel, as\n",
180+
"described in\n",
181+
"[making custom servers work with notebooks](./Configuring.html#making-custom-servers-work-with-notebooks)."
179182
]
180183
},
181184
{
182185
"cell_type": "markdown",
183186
"metadata": {},
184187
"source": [
185-
"If you plan to add a custom language server for the use with notebooks, please\n",
186-
"note that a complete set of information should be provided by the kernel, as\n",
187-
"described in\n",
188-
"[making custom servers work with notebooks](./Configuring.html#making-custom-servers-work-with-notebooks)."
188+
"### Servers tested with file editor"
189189
]
190190
},
191191
{
192192
"cell_type": "markdown",
193193
"metadata": {},
194194
"source": [
195-
"### NodeJS-based Language Servers\n",
195+
"#### Servers requiring Node.js\n",
196196
"\n",
197197
"These servers have mostly been tested with file editors."
198198
]
@@ -220,7 +220,7 @@
220220
"cell_type": "markdown",
221221
"metadata": {},
222222
"source": [
223-
"NodeJS (preferrably even-numbered an _Active_ or _Maintenance Long Term Support_\n",
223+
"NodeJS (preferably even-numbered an _Active_ or _Maintenance Long Term Support_\n",
224224
"release) is a prerequisite for installation of any of the above language\n",
225225
"servers; you can get it with:\n",
226226
"\n",
@@ -239,11 +239,11 @@
239239
"cell_type": "markdown",
240240
"metadata": {},
241241
"source": [
242-
"#### Example: Getting All the NodeJS-based Language Servers\n",
242+
"##### Example: getting all the Node.js-based language servers\n",
243243
"\n",
244244
"A number of language servers are built on the\n",
245245
"[reference implementation](https://github.com/microsoft/vscode-languageserver-node),\n",
246-
"powered by NodeJS. The most reliable place to install these is in a\n",
246+
"powered by Node.js. The most reliable place to install these is in a\n",
247247
"`node_modules` in the directory where you launch `jupyter lab`.\n",
248248
"\n",
249249
"For example, to install all the servers which are tested as part of\n",
@@ -289,7 +289,7 @@
289289
"cell_type": "markdown",
290290
"metadata": {},
291291
"source": [
292-
"### Other scientific languages\n",
292+
"#### Standalone servers\n",
293293
"\n",
294294
"These servers have been mostly tested with file editor."
295295
]
@@ -315,7 +315,7 @@
315315
"cell_type": "markdown",
316316
"metadata": {},
317317
"source": [
318-
"#### Example: Getting a $\\LaTeX$ stack\n",
318+
"##### Example: Getting a $\\LaTeX$ stack\n",
319319
"\n",
320320
"```bash\n",
321321
"conda install --channel conda-forge tectonic texlab chktex\n",
@@ -330,6 +330,49 @@
330330
"- `chktex`, a `.tex` style checker"
331331
]
332332
},
333+
{
334+
"cell_type": "markdown",
335+
"metadata": {},
336+
"source": [
337+
"### Community-supported servers"
338+
]
339+
},
340+
{
341+
"cell_type": "markdown",
342+
"metadata": {},
343+
"source": [
344+
"Servers and extensions listed below are not included in the testing suite of `jupyterlab-lsp`; the support may be provided by community members or a third-party:"
345+
]
346+
},
347+
{
348+
"cell_type": "markdown",
349+
"metadata": {},
350+
"source": [
351+
"| Languages | Implementation | Comment |\n",
352+
"|---------------------------|-------------------------------------------|---------------|\n",
353+
"| Spark SQL | [CybercentreCanada/jupyterlab-sql-editor] | |\n",
354+
"| GraphQL, SPARQL, Turtle | [jupyrdf/graph-lsp] | |\n",
355+
"| JSON | [jupyter-lsp/json-lsp] | (1) |\n",
356+
"| YAML | [jupyter-lsp/yaml-lsp] | (1) |\n",
357+
"| Scala | [scalameta/metals] | (2) |\n",
358+
"\n",
359+
"\n",
360+
"[jupyrdf/graph-lsp]: https://github.com/jupyrdf/graph-lsp\n",
361+
"[CybercentreCanada/jupyterlab-sql-editor]: https://github.com/CybercentreCanada/jupyterlab-sql-editor\n",
362+
"[jupyter-lsp/json-lsp]: https://github.com/jupyter-lsp/json-lsp\n",
363+
"[jupyter-lsp/yaml-lsp]: https://github.com/jupyter-lsp/yaml-lsp\n",
364+
"[scalameta/metals]: https://github.com/scalameta/metals"
365+
]
366+
},
367+
{
368+
"cell_type": "markdown",
369+
"metadata": {},
370+
"source": [
371+
"- (1) convenience wrappers for installation with `pip`, require Node.js.\n",
372+
"- (2) `metals` is not currently auto-detected, but can be configured as demonstrated in the\n",
373+
"[configuration example](./Configuring.html#example-scala-language-server-metals-integration)."
374+
]
375+
},
333376
{
334377
"cell_type": "markdown",
335378
"metadata": {},
@@ -389,7 +432,7 @@
389432
"name": "python",
390433
"nbconvert_exporter": "python",
391434
"pygments_lexer": "ipython3",
392-
"version": "3.10.0"
435+
"version": "3.10.4"
393436
}
394437
},
395438
"nbformat": 4,

0 commit comments

Comments
 (0)