jedi-language-server

A Python language server exclusively for Jedi. If Jedi supports it well, this language server should too.

MIT License

Downloads
82.6K
Stars
595
Committers
28

Bot releases are visible (Hide)

jedi-language-server - Version 0.34.5

Published by pappasam about 3 years ago

Fixed

  • InitializationOption jediSettings.debug now writes to stderr, not stdout. stdout broke the language server.
jedi-language-server - Version 0.34.4

Published by pappasam about 3 years ago

Added

  • InitializationOption jediSettings.debug that lets user configure jedi's debugging messages to print to stdout.
jedi-language-server - Version 0.34.3

Published by pappasam about 3 years ago

Fixed

  • Jedi Names may have no module_path, so lsp_location now returns an Optional[Location]. Thanks @dimbleby !
jedi-language-server - Version 0.34.2

Published by pappasam about 3 years ago

Fixed

jedi-language-server - Version 0.34.1

Published by pappasam over 3 years ago

Fixed

  • From Jedi's perspective, operations at the beginning of a line now assume they are at position 1. This ensures that hover operations work correctly at the beginning of the line.
jedi-language-server - Version 0.34.0

Published by pappasam over 3 years ago

Changed

  • Diagnostics are now cleared on document close.
jedi-language-server - Version 0.33.1

Published by pappasam over 3 years ago

Added

  • Support for serving content over web sockets.
jedi-language-server - Version 0.33.0

Published by pappasam over 3 years ago

Changed

  • Now support all Python 3.6 versions; we don't need to constrain our runtime requirements to anything less than 3.6 because only our development dependencies require Python > 3.6.0.
  • Updated pygls to 0.11.0.
jedi-language-server - Version 0.32.0

Published by pappasam over 3 years ago

Added

  • Initialization options to granularly disable names and full names for hover operations based on their Jedi type. This is useful because some text editors will automatically send hover requests when a user pauses their cursor over text and the large amount of information can get annoying for some users. Resolves: https://github.com/pappasam/jedi-language-server/issues/147. Jedi types are currently: module, class, instance, function, param, path, keyword, property, and statement.
  • Initialization option to disable hover entirely. If enable is set to false, the hover language feature will not be registered. May consider adding something similar to most language server features if this proves useful.

Changed

  • In Hover, Path has been renamed to Full name, which is more accurate and is directly tied to the hover disabling options.
  • Restrict Python version support to >= 3.6.2. Upgraded development dependencies. Latest black doesn't support Python < 3.6.2, so to keep things simple here we're now not supporting Python versions below that version either.
jedi-language-server - Version 0.31.2

Published by pappasam over 3 years ago

Fixed

  • Docstring now presents same information as before, but organized more-tersely, (arguably) more clearly, and with much better markdown syntax support. For example, the name / signature has been pulled out from the main docstring and wrapped in python triple backticks while the docstring is conditionally replaced with the description where relevant.
jedi-language-server - Version 0.31.1

Published by pappasam over 3 years ago

Fixed

  • get_type_hint is now wrapped in general Exception. It's more broken than thought, so we'll prevent this from bubbling up to users.
  • Conditionally show markdown. If users / editors want to prefer plaintext, we won't return markdown-formatted titles for the hover text
jedi-language-server - Version 0.31.0

Published by pappasam over 3 years ago

Changed

  • Markdown text that is not recognized by docstring-to-markdown is no longer automatically wrapped in a code block. I found that, more often than not, this resulted in annoying formatting for me.
  • Hover text now displays a lot more information, taking advantage of Jedi's Name methods and properties. Information now includes the module path to the name, the description, and an inferred type hint in addition to the docstring. This is all formatted with markdown so it looks pretty.
jedi-language-server - Version 0.30.3

Published by pappasam over 3 years ago

Fixed

RenameFile now works correctly: kind now correctly passed to RenameFile due to recently-released pygls updates. Minimum pygls version now 0.10.3.

jedi-language-server - Version 0.30.2

Published by pappasam over 3 years ago

Changed

Require importlib-metadata for Python 3.6 and 3.7. It is technically required and some clients might check jls version. See: https://github.com/pappasam/coc-jedi/issues/32

jedi-language-server - Version 0.30.1

Published by pappasam over 3 years ago

Fixed

jedi-language-server - Version 0.30.0

Published by pappasam over 3 years ago

Added

  • New initialization options to configure extracted variable and extracted function codeAction: nameExtractVariable and nameExtractFunction.

Changed

  • Configurable codeAction extraction names. Names are no longer randomly-generated. Instead, they are configurable in initializationOptions, defaulting to a name that's specific to jedi-language-server.
jedi-language-server - Version 0.29.0

Published by pappasam over 3 years ago

Added

  • The following CLI options:
    • --tcp: use TCP server instead of stdio
    • --host: host for TCP server (default 127.0.0.1)
    • --port: port for TCP server (default 2087)
    • --log-file: redirect logs to the given file instead of writing to stderr
    • -v / --verbose: increase verbosity of log output
  • Logging. To stderr by default, but optionally a file on the file system.
jedi-language-server - Version 0.28.8

Published by pappasam over 3 years ago

Changed

  • Updated cli to use argparse instead of click.
  • Required pygls version updated to 0.10.2 to accommodate recent bugfixes / prevent users from filing issues based on old version.

Removed

  • Removed click from dependencies.
jedi-language-server - Version 0.28.7

Published by pappasam over 3 years ago

Changed

  • Within TextEdit utils, simplify mapping from file offset to Position. This is clearer, handles edge cases better, and is more algorithmically efficient.
jedi-language-server - Version 0.28.6

Published by pappasam over 3 years ago

Fixed

General TextEdit fixes for code refactoring:

  • Update fix from 0.28.5 so that it doesn't pad at the start; no opcode will refer to old[-1:n].
  • Revert opcode.old_end -> opcode.old_end - 1. This becomes unnecessary with prior update, and indeed could be a bad idea when in the middle of a file (if you're unlucky, you could end up finding the line before the one you wanted).
  • Use pygls.document to get the old code, rather than the private jedi method.