Skip to content

Releases: FractalBoy/perl-language-server

Server Release 0.905 / Client Release v0.0.17

21 Jan 21:55
Compare
Choose a tag to compare
  • Many performance improvements for completion
  • Many usability improvements for completion
  • Signature help performance improvements
  • Syntax checking improvements
    • Now using require for syntax checking - thank you @rabbiveesh!
  • Syntax checking now includes POD errors, if Pod::Checker is installed
    and POD checking is enabled.
  • Fixed a crash when code uses File::Glob
  • Server no longer checks to see if the client process is still running, to allow
    for running PLS in a container - thank you @mbudde!

Server Release - 0.902

30 Aug 16:02
Compare
Choose a tag to compare
  • Ignore default configuration in the perl. namespace.

Server Release - 0.901

30 Aug 03:53
Compare
Choose a tag to compare
  • Allow tests to pass from hidden directory
  • Add use strict and warnings to PLS::JSON

Server Release 0.900 / Client Release 0.0.15

30 Aug 03:13
Compare
Choose a tag to compare
  • Improvements to indexing:
    • Indexing is done using PPR now, instead of PPI, which is much faster.
    • Indexing is now performed by multiple child processes, which is faster.
    • The index is no longer written to a file; instead it is done during startup.
    • Files are now reindexed on change, not just when they are saved.
    • .pls-tmp-* file deletion no longer triggers a cleanup of the index, which should
      improve performance, because it prevents a synchronous stat() of all files.
    • Indexing progress is no longer logged. Instead, it is displayed as work done progress.
  • Support for multiple workspace folders has been added.
  • Handling for edge cases related to completion has been improved.
  • Support for non-ASCII characters in your Perl source code has been added.
  • Go to definition now works for subroutine calls or references,
    where the subroutine name is prefixed by &.
  • Go to definition now works for method calls prefixed by "SUPER".
  • The client process is now periodically checked to make sure it is still
    running. If it isn't, the server will exit.
  • Added Perl code snippets for common patterns.
  • Instead of attempting to filter completion results on the server side first,
    everything relevant is returned and filtering is now all done by the client.
  • Syntax checking and linting is now multi-threaded. Document versions are used to
    ensure old diagnostics are not returned to the client.
    • Files are now checked to ensure they are not closed after syntax checking and linting
      is complete, but before the diagnostics are sent to the client. This prevents diagnostics from hanging around after a file is closed.
  • The first parameter is now skipped in signature help if a subroutine is
    being called as a class or instance method.
  • PLS now evaluates use statements and determines which imported functions are available
    to be used directly instead of with their fully-qualified names.
    • Hover and completion resolve documentation is available for these functions.
  • Perl built-in variables were added to the completion list.
    • Completion resolve documentation is available for these variables.
  • PLS can now use Cpanel::JSON::XS instead of JSON::XS for improved performance.
  • PPI documents are no longer cached after every change, which was of questionable
    utility and used a ton of memory.
  • Configuration items have been migrated from the perl. to the pls. namespace.
    • This is to prevent conflict with configuration from other Perl language servers in Emacs.
    • Support for configuration in the perl. namespace has been deprecated but not removed.
    • Configuration in the perl. namespace currently takes precedence in order to prevent
      broken configuration on upgrade.
  • Various other stability and quality of life improvements.

Server Release 0.899 / Client Release 0.0.14

02 Mar 03:20
Compare
Choose a tag to compare
  • PLS is now compatible with BBEdit - thank you @mixio (https://github.com/mixio) and @tjparnell (https://github.com/tjparnell)!
  • Errors formatting text with perltidy no longer result in errors from the client, and the text will now simply not be formatted. In VSCode, this prevents disruptive notifications that a request has failed.
  • Documentation has been updated to include information about syntax related settings.

Server Release 0.898 / Client Release 0.0.13

20 Jan 03:00
Compare
Choose a tag to compare

This release fixes one issue: #80

Compilation errors are now displayed if there is a filehandle context in the error - thank you @bscan (https://github.com/bscan)!

Server Release - 0.897

23 Oct 21:16
Compare
Choose a tag to compare
  • Fix issue causing closed files to be displayed in problems window
  • Added workspace symbol support

Client Release - 0.0.12

23 Oct 21:25
Compare
Choose a tag to compare

This release contains NPM package security updates only.

Server Release - 0.896

07 Aug 15:53
Compare
Choose a tag to compare
  • Completion now handles some edge cases a little better than before
  • Completion will no longer suggest things with newlines in them
  • Fixes/enhancements to syntax checking/linting temporary files:
    • Temporary files are now cleaned up appropriately on NFS
    • Linting no longer uses a temporary file. Only syntax checking make use of the temporary file now.
    • Temporary directories are no longer created, only temporary files.
    • Temporary files now have a predictable prefix: .pls-tmp-

Client Release - 0.0.11

07 Aug 17:04
Compare
Choose a tag to compare
  • Added new configuration item - perl.plsargs, which allows you to pass arguments to your pls command. This is useful for using with docker, ssh, or some other, more complex command.