135
135
"source" : [
136
136
" ### Notebook-optimized Language Servers\n " ,
137
137
" \n " ,
138
- " These servers have support for notebooks and file editors. The `pyls` and\n " ,
139
- " `r-languageserver` are well-tested, while `jedi` and `Julia` servers are\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, while `jedi` and `Julia` servers are\n " ,
140
140
" experimental. If you choose to install multiple language servers for the same\n " ,
141
141
" language, the one with the highest `priority` (which can be set in the _Advanced\n " ,
142
142
" Settings Editor_) will be used."
158
158
" \" r-languageserver\" ,\n " ,
159
159
" \" julia-language-server\" ,\n " ,
160
160
" \" jedi-language-server\" ,\n " ,
161
+ " \" robotframework_ls\" ,\n " ,
161
162
" ]\n " ,
162
- " lang_server_table(\n " ,
163
- " {key: spec for key, spec in mgr.all_language_servers.items() if key in nb_langs}\n " ,
164
- " )"
163
+ " lang_server_table({\n " ,
164
+ " key: spec\n " ,
165
+ " for key, spec\n " ,
166
+ " in sorted(mgr.all_language_servers.items())\n " ,
167
+ " if key in nb_langs\n " ,
168
+ " })"
165
169
]
166
170
},
167
171
{
203
207
},
204
208
"outputs" : [],
205
209
"source" : [
206
- " lang_server_table(\n " ,
207
- " {\n " ,
208
- " key: spec\n " ,
209
- " for key, spec in mgr.all_language_servers.items()\n " ,
210
- " if \" npm\" in spec[\" install\" ]\n " ,
211
- " }\n " ,
212
- " )"
210
+ " npm_specs = {\n " ,
211
+ " key: spec\n " ,
212
+ " for key, spec in sorted(mgr.all_language_servers.items()) \n " ,
213
+ " if \" npm\" in spec[\" install\" ]\n " ,
214
+ " }\n " ,
215
+ " lang_server_table(npm_specs)"
213
216
]
214
217
},
215
218
{
216
219
"cell_type" : " markdown" ,
217
220
"metadata" : {},
218
221
"source" : [
219
- " NodeJS is a prerequisite for installation of any of the above language servers; \n " ,
220
- " you can get it with:\n " ,
222
+ " NodeJS (preferrably even-numbered an _Active_ or _Maintenance Long Term Support_ release) \n " ,
223
+ " is a prerequisite for installation of any of the above language servers; you can get it with:\n " ,
221
224
" \n " ,
222
225
" ```bash\n " ,
223
226
" conda install -c conda-forge nodejs\n " ,
242
245
" `node_modules` in the directory where you launch `jupyter lab`.\n " ,
243
246
" \n " ,
244
247
" For example, to install all the servers which are tested as part of\n " ,
245
- " `jupyterlab-lsp`:\n " ,
246
- " \n " ,
247
- " ```bash\n " ,
248
- " jlpm add --dev \\\n " ,
249
- " bash-language-server \\\n " ,
250
- " vscode-css-languageserver-bin \\\n " ,
251
- " dockerfile-language-server-nodejs \\\n " ,
252
- " vscode-html-languageserver-bin \\\n " ,
253
- " typescript-language-server \\\n " ,
254
- " vscode-json-languageserver-bin \\\n " ,
255
- " yaml-language-server\n " ,
248
+ " `jupyterlab-lsp`:"
249
+ ]
250
+ },
251
+ {
252
+ "cell_type" : " code" ,
253
+ "execution_count" : null ,
254
+ "metadata" : {
255
+ "tags" : [
256
+ " remove-input"
257
+ ]
258
+ },
259
+ "outputs" : [],
260
+ "source" : [
261
+ " IPython.display.Markdown(Template(\"\"\" ```bash\n " ,
262
+ " jlpm add --dev {% for name, spec in specs.items() %} \\\\\n " ,
263
+ " {{ spec[\" install\" ][\" npm\" ].split(\" \" )[-1] }}{% endfor %}\n " ,
256
264
" ```\n " ,
257
- " \n " ,
265
+ " \"\"\" ).render(\n " ,
266
+ " specs=npm_specs\n " ,
267
+ " ))"
268
+ ]
269
+ },
270
+ {
271
+ "cell_type" : " markdown" ,
272
+ "metadata" : {},
273
+ "source" : [
258
274
" This will create (or add to):\n " ,
259
275
" \n " ,
260
276
" - `package.json` (check this in!)\n " ,
369
385
"name" : " python" ,
370
386
"nbconvert_exporter" : " python" ,
371
387
"pygments_lexer" : " ipython3" ,
372
- "version" : " 3.7.9 "
388
+ "version" : " 3.10.0 "
373
389
}
374
390
},
375
391
"nbformat" : 4 ,
376
392
"nbformat_minor" : 4
377
- }
393
+ }
0 commit comments