jupyterlab-lsp

Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol

BSD-3-CLAUSE License

Downloads
16M
Stars
1.7K
Committers
49

Bot releases are hidden (Show)

jupyterlab-lsp - v2.1.0

Published by krassowski almost 4 years ago

This release improves jump to definition function (bringing "click to jump" and "jump back" functionality) along with multiple bug fixes and quality of life improvements. Please see the CHANGELOG.md for details on the improvements in this version.

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.3
jupyter labextension install @krassowski/[email protected]

If you are installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too and additional configuration can make your experience smoother.

Many thanks to the code contributors: @fcollonval, @bollwyvl, with special highlight of first-time contributors: @martinRenou, @karlaspuldaro, and @mnowacki-b. Thank you!

jupyterlab-lsp - v2.0.8

Published by krassowski almost 4 years ago

This bugfix release improves syntax highlighting, completer in continuous hinting mode and documentation of hover modifier keys settings.

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]

Please see the CHANGELOG.md for detail on the improvements in this version.

jupyterlab-lsp - v2.0.7

Published by krassowski about 4 years ago

This version improves the support for the hover function:

  • fix syntax highlighting in hover tooltips and reduce unnecessary padding and margin
  • greatly improve performance of hover action
  • improve support for expanded hovers tooltips using deprecated API
  • do not hide hover tooltips too eagerly (allowing selecting text/easy scrolling of longer tooltips)

Final look and feel

Dotted underlines are now working again, the performance was greatly improved by eliminating any delays; more information is now displayed if available:

hover

Corrected syntax highlighting

before after
before_lsp after_hover

For more details see #363

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.6

Published by krassowski about 4 years ago

Bug fixes:

  • Fix performance issues related to syntax highlight in foreign virtual documents in code cells (#361)

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.5

Published by krassowski about 4 years ago

Bug fixes:

  • Fix too aggressive overrides of IPython's pinfo (?) and pinfo2 (??) (#352)

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.4

Published by krassowski about 4 years ago

Bug fixes:

  • improve code overrides for IPython line magics (#346)
  • implement missing code overrides for IPython's pinfo (?) and pinfo2 (??) syntactic sugar (#346)

To upgrade to this release

  1. Make sure your JupyterLab version is 2.2

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.2

Published by krassowski about 4 years ago

A minor release to fix an issue with code replacements.

To upgrade to this release

  1. Update JupyterLab to 2.2 version

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.1

Published by krassowski about 4 years ago

A minor release to fix the LaTeX server support.

To upgrade to this release:

  1. Update JupyterLab to 2.2 version

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v2.0.0

Published by krassowski about 4 years ago

This release requires JupyterLab 2.2.

This release introduces many features and bugfixes, importantly:

  • support for SQL:
  • syntax highlighting adopting to the cell magics in IPython notebooks #319
  • completer improvements:
    • documentation preview (#301, #315)
    • icons for completion item kinds (two themes: vscode and material available by default)
    • continuous hinting/hinterland mode (#315)
  • diagnostics can now be ignored (by code or message regexp), or copied from the diagnostics panel (#330)
  • several fixes to the rename feature
  • UI improvements, and addition of icons for each of the features (#318)

Please see the CHANGELOG.md to see all the added features and bug fixes.

To upgrade to this release:

  1. Update JupyterLab to 2.2 version

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.2
jupyter labextension install @krassowski/[email protected]

Overview

Completer improvements

  • New completer icons
    completer_icons

  • Documentation panel and continuous hinting (Hinterland mode)
    continues_hinting_and_docs

Statusbar improvements

  • New statusbar icon
    Screenshot from 2020-08-20 23-57-57

  • Status popover icons restored & the document locator widget instead of document ids in the popover:
    Screenshot from 2020-08-21 00-06-58

Settings for multiple features added

Diagnostics Completion
Screenshot from 2020-09-04 00-18-11 Screenshot from 2020-09-04 00-17-59

Icons in the context menu

Screenshot from 2020-08-21 00-08-17

Syntax highlighting in cell magics

before after
Screenshot from 2020-08-21 13-54-23 Screenshot from 2020-08-21 13-53-56

Context menu actions in diagnostics panel

newcontextmenu

jupyterlab-lsp - v1.1.2

Published by krassowski about 4 years ago

This release supports JupyterLab 2.0 and 2.1 but not 2.2 and is the last release to support 2.1.x version of JupyterLab.

This release introduces support for LaTeX (note: it requires more configuration than other servers, see the documentation) and a patch aimed at interoperability with Kale (#299).

Please see the CHANGELOG.md for the details.

To upgrade to this release:

  1. Update JupyterLab to 2.1 version

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.1
jupyter labextension install @krassowski/[email protected]

Note: 1.1.1 was skipped to ensure that the correct version of all files is uploaded to npm.

jupyterlab-lsp - v1.1.0

Published by krassowski over 4 years ago

This release supports JupyterLab 2.0 and 2.1 but not 2.2. This release brings support to modify the language servers' configuration in the Advanced Settings Editor and many bug fixes.

Please see the CHANGELOG.md for the full list of changes.

To upgrade to this release:

  1. Update JupyterLab to 2.0 version

  2. Install/update LSP packages:

pip install jupyter-lsp==0.9.0
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v1.0.0

Published by krassowski over 4 years ago

This release supports JupyterLab 2.x but not JupyterLab 1.x. Starting from this release we also have online documentation at jupyterlab-lsp.readthedocs.io.

Please see the CHANGELOG.md for the full list of changes.

To upgrade to this release:

  1. Update JupyterLab to 2.0 version

  2. Install/update LSP packages:

pip install jupyter-lsp -U
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v0.8.0

Published by krassowski over 4 years ago

This is the last version for JupyterLab 1.x. A new version for 2.x version will be released soon.

Please see the CHANGELOG.md for the full list of changes.

To upgrade to this release use:

pip install jupyter-lsp -U
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v0.7.1

Published by krassowski almost 5 years ago

Improvements to the diagnostics panel: columns can now be hidden (from the context menu), the panel starts docked at the bottom by default. Many bugfixes to the completer feature.

Please see the CHANGELOG.md for the full list of changes.

To upgrade to this release use:

pip install --pre jupyter-lsp -U
jupyter labextension install @krassowski/[email protected]
jupyterlab-lsp - v0.7.0

Published by krassowski almost 5 years ago

Provides major new features:

  • renaming variables, functions, etc. in notebooks and files (see GIF below),
  • diagnostics panel for sorting and jumping to the inspections (see GIF below),
  • a statusbar popover with the current status of LSP servers

and many bugfixes and stability improvements, thanks to much higher browser test coverage.

Please see the CHANGELOG.md for the full list of changes.

To upgrade to this release use:

pip install --pre jupyter-lsp -U
jupyter labextension install @krassowski/[email protected]

rename in notebook any cell with R

diagnostics_panel

jupyterlab-lsp - v0.7.0-rc.0

Published by krassowski almost 5 years ago

Includes new features such as:

  • renaming variables in notebooks (see GIF below),
  • diagnostics panel (see GIF below),
  • statubar popover

Please see the CHANGELOG.md for details.

To help testing this release please update to this RC release with:

pip install --pre jupyter-lsp -U
jupyter labextension install @krassowski/[email protected]

diagnostics_panel

rename in notebook any cell with R

jupyterlab-lsp - v0.6.1

Published by krassowski almost 5 years ago

  • removed unused dependencies
  • added an indicator to the statusbar

v0.6.0 (soft release, untagged):

  • automated LSP servers start and traitlets-based configuration
  • "rename" action in the file editor
  • improved code navigation when there are multiple jump targets
jupyterlab-lsp - v0.5.0

Published by krassowski about 5 years ago

Major improvements and features added:

  • support for multiple LSP connections per notebook (so-called foreign, embedded/nested virtual documents) e.g. SQL or R (using rpy2) embedded in a Python notebook or CSS embedded in HTML #13
  • symbol highlights under cursor now work in both file editor and notebooks #24
  • the connection to the LSP server is automatically reconnected if lost and repetitive attempts are made to connect in the first place (after opening an editor) #4
  • code navigation in notebook and to external files was greatly improved

Minor changes:

  • the contrast of inspection suggestions has been improved #11
  • the hover-action underline now uses uniform bright blue color #11
  • the auto-invoke of completer is not triggered when inside of comments and strings #15
  • the auto-completion works in the magic cells excluded from linting
  • tooltips with signature suggestions render the documentation text treating it as pre-formatted for monsospace display, preventing malformation of docstrings #14
  • hover underline and hover tooltips are now correctly removed on mouse leave

Maintenance:

  • added a couple of initial tests suites, which are build on Travis CI,
  • integrated a tool for code quality control.
jupyterlab-lsp - v0.4.0

Published by krassowski about 5 years ago

  • IPython shell assignment lines are now masked from linting
  • Kernel completion suggestions are merged with suggestions from LSP in notebook