|
133 | 133 | "cell_type": "markdown",
|
134 | 134 | "metadata": {},
|
135 | 135 | "source": [
|
136 |
| - "### Notebook-optimized Language Servers\n", |
| 136 | + "### Servers tested with Notebooks\n", |
137 | 137 | "\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", |
142 | 144 | "`priority` (which can be set in the _Advanced Settings Editor_) will be used."
|
143 | 145 | ]
|
144 | 146 | },
|
|
173 | 175 | "cell_type": "markdown",
|
174 | 176 | "metadata": {},
|
175 | 177 | "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)." |
179 | 182 | ]
|
180 | 183 | },
|
181 | 184 | {
|
182 | 185 | "cell_type": "markdown",
|
183 | 186 | "metadata": {},
|
184 | 187 | "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" |
189 | 189 | ]
|
190 | 190 | },
|
191 | 191 | {
|
192 | 192 | "cell_type": "markdown",
|
193 | 193 | "metadata": {},
|
194 | 194 | "source": [
|
195 |
| - "### NodeJS-based Language Servers\n", |
| 195 | + "#### Servers requiring Node.js\n", |
196 | 196 | "\n",
|
197 | 197 | "These servers have mostly been tested with file editors."
|
198 | 198 | ]
|
|
220 | 220 | "cell_type": "markdown",
|
221 | 221 | "metadata": {},
|
222 | 222 | "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", |
224 | 224 | "release) is a prerequisite for installation of any of the above language\n",
|
225 | 225 | "servers; you can get it with:\n",
|
226 | 226 | "\n",
|
|
239 | 239 | "cell_type": "markdown",
|
240 | 240 | "metadata": {},
|
241 | 241 | "source": [
|
242 |
| - "#### Example: Getting All the NodeJS-based Language Servers\n", |
| 242 | + "##### Example: getting all the Node.js-based language servers\n", |
243 | 243 | "\n",
|
244 | 244 | "A number of language servers are built on the\n",
|
245 | 245 | "[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", |
247 | 247 | "`node_modules` in the directory where you launch `jupyter lab`.\n",
|
248 | 248 | "\n",
|
249 | 249 | "For example, to install all the servers which are tested as part of\n",
|
|
289 | 289 | "cell_type": "markdown",
|
290 | 290 | "metadata": {},
|
291 | 291 | "source": [
|
292 |
| - "### Other scientific languages\n", |
| 292 | + "#### Standalone servers\n", |
293 | 293 | "\n",
|
294 | 294 | "These servers have been mostly tested with file editor."
|
295 | 295 | ]
|
|
315 | 315 | "cell_type": "markdown",
|
316 | 316 | "metadata": {},
|
317 | 317 | "source": [
|
318 |
| - "#### Example: Getting a $\\LaTeX$ stack\n", |
| 318 | + "##### Example: Getting a $\\LaTeX$ stack\n", |
319 | 319 | "\n",
|
320 | 320 | "```bash\n",
|
321 | 321 | "conda install --channel conda-forge tectonic texlab chktex\n",
|
|
330 | 330 | "- `chktex`, a `.tex` style checker"
|
331 | 331 | ]
|
332 | 332 | },
|
| 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 | + }, |
333 | 376 | {
|
334 | 377 | "cell_type": "markdown",
|
335 | 378 | "metadata": {},
|
|
389 | 432 | "name": "python",
|
390 | 433 | "nbconvert_exporter": "python",
|
391 | 434 | "pygments_lexer": "ipython3",
|
392 |
| - "version": "3.10.0" |
| 435 | + "version": "3.10.4" |
393 | 436 | }
|
394 | 437 | },
|
395 | 438 | "nbformat": 4,
|
|
0 commit comments