NAME
PLS - Perl Language Server
DESCRIPTION
The Perl Language Server implements a subset of the Language Server Protocol for the Perl language. Features currently implemented are:
Go to definition (for packages, subroutines, and variables)
Listing all symbols in a document
Hovering to show documentation
Signature help (showing parameters for a function as you type)
Formatting
Range Formatting
Auto-completion
Syntax checking
Linting (using perlcritic)
Sorting imports
OPTIONS
This application does not take any command line options. The following settings may be configured using your text editor:
- perl.inc - a list of paths to include in @INC
-
You can use $ROOT_PATH to stand in for your project's root directory, to allow for configuration to work the same for multiple directories of the same project. This is useful if you use SVN and check out each branch to a different directory.
- perl.pls - path to pls
-
Configure this option if pls is not available in your path.
- perl.cwd - the working directory to use for pls
- perl.perltidyrc - the location of your
.perltidyrc
file. -
Defaults to
~/.perltidyrc
if not configured. - perl.perlcritic.enabled - whether to enable linting using perlcritic.
- perl.perlcritic.perlcriticrc - the location of your
.perlcriticrc
file. -
Defaults to
~/.perlcriticrc
if not configured.
You may configure a .plsignore file in your project's root directory, with a list of Perl glob patterns which you do not want pls to index.
By default, pls will index everything that looks like a Perl file, with the exception of .t
files.
CAVEATS
pls has not been tested with editors other than Visual Studio Code.
NOTES
Install the fractalboy.pls extension to Visual Studio Code in order to use this language server.
COPYRIGHT
Copyright 2021 Marc Reisner
LICENSE
This library is free software; you may redistribute it and/or modify it under the same terms as Perl itself.