CHANGELOG

[1]:

@krassowski/jupyterlab-lsp 2.1.4 (2021-03-09)

  • bug fixes:

  • backported: Handle case where getCursor() returns null in highlighter (#544, #546)

@krassowski/jupyterlab-lsp 2.1.3 (2021-02-01)

  • bug fixes:

  • backported: connection manager now properly keeps track of notebooks when multiple notebooks are open (#474, #486)

  • backported: notebook (and diagnostics panel) state is now properly updated after rename or kernel restart (#499)

@krassowski/jupyterlab-lsp 2.1.2 (2021-01-02)

  • features

  • highlights can now be auto-removed from the cells/editors on blur (set removeOnBlur to true in settings) (#446)

  • bug fixes

  • improved performance of completion and highlights by minimising the number of highlight requests and GUI redraws (token checking, debouncing, acting on a single response only) (#433)

  • highlights now update after cell focus/blur events even if those do not trigger cursor movement (#433)

  • trigger characters auto-invoke now works in continuous hinting mode again (#434)

@krassowski/jupyterlab-lsp 2.1.1 (2020-12-15)

  • bug fixes

  • fix crash “blank screen” caused by Mac command character included in jump-to schema file (#429)

jupyter-lsp 0.9.3 (2020-12-13)

  • features

  • the virtual documents’ folder can be configured with JP_LSP_VIRTUAL_DIR or LanguageServerManager.virtual_documents_dir, with a potential benefit for JupyterHub installations (the default value remains contents.root_dir / .virtual_documents) (#416, thanks @fcollonval)

@krassowski/jupyterlab-lsp 2.1.0 (2020-12-13)

  • features

  • added “click to jump” functionality (by default using Alt modifier) (#423)

  • added “jump back” command, by default activated with Alt + o (#423)

  • .virtual_documents location can now be customized (#416)

  • tokens are now exported making them available for import from other extensions (#414, thanks @martinRenou)

  • bug fixes

  • context menu commands are now correctly registered where previously specific conditions were leading to race conditions (#399, thanks @mnowacki-b)

  • handles characters that need escaping (spaces, non-ASCII characters) more robustly in files and folder names (#403, thanks @bollwyvl and @avaissi)

  • moving cells now triggers the document update immediately leading to immediate diagnostics update (#421)

  • changing cell type to raw or markdown and then back to code properly unbinds/binds event handlers and updates document (#421)

  • pasted cells are added to the LSP document immediately, without the need for the user to enter them (#421)

  • improved error message when language server cannot be found (#413, thanks @martinRenou)

  • developer documentation got improved (#412, thanks @karlaspuldaro)

@krassowski/code-jumpers 1.0.0 (2020-12-13)

  • breaking changes

  • split away from @krassowski/jupyterlab_go_to_definition, renamed to @krassowski/code-jumpers (#423):

    • removed unused code

    • refactored history operations to track files and always use global location data

  • renamed uri to contents_path to help avoid programmer issues with characters requiring URI encoding (#406)

@krassowski/jupyterlab-lsp 2.0.8 (2020-10-25)

  • bug fixes

  • custom cell syntax highlighting is now properly removed when no longer needed (#387)

  • the completer in continuous hinting now works well with the pasted text (#389)

  • continuous hinting suggestions will no longer show up if the only hint is the same as the current token (#391)

  • available options for hover modifier keys are now listed in the setting descriptions (#377)

@krassowski/jupyterlab-lsp 2.0.7 (2020-09-18)

  • bug fixes

  • fix syntax highlighting in hover tooltips and reduce unnecessary padding and margin (#363)

  • greatly improve performance of hover action (#363)

  • improve support for expanded hovers tooltips using deprecated API (#363)

  • do not hide hover tooltips too eagerly (allowing selecting text/easy scrolling of longer tooltips) (#363)

@krassowski/jupyterlab-lsp 2.0.6 (2020-09-15)

  • bug fixes

  • fix syntax highlighting of %%language cells slowing down editing in notebooks (#361)

@krassowski/jupyterlab-lsp 2.0.5 (2020-09-11)

  • bug fixes

  • fix too aggressive overrides of IPython’s pinfo (?) and pinfo2 (??) (#352)

@krassowski/jupyterlab-lsp 2.0.4 (2020-09-11)

  • bug fixes

  • improve code overrides for IPython line magics (#346)

  • implement missing code overrides for IPython’s pinfo (?) and pinfo2 (??) syntactic sugar (#346)

@krassowski/jupyterlab-lsp 2.0.2 (2020-09-07)

  • bug fixes

  • fix code overrides not being registered properly (#340)

@krassowski/jupyterlab-lsp 2.0.1 (2020-09-07)

  • bug fixes

  • bump version of lsp-ws-connection dependency to fix the LaTeX server issues (see #337)

jupyter-lsp 0.9.2 (2020-09-03)

  • autodetects the sql language server for .sql files (#328)

  • diagnostics are provided by sqlint which requires Node 11+ to work well (in contrast to currently required Node 10+).

@krassowski/jupyterlab-lsp 2.0.0 (2020-09-03)

  • features

  • support for JupyterLab 2.2 (#301)

  • completer now displays server-provided documentation, and a kernel icon for kernel suggestions without type information (#301)

  • add two icons themes for the completer (material and vscode) (#322)

  • the documentation by the completer can be turned on or off (#315)

  • continuous hinting (Hinterland mode) can be enabled in settings (#315)

  • tokens in which the completer should not be triggered can be changed (#315)

  • configuration for the following features is now exposed in the settings editor (#318):

    • diagnostics (display, filtering)

    • hover (modifier key)

  • rename operation status reporting got improved (#318)

  • replaced the generic status icons with code check icon (coloured differently according to the status) (#318)

  • added icons for all the features and their commands (#318)

  • refactored the codebase with a new architecture which allows dynamic features, document widget adapter, and code editor registration (#318)

  • the document in the connections list in the statusbar popover are now represented by easy-to-understand DocumentLocator (breadcrumbs) widget rather than an internal id (bacc006)

  • syntax highlighting mode is adjusted to the language with the majority of the code in an editor (#319)

  • copy diagnostics message and filter diagnostics from context menu of Diagnostic Panel (#330)

  • bug fixes

  • path-autocompletion issues were resolved upstream and this release adopts these changes

  • the missing caret and document connection icons were restored in the statusbar popover (#318)

  • pressing “Cancel” rename during rename now correctly aborts the rename operation (#318)

  • when a language server for a foreign document is not available an explanation is displayed (rather than the “Connecting…” status as before) (4e5b2ad)

  • when jump target is not found a message is now shown instead of raising an exception (00448d0)

  • fixed status message expiration and replacement (8798f2d), (#329)

  • fixed some context command rank issues introduced after an attempt of migration to nulls (#318)

@krassowski/jupyterlab-lsp 1.1.2 (2020-08-05)

  • bug fixes

  • emits console warnings instead of throwing errors in hover handlers and connections (#299, #300)

  • improve URL checks in message handling to enable LaTeX diagnostics to work when configured (#288)

jupyter-lsp 0.9.1 (2020-08-05)

  • autodetects the texlab language server for .tex files (#288)

  • diagnostics should be provided by chktex on save, but don’t yet appear, but can be configured through the Advanced Settings Editor to appear on save or change

@krassowski/jupyterlab-lsp 1.1.0 (2020-07-20)

  • features

  • language servers can now be configured from the Advanced Settings Editor (#245)

  • bug fixes

  • fixes currently-highlighted token in dark editor themes against light lab theme (and vice versa) (#195)

  • restores sorting order-indicating caret icons in diagnostics panel table (#261)

  • handles document open and change operation ordering more predictably (#284)

  • fixes some pyflakes issues caused by line magics substitution (#293)

  • updated the link to the documentation of language servers (#294)

jupyter-lsp 0.9.0 (2020-07-20)

  • features

  • language servers can now be configured from the Advanced Settings Editor (#245)

  • bug fixes

  • handles document open and change operation ordering more predictably (#284)

lsp-ws-connection 0.5.0 (2020-07-20)

  • features

  • language servers can now be configured from the Advanced Settings Editor (#245)

  • bug fixes

  • handles document open and change operation ordering more predictably (#284)

@krassowski/jupyterlab-lsp 1.0.0 (2020-03-14)

  • features

  • supports JupyterLab 2.0

@krassowski/jupyterlab_go_to_definition 1.0.0 (2020-03-14)

  • features

  • supports JupyterLab 2.0

@krassowski/jupyterlab-lsp 0.8.0 (2020-03-12)

  • features

  • opens a maximum of one WebSocket per language server (#165, #199)

  • lazy-loads language server protocol machinery (#165)

  • waits much longer for slow-starting language servers (#165)

  • cleans up documents, handlers, events, and signals more aggressively (#165)

  • ignores malformed diagnostic ranges, enabling markdown support (#165)

  • passes tests on Python 3.8 on Windows (#165)

  • improves support for rpy2 magic cells with parameters ( #206 )

  • bug fixes

  • reports files are open only after installing all handlers to avoid missing messages (#201)

lsp-ws-connection 0.4.0 (2020-03-12)

  • breaking changes

  • no longer assumes one document per connection (#165)

  • requires documents be opened explicitly (#165)

  • use of the eventEmitter pattern mostly deprecated in favor of Promises (#165)

jupyter-lsp 0.8.0 (2020-03-12)

  • breaking changes

  • websockets are now serviced by implementation key, rather than language under lsp/ws/<server key> (#199)

  • introduces schema version 2, reporting status by server at lsp/status (#199)

  • bugfixes:

  • handles language server reading/writing and shadow file operations in threads (#199)

jupyter-lsp 0.7.0

  • bugfixes

  • didSave no longer causes unwanted messages in logs ( #187 )

@krassowski/jupyterlab-lsp 0.7.1

  • features

  • users can now choose which columns to display in the diagnostic panel, using a context menu action ( #159 )

  • start the diagnostics panel docked at the bottom and improve the re-spawning of the diagnostics panel ( #166 )

  • bugfixes

  • fixed various small bugs in the completer ( #162 )

  • fix documentation display in signature for LSP servers which return MarkupContent ( #164 )

lsp-ws-connection 0.3.1

  • added sendSaved() method (textDocument/didSave) ( #147 )

  • fixed getSignatureHelp() off-by-one error ( #140 )

@krassowski/jupyterlab-lsp 0.7.0

  • features

  • reduced space taken up by the statusbar indicator ( #106 )

  • implemented statusbar popover with connections statuses ( #106 )

  • generates types for server data responses from JSON schema ( #110 )

  • added ‘rename’ function for notebooks, using shadow filesystem ( #115 )

  • added a UX workaround for rope rename issues when there is a SyntaxError in the Python code ( #127 )

  • added a widget panel with diagnostics (inspections), allowing to sort and explore diagnostics, and to go to the respective location in code (with a click); accessible from the context menu ( #129 )

  • all commands are now accessible from the command palette ( #142 )

  • bash LSP now also covers %%bash magic cell in addition to %%sh ( #144 )

  • rpy2 magics received enhanced support for argument parsing in both parent Python document (re-written overrides) and exctracted R documents (improved foreign code extractor) ( #148, #153 )

  • console logs can now easily be redirected to a floating console windows for debugging of the browser tests (see CONTRIBUTING.md)

  • bugfixes

  • diagnostics in foreign documents are now correctly updated ( 133fd3d )

  • diagnostics are now always correctly displayed in the document they were intended for

  • the workaround for relative root path is now also applied on Mac ( #139 )

  • fixed LSP of R in Python (%%R magic cell from rpy2) ( #144 )

  • completion now work properly when the kernel is shut down ( #146 )

  • a lowercase completion option selected from an uppercase token will now correctly substitute the incomplete token ( #143 )

  • didSave() is emitted on file save, enabling the workaround used by R language server to lazily load library(tidyverse) ( #95, #147, )

  • signature feature is now correctly working in notebooks ( #140 )

lsp-ws-connection 0.3.0

  • infrastructure

  • brought into monorepo #107

  • dev

  • allows initializeParams to be overloaded by subclasses

  • adopts

    • typescript 3.7

    • prettier

    • tslint

  • added initialization checks before executing sendChange to comply with LSP specs #115

jupyter-lsp 0.7.0b0

  • features

  • adds a language server status endpoint ( #81 )

  • adds more descriptive information to the language server spec ( #90 )

  • adds an extensible listener API ( #99, #100 )

@krassowski/jupyterlab-lsp 0.6.1

  • features

  • adds an indicator to the statusbar

  • and many other improvements, see the release notes

  • dependencies

  • removes unused npm dependencies

@krassowski/jupyterlab-lsp 0.6.0

  • features

  • allows “rename” action in file editor

  • bugfixes

  • handles some non-standard diagnostic responses

  • testing

  • adds browser-based testing for file editor

  • dependencies

  • requires jupyter-lsp

jupyter-lsp 0.6.0b0

  • features

  • starts language servers on demand

  • accepts configuration via Jupyter config system (traitlets) and python entry_points

  • autodetects language servers for bash, CSS, LESS, SASS, Dockerfile, YAML, JS, TypeScript, JSX, TSX, JSON, YAML