Add support for LilyPond syntax (#5117)

* Add support for LilyPond syntax

See: https://lilypond.org/

* Fix alpha order of LilyPond

* Add support for custom executable and options to lilypond linter

Enhances the lilypond linter with configurable options:
- Add g:ale_lilypond_lilypond_executable for custom lilypond binary path
- Add g:ale_lilypond_lilypond_options for additional command-line flags
- Refactor linter to use GetCommand() function for dynamic command building
- Add linter tests covering configuration scenarios
- Update documentation with usage examples and proper formatting

---------

Co-authored-by: samb0t <sambottoni@gmail.com>
This commit is contained in:
samb0t
2026-04-10 09:09:18 -05:00
committed by GitHub
parent ba8b9cbab9
commit 6b63f4e70a
7 changed files with 159 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
Before:
call ale#assert#SetUpLinterTest('lilypond', 'lilypond')
call ale#test#SetFilename('test.ly')
let g:ale_lilypond_lilypond_executable = 'lilypond'
let g:ale_lilypond_lilypond_options = ''
After:
call ale#assert#TearDownLinterTest()
Execute(The executable should default to lilypond):
AssertLinter 'lilypond',
\ ale#Escape('lilypond') . ' --loglevel=WARNING -dbackend=null -dno-print-pages -o /tmp %t 2>&1'
Execute(Should be able to set a custom executable):
let g:ale_lilypond_lilypond_executable = 'bin/lilypond'
AssertLinter 'bin/lilypond',
\ ale#Escape('bin/lilypond') . ' --loglevel=WARNING -dbackend=null -dno-print-pages -o /tmp %t 2>&1'
Execute(Should be able to set custom options):
let g:ale_lilypond_lilypond_options = '--include=/path/to/includes'
AssertLinter 'lilypond',
\ ale#Escape('lilypond') . ' --loglevel=WARNING -dbackend=null -dno-print-pages -o /tmp'
\ . ' --include=/path/to/includes %t 2>&1'
Execute(Should be able to set both custom executable and options):
let g:ale_lilypond_lilypond_executable = '/usr/local/bin/lilypond'
let g:ale_lilypond_lilypond_options = '--include=/custom/path -dlog-file=/tmp/lily.log'
AssertLinter '/usr/local/bin/lilypond',
\ ale#Escape('/usr/local/bin/lilypond') . ' --loglevel=WARNING -dbackend=null -dno-print-pages -o /tmp'
\ . ' --include=/custom/path -dlog-file=/tmp/lily.log %t 2>&1'