This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+lang/perl5/README.org
2019-05-15 21:08:21 +03:00

68 lines
2.3 KiB
Org Mode

#+TITLE: Perl5 layer
#+TAGS: general|layer|multi-paradigm|programming
[[file:img/perl5.png]]
* Table of Contents :TOC_5_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#install][Install]]
- [[#layer][Layer]]
- [[#auto-completion-plsense][Auto-completion: PlSense]]
- [[#key-bindings][Key bindings]]
- [[#perldoc][Perldoc]]
- [[#pod-and-here-doc][POD and HERE doc]]
- [[#find-symbol][Find Symbol]]
- [[#formatting-code][Formatting Code]]
* Description
This layer adds support for the Perl5 language.
** Features:
- Syntactic and semantic checking using [[https://github.com/flycheck/flycheck][flycheck]]
- Auto-completion using [[https://github.com/CeleritasCelery/company-plsense][company-plsense]]
- Format code with =perltidy=
- Jump to symbol definition
- Interactive debug via [[https://github.com/realgud/realgud][realgud]] with [[http://search.cpan.org/~rocky/Devel-Trepan-0.73/lib/Devel/Trepan.pm][trepan.pl]]
* Install
** Layer
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =perl5= to the existing =dotspacemacs-configuration-layers= list in this
file.
** Auto-completion: PlSense
=company-plsense= requires installation of the =plsense= server from [[https://github.com/aki2o/plsense#install][here]].
* Key bindings
** Perldoc
Browse formatted perldocs.
| Key binding | Description |
|-------------+---------------------------------|
| ~SPC m h h~ | view perldoc of symbol at point |
| ~SPC m h d~ | view perldoc of any symbol |
** POD and HERE doc
Select a POD or HERE doc.
| Key binding | Description |
|-------------+----------------------------------------|
| ~SPC m v~ | select entire POD or HERE doc at point |
** Find Symbol
Jump to symbol definition.
| Key binding | Description |
|-------------+-------------------------------------------|
| ~SPC m g g~ | jump to symbol definition |
| ~SPC m g G~ | jump to symbol definition in other window |
** Formatting Code
| Key binding | Description |
|-------------+-------------------------------|
| ~SPC m = =~ | format current line or region |
| ~SPC m = b~ | format current buffer |
| ~SPC m = f~ | format current function |