https://github.com/weedz/vscode-perl-language-server
https://github.com/weedz/vscode-perl-language-server
language-server-protocol looking-for-maintainer perl vscode-extension
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/weedz/vscode-perl-language-server
- Owner: weedz
- License: mit
- Created: 2022-04-14T23:45:55.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-07-23T03:10:50.000Z (11 months ago)
- Last Synced: 2025-07-23T05:19:55.982Z (11 months ago)
- Topics: language-server-protocol, looking-for-maintainer, perl, vscode-extension
- Language: TypeScript
- Homepage:
- Size: 401 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Perl language server for vscode
## :warning: This project is not being maintained
Unfortunately, the former maintainer no longer have the time and/or resources to work on this project. For more information see this [issue](https://github.com/weedz/vscode-perl-language-server/issues/2).
[](https://marketplace.visualstudio.com/items?itemName=linus-bjorklund.perl-lsp)
Performs a really basic static analyze of perl code to provide the following:
- Workspace and document symbol definitions (packages and functions)
- Goto definition (packages and functions)
- Autocomplete (packages and functions)
- Signature help
Including completion and signature help for most [builtin functions](https://metacpan.org/dist/perl/view/pod/perlfunc.pod)
The way this is implemented means the following perl program will create a function symbol `hello`:
```perl
my $str = q^
sub hello {
print "world!";
}^;
```
I will not parse perl in any way so this is unfortunately a limitation of the current implementation.
## Installation
Available from the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=linus-bjorklund.perl-lsp).
or
Prepackaged vscode extension is available from the [releases](https://github.com/weedz/vscode-perl-language-server/releases).
Download and then open the command palatte in vscode and search for "Extension: Install from VSIX..." and select the downloaded file.
### From source
Install all dependencies:
```console
npm install
```
To package a vscode extension (`.vsix`) you will need the package `vsce`:
```console
npm install -g vsce
```
You can now run:
```console
vsce package
```
## Development
Run the watch script:
```console
npm run esbuild-watch
```
Should now be able to "debug" the extension with "Run > Start Debugging (F5)"