The Perl Navigator: Code Intelligence for any Editor – Brian Scannell



The Perl Navigator: Code Intelligence for any Editor – Brian Scannell

The Perl Navigator: Code Intelligence for any Editor - Brian Scannell

Language Servers provide language intelligence features such as autocomplete via standardized protocol that can be consumed by different editors. This allows developers to use their preferred code editor and still receive the same high quality code intelligence as any other editor. In this talk, I’ll go through the basics of the Language Server Protocol as well as the architecture of the Perl Navigator, a new language server for Perl.

The Perl Navigator supports syntax checking, code navigation, autocompletion, hover, Perl::Critic and Perl::Tidy. It works on Linux, MacOS, Windows, and can be used in Visual Studio Code, Vim, NeoVim, Emacs and Sublime Text, and supports back to Perl 5.8. I’ll discuss the architecture of the Perl Navigator, including symbol table parsing and how it leverages the B:: compiler backend. I’ll also discuss the roadmap for new integrations and contribution opportunities for those interested. A simplified Raku Navigator exists as well for those who need Raku support.