Skip to content

Commit 4f9b95b

Browse files
committed
Merge remote-tracking branch 'origin/master' into tcp_mode
# Conflicts: # CHANGELOG.md
2 parents 562148a + 148f868 commit 4f9b95b

File tree

145 files changed

+7124
-5763
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+7124
-5763
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ https://jupyterlab.readthedocs.io/en/latest/getting_started/issue.html
3737
- Operating System and version:
3838
- Browser and version:
3939
- JupyterLab version:
40+
- Language server and version:
4041

4142
<details><summary>Required: installed server extensions</summary>
4243
<pre>
@@ -53,7 +54,7 @@ You may want to sanitize the paths in the output.
5354
</pre>
5455
</details>
5556

56-
<!--The more content you provide, the more we can help!-->
57+
<!--The more content you provide, the more we can help! Please fill in the below:-->
5758

5859
<details><summary>Troubleshoot Output</summary>
5960
<pre>

.github/workflows/job.test.yml

Lines changed: 69 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@ on:
55
branches:
66
- master
77
- 2.x
8+
- 3.x
89
pull_request:
910
branches:
1011
- master
1112
- 2.x
13+
- 3.x
1214
workflow_dispatch:
1315

16+
# TODO: might need to tweak `group`
17+
concurrency:
18+
group: ${{ github.ref }}
19+
cancel-in-progress: true
20+
1421
defaults:
1522
run:
1623
shell: bash -l {0}
@@ -21,22 +28,24 @@ env:
2128
PIP_DISABLE_PIP_VERSION_CHECK: 1
2229
PYTHONUNBUFFERED: 1
2330

31+
ATEST_PROCESSES: 2
2432
ATEST_RETRIES: 3
2533
JLPM_CMD: jlpm --ignore-optional --prefer-offline --frozen-lockfile
2634

2735
# Increase this value to reset all caches
28-
CACHE_EPOCH: 2
29-
JULIA_LANGSERVER: 3.2.0
36+
CACHE_EPOCH: 4
37+
JULIA_LANGSERVER: 4.1.0
3038

3139
jobs:
3240
lint:
3341
name: jstest/lint
34-
runs-on: ${{ matrix.os }}
42+
runs-on: ${{ matrix.os }}-latest
3543
strategy:
3644
matrix:
37-
os: [ubuntu-latest]
45+
os: [ubuntu]
3846
nodejs: ['>=14,<15.0.0a0']
39-
lab: ['>=3.0.0,<4.0.0a0']
47+
lab: ['>=3.1.0,<4.0.0a0']
48+
r: ['>=4']
4049
steps:
4150
- uses: actions/checkout@v2
4251

@@ -77,7 +86,7 @@ jobs:
7786
with:
7887
path: '**/node_modules'
7988
key: |
80-
${{ env.CACHE_EPOCH }}-${{ runner.os }}-node-lint-${{ hashFiles('yarn.lock', 'requirements/github-actions.yml') }}
89+
${{ env.CACHE_EPOCH }}-${{ runner.os }}-node-build-${{ hashFiles('yarn.lock', 'requirements/github-actions.yml') }}
8190
8291
- name: Cache yarn packages
8392
id: cache-yarn-packages
@@ -104,6 +113,9 @@ jobs:
104113
- name: Lint backend
105114
run: python scripts/lint.py
106115

116+
- name: 'Revert templated file (TODO: remove)'
117+
run: git checkout requirements/github-actions.yml
118+
107119
- name: Lint frontend
108120
run: jlpm lint:check
109121

@@ -112,12 +124,13 @@ jobs:
112124

113125
build:
114126
name: build
115-
runs-on: ${{ matrix.os }}
127+
runs-on: ${{ matrix.os }}-latest
116128
strategy:
117129
matrix:
118-
os: [ubuntu-latest]
130+
os: [ubuntu]
119131
nodejs: ['>=14,<15.0.0a0']
120-
lab: ['>=3.0.0,<4.0.0a0']
132+
lab: ['>=3.1.0,<4.0.0a0']
133+
r: ['>=4']
121134
steps:
122135
- uses: actions/checkout@v2
123136

@@ -204,35 +217,26 @@ jobs:
204217

205218
acceptance:
206219
runs-on: ${{ matrix.os }}-latest
207-
name: atest ${{ matrix.os }} py${{ matrix.python }}
220+
name: atest ${{ matrix.os }} py${{ matrix.python }} r${{ matrix.r }}
208221
needs: [build]
209222
strategy:
210223
# TODO: maybe turn back on
211224
fail-fast: false
212225
matrix:
213-
os: [ubuntu, macos, windows]
214-
python: [3.6, 3.7, 3.8]
215-
lab: ['>=3.0.0,<4.0.0a0']
226+
os: ['ubuntu', 'macos', 'windows']
227+
python: ['3.7', '3.10']
216228
include:
217-
# if using 3.6, use an old node
218-
- python: 3.6
229+
# if using 3.7, use newer node, etc...
230+
- python: '3.7'
219231
# Node 12 end-of-life: April 2022
220232
nodejs: '>=12,<13.0.0.a0'
221-
# if using 3.7, use newer node, etc...
222-
- python: 3.7
223-
# Node 14 end-of-life: April 2023
224-
nodejs: '>=14,<15.0.0.a0'
225-
- python: 3.8
226-
# TODO: switch to Node 16 once gets merged https://github.com/conda-forge/nodejs-feedstock/pull/189
227-
# Node 15 end-of-life: June 2021
228-
nodejs: '>=15,<16.0.0.a0'
229-
# TODO: remove when mambaforge just works on setup-miniconda
230-
- os: ubuntu
231-
mambaforge: Linux-x86_64.sh
232-
- os: macos
233-
mambaforge: MacOSX-x86_64.sh
234-
- os: windows
235-
mambaforge: Windows-x86_64.exe
233+
r: '<4'
234+
lab: '>=3.1.0,<3.2'
235+
- python: '3.10'
236+
# Node 16 end-of-life: April 2024
237+
nodejs: '>=16,<17.0.0.a0'
238+
r: '>=4'
239+
lab: '>=3.2.0,<4'
236240

237241
steps:
238242
- uses: actions/checkout@v2
@@ -341,6 +345,12 @@ jobs:
341345
- name: Run browser tests
342346
run: python scripts/atest.py --exclude expect:fail
343347

348+
- name: Find and remove empty files
349+
# https://github.com/actions/upload-artifact/issues/150
350+
run: find ./atest/output -empty -delete
351+
if: always()
352+
shell: bash
353+
344354
- name: Publish browser test output
345355
uses: actions/upload-artifact@v2
346356
with:
@@ -354,24 +364,34 @@ jobs:
354364
needs: [build, lint]
355365
strategy:
356366
fail-fast: false
367+
max-parallel: 3
357368
matrix:
358-
os: [ubuntu, macos, windows]
359-
python: ['3.6', '3.9', 'pypy3']
369+
os: ['ubuntu', 'macos', 'windows']
370+
python: ['3.7', '3.8', '3.9', '3.10', 'pypy-3.7']
360371
exclude:
361372
- os: windows
362-
python: pypy3
373+
python: pypy-3.7
363374
include:
364-
- python: '3.6'
365-
dist: 'jupyter*lsp*.tar.gz'
366-
- python: 'pypy3'
375+
- python: '3.7'
367376
dist: 'jupyter*lsp*.tar.gz'
377+
lab: '>=3.1,<3.2'
378+
- python: '3.8'
379+
dist: 'jupyter*lsp*.whl'
380+
lab: '>=3.1,<3.2'
368381
- python: '3.9'
382+
dist: 'jupyter*lsp*.tar.gz'
383+
lab: '>=3.2,<3.3'
384+
- python: '3.10'
369385
dist: 'jupyter*lsp*.whl'
370-
- os: windows
386+
lab: '>=3.2,<4'
387+
- python: 'pypy-3.7'
388+
dist: 'jupyter*lsp*.tar.gz'
389+
lab: '>=3.2,<3.3'
390+
- os: 'windows'
371391
py_cmd: python
372-
- os: macos
392+
- os: 'macos'
373393
py_cmd: python3
374-
- os: ubuntu
394+
- os: 'ubuntu'
375395
py_cmd: python
376396
steps:
377397
- name: Install Python
@@ -386,7 +406,7 @@ jobs:
386406
- name: Install the prerequisites
387407
run: ${{ matrix.py_cmd }} -m pip install pip wheel
388408
- name: Install the package
389-
run: cd dist && ${{ matrix.py_cmd }} -m pip install -vv ${{ matrix.dist }}
409+
run: cd dist && ${{ matrix.py_cmd }} -m pip install -vv ${{ matrix.dist }} 'jupyterlab${{ matrix.lab }}'
390410
- name: Validate environment
391411
run: |
392412
set -eux
@@ -401,16 +421,20 @@ jobs:
401421
jupyter server extension list 2>&1 | grep -ie "jupyter_lsp.*enabled" -
402422
403423
source:
404-
name: smoke source install ${{ matrix.os }}
424+
name: smoke source install ${{ matrix.os }} py${{ matrix.python }} lab${{ matrix.lab }}
405425
runs-on: ${{ matrix.os }}-latest
406426
needs: [build]
407427
strategy:
408428
fail-fast: false
409429
matrix:
410430
os: [ubuntu]
411-
python: ['3.6']
431+
python: ['3.7', '3.10']
412432
nodejs: ['14']
413-
lab: ['>=3.0.0,<4.0.0a0']
433+
include:
434+
- python: '3.7'
435+
lab: '>=3.1,<3.2'
436+
- python: '3.10'
437+
lab: '>=3.2,<4'
414438
steps:
415439
- name: Install Python
416440
uses: actions/setup-python@v2
@@ -420,13 +444,13 @@ jobs:
420444
- name: Setup Node
421445
uses: actions/setup-node@v2
422446
with:
423-
node-version: ${{matrix.nodejs}}
447+
node-version: ${{ matrix.nodejs }}
424448
- uses: actions/download-artifact@v2
425449
with:
426450
name: jupyterlab-lsp dist ${{ github.run_number }}
427451
path: ./dist
428452
- name: Install the prerequisites
429-
run: python -m pip install pip wheel
453+
run: python -m pip install --upgrade pip wheel setuptools
430454
- name: Install JupyterLab
431455
shell: bash -l {0}
432456
run: python -m pip install 'jupyterlab${{ matrix.lab }}'

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,15 @@ node_modules
110110
*.tgz
111111

112112
atest/output/
113+
.pabotsuitenames
113114
junit.xml
114115
coverage/
115116
.vscode/
116117
_*.d.ts
117118
_*.ts
118119
_build
119120
.virtual_documents/
121+
.idea/
120122

121123
# Built labextensions
122-
python_packages/jupyterlab_lsp/jupyterlab_lsp/labextensions/
124+
python_packages/*/*/labextensions/

.readthedocs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@ version: 2
33
sphinx:
44
configuration: docs/conf.py
55

6+
build:
7+
os: ubuntu-20.04
8+
tools:
9+
python: mambaforge-4.10
10+
611
conda:
712
environment: docs/rtd.yml
813

CHANGELOG.md

Lines changed: 93 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,103 @@
11
## Changelog
22

3-
### `@krassowski/jupyterlab-lsp 3.10.0` (unreleased)
3+
### `@krassowski/jupyterlab-lsp 3.10.2` (unreleased)
44

55
- improvements:
66
- add support for language servers that can (only) communicate through TCP rather than stdio (there is no support yet for servers already running on another machine and/or port) [(#636)]
77

88
[#636]: https://github.com/krassowski/jupyterlab-lsp/pull/636
99

10+
### `@krassowski/jupyterlab-lsp 3.10.1` (2022-03-21)
11+
12+
- bug fixes:
13+
- fix navigation to files with names including characters which require encoding ([#758])
14+
- fix omissions in the main settings schema for correct rendering in JupyterLab 3.3 Settings Editor UI ([#779])
15+
- maintenance
16+
- make tests pass with new JupyterLab 3.3 ([#777])
17+
- pin r-base version to fix Binder ([#766])
18+
- pin node-gyp to fix CI on Windows ([#772])
19+
- pin pytest-flake8 to fix CI
20+
- update development/testing environment dependencies: urijs, typedoc, url-parse
21+
22+
[#758]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/758
23+
[#766]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/766
24+
[#772]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/772
25+
[#777]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/777
26+
[#779]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/779
27+
28+
### `@krassowski/jupyterlab-lsp 3.10.0` (2022-01-01)
29+
30+
- features:
31+
- enable pre-filtering of completion matches by default ([#735])
32+
- add support for diagnostic tags: Deprecated, Unnecessary ([#736], [#737])
33+
- bug fixes:
34+
- squash warnings and errors in web console ([#732])
35+
- fix signature blur and fix formatting when no arguments are present ([#734])
36+
- fixed with enabling of strict null checks:
37+
- previously changing kernels always led to restarting of LSP connection, even if the kernel language did not change; now the connection will be retained if possible
38+
- `markdownRenderer` is no longer implicitly required
39+
- diagnostics sorting with missing values for `source` and `severity` was improved and missing values will be consistently shown at the end
40+
- diagnostics placeholder was split into `Diagnostics are not available` and `No issues detected, great job!` which will now show up properly
41+
- maintenance:
42+
- enable strict null checks and other strict settings ([#733])
43+
- specify client capabilities in features instead of hard-coding them ([#738])
44+
- bump minimum required JupyterLab version to 3.1 (`>=3.1.0,<4.0.0a0`)
45+
46+
[#732]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/732
47+
[#733]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/733
48+
[#734]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/734
49+
[#735]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/735
50+
[#736]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/736
51+
[#737]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/737
52+
[#738]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/738
53+
54+
### `@krassowski/code-jumpers 1.2.0` (2022-01-01)
55+
56+
- maintenance:
57+
- updates to API with respect to `null`/`undefined` values in course strict null checks activation ([#733])
58+
59+
### `@krassowski/jupyterlab-lsp 3.9.3` (2021-12-19)
60+
61+
- bug fixes:
62+
- workaround upstream issue in merging translation ([#726], thanks @fcollonval)
63+
64+
[#726]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/726
65+
66+
### `@krassowski/jupyterlab-lsp 3.9.2` (2021-12-12)
67+
68+
- bug fixes:
69+
- prevent very long completion details text from extending the completer indefinitely ([#698])
70+
- correct status translations ([#700], thanks @fcollonval)
71+
- fix translations in status pop-up ([#703])
72+
- workaround issue causing file rename when opening external files by jumping to them ([#712], thanks @jepcor97)
73+
- fix sorting by "Line:Ch" and "Cell" in Diagnostics Panel ([#717])
74+
- fix header border missing when scrolling in Diagnostics Panel ([#717])
75+
- documentation improvements:
76+
- clarify that JupyterLab restart is needed after installation ([#714], thanks @3coins)
77+
78+
[#698]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/698
79+
[#700]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/700
80+
[#703]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/703
81+
[#712]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/712
82+
[#714]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/714
83+
[#717]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/717
84+
85+
### `@krassowski/completion-theme 3.2.0` (2021-12-12)
86+
87+
- features:
88+
- add `details-below` layout allowing to change the completer arrangement ([#698])
89+
90+
### `jupyter-lsp 1.5.1` (2021-12-12)
91+
92+
- documentation improvements:
93+
- document troubleshooting steps for `texlab` server([#702])
94+
- maintenance and upkeep:
95+
- migrate test configuration to `ServerApp` as needed ([#713])
96+
- address deprecation warnings ([#713])
97+
98+
[#702]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/702
99+
[#713]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/713
100+
10101
### `@krassowski/jupyterlab-lsp 3.9.1` (2021-10-24)
11102

12103
- bug fixes:
@@ -18,7 +109,7 @@
18109

19110
- features:
20111
- add support for new `typescript-language-server` replacing `javascript-typescript-langserver`;
21-
despite the name both packages provide support for all four: JavaScrip, JSX, TypeScript and TSX;
112+
despite the name both packages provide support for all four: JavaScript, JSX, TypeScript and TSX;
22113
the old `javascript-typescript-langserver` can still be used, but it is no longer maintained
23114
and we will not be supported, and specs may be removed in the next major release ([#697]).
24115

0 commit comments

Comments
 (0)