48 lines
1.7 KiB
Org Mode
48 lines
1.7 KiB
Org Mode
#+TITLE: perl6 layer
|
|
|
|
#+TAGS: general|layer|multi-paradigm|programming
|
|
|
|
[[file:img/camelia-logo.png]]
|
|
|
|
* Table of Contents :TOC_5_gh:noexport:
|
|
- [[#description][Description]]
|
|
- [[#features][Features:]]
|
|
- [[#install][Install]]
|
|
- [[#layer][Layer]]
|
|
- [[#jump-to-definition][Jump to definition]]
|
|
- [[#key-bindings][Key bindings]]
|
|
|
|
* Description
|
|
This layer provides an environment for the [[https://perl6.org/][Perl 6 Programming Language]].
|
|
|
|
** Features:
|
|
- Jump to definition & Code completion via [[https://github.com/universal-ctags/ctags][ctags-universal]]
|
|
- Syntax checking via [[https://github.com/hinrik/flycheck-perl6][flycheck-perl6]] and =perl6 -c=
|
|
- Syntax highlighting & Syntax indentation via [[https://github.com/hinrik/perl6-mode][perl6-mode]]
|
|
- =META6.json= highlighting via [[https://github.com/joshwnj/json-mode][json-mode]]
|
|
- Provides Evil text objects for:
|
|
- double-angle-brackets
|
|
- corner-brackets
|
|
- single-quotation-marks
|
|
- double-quotation-marks
|
|
|
|
* Install
|
|
** Layer
|
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
|
add =perl6= to the existing =dotspacemacs-configuration-layers= list in this
|
|
file.
|
|
|
|
** Jump to definition
|
|
Jump to definition requires [[https://github.com/universal-ctags/ctags][ctags-universal]] to be be installed.
|
|
Then you can generate the =TAGS= file for your projects like this:
|
|
|
|
#+BEGIN_SRC shell
|
|
ctags -e -Ra lib t/
|
|
ctags -e -Ra --language-force=Perl6 bin/ $YOUR_PERL_PATH/share/perl6/site/sources/
|
|
#+END_SRC
|
|
|
|
* Key bindings
|
|
|
|
| Key binding | Description |
|
|
|-------------+------------------------------------------------|
|
|
| ~SPC m g g~ | Jump to definition (requires =ctags-universal= |
|