Add j2lint linter for Jinja2 templates (#5048)

Co-authored-by: Nicolas SCHMAUCH <nic.schmauch@i-0330135t.ac-bordeaux.fr>
This commit is contained in:
FouMalade
2025-10-26 06:54:22 +01:00
committed by GitHub
parent 4217461c48
commit 9811114948
6 changed files with 97 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
Before:
call ale#assert#SetUpLinterTest('jinja', 'j2lint')
After:
call ale#assert#TearDownLinterTest()
Execute(The j2lint executable should be configurable):
let g:ale_jinja_j2lint_executable = '~/.local/bin/j2lint'
AssertLinter '~/.local/bin/j2lint',
\ ale#Escape('~/.local/bin/j2lint'). ' %t'
Execute(Setting executable to 'pipenv' appends 'run j2lint'):
let g:ale_jinja_j2lint_executable = 'path/to/pipenv'
AssertLinter 'path/to/pipenv',
\ ale#Escape('path/to/pipenv') . ' run j2lint %t'
Execute(Pipenv is detected when jinja_j2lint_auto_pipenv is set):
let g:ale_jinja_j2lint_auto_pipenv = 1
call ale#test#SetFilename('../test-files/python/pipenv/whatever.py')
AssertLinter 'pipenv',
\ ale#Escape('pipenv') . ' run j2lint %t'
Execute(Setting executable to 'poetry' appends 'run j2lint'):
let g:ale_jinja_j2lint_executable = 'path/to/poetry'
AssertLinter 'path/to/poetry',
\ ale#Escape('path/to/poetry') . ' run j2lint %t'
Execute(Poetry is detected when jinja_j2lint_auto_poetry is set):
let g:ale_jinja_j2lint_auto_poetry = 1
call ale#test#SetFilename('../test-files/python/poetry/whatever.py')
AssertLinter 'poetry',
\ ale#Escape('poetry') . ' run j2lint %t'
Execute(uv is detected when jinja_j2lint_auto_uv is set):
let g:ale_jinja_j2lint_auto_uv = 1
call ale#test#SetFilename('../test-files/python/uv/whatever.py')
AssertLinter 'uv',
\ ale#Escape('uv') . ' run j2lint %t'