68 lines
2.3 KiB
Org Mode
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 |
|