-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JupyterLab 4.0 migration #949
Conversation
(no longer needed with new version of `@codemirror/lint`).
install validation on CI. `workspace:` is another good option but requires some more configuration - portal may be good enough for now.
Using `workspace:*` over relative specs as paths are experimental, and as of today did not work for me in any reasonable way (either resolution worked but build did not, or both did not depending on attempt).
The |
8f5e202
to
4ce1feb
Compare
I plan to merge this soon and iterate on remaining tasks after releasing an alpha. The robot tests heavily rely on diagnostics including the |
completer provider as unavailable if the plugin is soft-disabled
Essential to prevent CM6 error during edits: "Position X is out of range for changeset of length Y" which happens when the virtual document text/line is longer than the editor text/line, usually because of cell/line magic overrides
Merging as it is getting uncomfortably long:
|
References
Related to #917.
Features:
shouldShowContinuousHint
needs context, fetch needs reason jupyterlab/jupyterlab#14806shouldShowContinuousHint()
jupyterlab/jupyterlab#15015@codemirror/lint
version in JupyterLabGeneral:
Testing/CI:
Nice to have:
file:
protocol includes any rubbish and needs to be recomputed on each commit; there probably should not be a hash at all, and indeedportal:
does not have it but is not supported by learna; official recommendation is to useworkspace:
, see comment which we did. Related issue and SO.ICompletionContext.widget
beIDocumentWidget
rather thanWidget
? (because we want to access.context.path
); depends on where we believe completer will be usedWidgetLSPAdapter<T>
generic to avoidWidgetLSPAdapter<any>
Upstream PRs:
serverCapabilities
,provides
, andupdateLogging
jupyterlab/jupyterlab#14712 (needed to remove@ts-ignore
s on non-exposed methods)shouldShowContinuousHint()
jupyterlab/jupyterlab#15015Issues:
this
context gets lost inmodelFactory
jupyterlab/jupyterlab#14805WidgetLSPAdapter
/VirtualDocument
from CodeMirror event? jupyterlab/jupyterlab#14710WidgetLSPAdapter
) from widgets jupyterlab/jupyterlab#14783shouldShowContinuousHint
needs context, fetch needs reason jupyterlab/jupyterlab#14806Code changes
User-facing changes
@codemirror/linter
gives us out of the box)shouldShowContinuousHint()
jupyterlab/jupyterlab#15015)The following settings got removes:
disableCompletionsFrom
andkernelResponseTimeout
- these needs to be implemented in JupyterLab itself, see discussion in this upstream issueshowDocumentation
- an identical setting is now present in core JupyterLabBackwards-incompatible changes
.lsp-completer
class got removed and insteadbody[data-lsp-completer-layout]
selector is being used; this is suboptimal CSS performance-wise and may be changed.ILSPFeatureManager
from upstream@jupyterlab/lsp
package