Perl Navigator Language Server

0.8.20 · active · verified Sun Apr 19

Perl Navigator is an actively developed Language Server Protocol (LSP) implementation providing advanced code intelligence for Perl. Currently at version 0.8.20, it is designed to work across various operating systems (Windows, macOS, Linux) and integrates with popular editors supporting LSP, such as VS Code, Neovim, Emacs, and Sublime Text. It offers features like syntax checking, smart context-aware autocompletion, 'Go To Definition' (including core and installed modules), code formatting via Perl::Tidy, Perl::Critic static analysis, and imports cleanup via perlimports. A key differentiator is its broad Perl version compatibility, working back to Perl 5.8, and its robust parsing capabilities for modern Perl features and class builders like Moo/Moose/Object::Pad. While the core server is written in TypeScript and Node.js, its primary function is to enhance the Perl development experience through editor integration, not to be consumed as a JavaScript/TypeScript library directly.

Common errors

Warnings

Install

Quickstart

Demonstrates a typical LSP client configuration for Perl Navigator, showing how to invoke the server executable and configure basic settings like Perl path and include directories. This is how editors interact with the server.

{
  "languageserver": {
    "perl": {
      "command": "perlnavigator",
      "args": ["--stdio"],
      "filetypes": ["perl", "cperl", "pl", "pm", "t", "cgi", "psgi"],
      "rootPatterns": [
        "cpanfile",
        "META.json",
        "META.yml",
        ".git",
        "perlnavigator.json"
      ],
      "settings": {
        "perlnavigator.perlPath": "/usr/bin/perl",
        "perlnavigator.includePaths": ["$workspaceFolder/lib"],
        "perlnavigator.perlcriticEnabled": true
      }
    }
  }
}

view raw JSON →