Revision history for perl module PLS
0.8 2021-06-29
- Added configuration of alternate perl path just for syntax checking
using syntax.perl (client version 0.0.8 needed)
- Added configuration for enabling/disabling of syntax checking using syntax.enable
- Moved from Coro and AnyEvent to IO::Async
0.81 2021-07-01
- Fixed bug where completion did not have full list of options
- Added locking to indexing and cleanup (related to the previous fix)
- Added compatibility with perl >= 5.26 - thank you @stphnlyd (https://github.com/stphnlyd)!
- (client version 0.0.9) Added icon - thank you @kraih (https://github.com/kraih)!
0.82 2021-07-02
- Fix bug where initial indexing would not occur
- Formatting is now asynchronous function that can be cancelled,
since it can take a long time to run.
- No longer add signal handlers on Windows, to hopefully improve
compatibility
0.83 2021-07-02
- Fix crashes caused by quick typing
- Fix warnings from Future::Utils::repeat due to failed write Futures
0.84 2021-07-05
- Fix issues with completion
- Completion did not use the correct range, resulting in code getting garbled
- Completion did not always show the correct list of available subs,
or the subs most likely to be useful were buried
- Migrated from Pod::Find (no longer in core) to Pod::Simple::Search (in core)
- Hopefully fixed failed CPAN tests by including Future::* packages in the list of
dependencies
- Moved retrieval of package symbols from a perl one-liner to an IO::Async::Function,
in hopes of improved performance and easier maintenance.
0.85 2021-07-06
- Getting updated perltidy arguments from .perltidyrc no longer requires restarting PLS
0.86 2021-07-06
- Fixes and enhancements to completion
- Will now find external packages under all external modules. For example, all
packages under PLS::* will now be found instead of only PLS.
- Moved retrieval of package symbols back to a perl one-liner (reverting change from 0.84)
due to bugs related to caching previous calls to "require".
0.87 2021-07-06
- Fix to previous version - modules that are not top-level (i.e. contain "::")
were not found appropriately.
0.88 2021-07-07
- Fix to previous version - completion would show/would not show subroutines or packages
when it was appropriate to do so
- Sigils now cause the completion pop-up to display. Before, you would also need to type the
start of the variable name.
0.89 2021-07-20
- Added syntax checking/linting one second after user stops typing.
- Fixed issue where the perl binary used was inconsistent.
0.891 2021-07-22
- Syntax checking and linting now occurs in the background, which
should improve response times
- Syntax checking and linting is now single threaded, which fixes
a mysterious issue that prevents temporary files from being deleted.
- Linting now maps severity 1 issues to "information" level problems,
so that they are shown. Previously, they were considered "hints",
which are not shown by the VSCode GUI.
- Added some PLS::Parser::Document unit tests, and changes to code
to fix issues found by unit tests, mostly to improve completion.
0.892 2021-07-22
- Syntax checking and linting are now separated so that they can
run in parallel, which should improve performance.
- Syntax checking now takes advantage of IO::Async::Process instead
of using IPC::Open3.
0.893 2021-07-25
- Linting now runs single threaded, which prevents multiple runs of
linting and syntax checking from returning out of order and
showing incorrect diagnostics.
- Syntax checking and linting now create a temporary file with the same
name as the file being checked, so that no workarounds are needed
to prevent perlcritic from falsely reporting RequireFilenameMatchesPackage
errors.
0.894 2021-07-25
- Fix to previous version - no longer index files in temporary directories
that are hidden.
- Fix to previous version - add missing File::Path import.
0.895 2021-07-29
- PLS no longer crashes when opening a single file - fixes
https://github.com/FractalBoy/perl-language-server/issues/42
- Fixed an issue where syntax checking a perl file with a BEGIN
block that prints to STDOUT would cause the language client to
stop working.