Add Perl6 support via 'perl6 -c'

This commit is contained in:
Travis Gibson
2018-09-28 16:18:40 -07:00
parent a8915d885b
commit 2b2e766dc6
7 changed files with 412 additions and 0 deletions

43
doc/ale-perl6.txt Normal file
View File

@@ -0,0 +1,43 @@
===============================================================================
ALE Perl6 Integration *ale-perl6-options*
Checking code with `perl6` is disabled by default, as `perl6` code cannot be
checked without executing it. Specifically, we use the `-c` flag to see if
`perl6` code compiles. This does not execute all of the code in a file, but it
does run `BEGIN` and `CHECK` blocks. See `perl6 --help`
Full support requires a perl6 implementation that supports the
PERL6_EXCEPTIONS_HANDLER environment variable and JSON error output,
which was specified in 6.d. Rakudo version 2018.08 is the first rakudo release
that supports this. See `perl6 --version` and
https://docs.perl6.org/programs/03-environment-variables.
Without this variable, errors and warnings will appear at line 1, and can be
viewed with ALEDetail. This also serves as a fallback for errors and warnings
that do not trigger JSON output.
See |g:ale_linters|.
===============================================================================
perl6 *ale-perl6-perl6*
g:ale_perl6_perl6_executable *g:ale_perl6_perl6_executable*
*b:ale_perl6_perl6_executable*
Type: |String|
Default: `'perl6'`
This variable can be changed to modify the executable used for linting
perl6.
g:ale_perl6_perl6_options *g:ale_perl6_perl6_options*
*b:ale_perl6_perl6_options*
Type: |String|
Default: `'-c -Ilib'`
This variable can be changed to alter the command-line arguments to the
perl6 invocation.
===============================================================================
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:

View File

@@ -203,6 +203,8 @@ CONTENTS *ale-contents*
perl................................|ale-perl-perl|
perlcritic..........................|ale-perl-perlcritic|
perltidy............................|ale-perl-perltidy|
perl6.................................|ale-perl6-options|
perl6...............................|ale-perl6-perl6|
php...................................|ale-php-options|
langserver..........................|ale-php-langserver|
phan................................|ale-php-phan|
@@ -438,6 +440,7 @@ Notes:
* OCaml: `merlin` (see |ale-ocaml-merlin|), `ols`, `ocamlformat`
* Pawn: `uncrustify`
* Perl: `perl -c`, `perl-critic`, `perltidy`
* Perl6: `perl6 -c`
* PHP: `langserver`, `phan`, `php -l`, `phpcs`, `phpmd`, `phpstan`, `phpcbf`, `php-cs-fixer`, `psalm`!!
* PO: `alex`!!, `msgfmt`, `proselint`, `write-good`
* Pod: `alex`!!, `proselint`, `write-good`
@@ -1306,6 +1309,7 @@ g:ale_linters *g:ale_linters*
\ 'hack': ['hack'],
\ 'help': [],
\ 'perl': ['perlcritic'],
\ 'perl6': [],
\ 'python': ['flake8', 'mypy', 'pylint'],
\ 'rust': ['cargo'],
\ 'spec': [],