Add linting support for all formats supported by djlint (#4920)
CI / build_image (push) Waiting to run
CI / test_ale (--linters-only) (push) Blocked by required conditions
CI / test_ale (--neovim-07-only) (push) Blocked by required conditions
CI / test_ale (--neovim-08-only) (push) Blocked by required conditions
CI / test_ale (--vim-80-only) (push) Blocked by required conditions
CI / test_ale (--vim-90-only) (push) Blocked by required conditions

* Refactor djlint linter code

This patch moves the code to the `autoload` directory, so it's available
when it's needed by a specific linter. This avoids redundant code when
another format supported by djlint is added.

* Add linting support for all formats supported by djlint

So far, the `djlint` linter in ALE only supported `html`, which is only
one of several file types supported by `djlint`.

This patch adds support for the following file types:

* gohtmltmpl
* handlebars
* htmlangular
* htmldjango
* jinja
* nunjucks

* Add djlint fixer for various HTML template formats

* Supported formats:
    - html
    - htmlangular
    - htmldjango
    - jinja
    - handlebars
    - nunjucks
    - gohtmltmpl

* Add doc entries

* Add vader tests

---------

Co-authored-by: Adrian Vollmer <computerfluesterer@protonmail.com>
This commit is contained in:
Adrian Vollmer
2025-03-18 07:56:32 +09:00
committed by GitHub
co-authored by Adrian Vollmer
parent fe6a91fb92
commit 47f1f49655
23 changed files with 448 additions and 38 deletions
+11
View File
@@ -243,6 +243,8 @@ formatting.
* [gotype](https://godoc.org/golang.org/x/tools/cmd/gotype) :warning: :floppy_disk:
* [revive](https://github.com/mgechev/revive) :warning: :floppy_disk:
* [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) :warning: :floppy_disk:
* Go HTML Templates
* [djlint](https://djlint.com/)
* GraphQL
* [eslint](http://eslint.org/)
* [gqlint](https://github.com/happylinks/gqlint)
@@ -256,6 +258,7 @@ formatting.
* Haml
* [haml-lint](https://github.com/brigade/haml-lint)
* Handlebars
* [djlint](https://djlint.com/)
* [ember-template-lint](https://github.com/rwjblue/ember-template-lint)
* Haskell
* [brittany](https://github.com/lspitzner/brittany)
@@ -293,6 +296,10 @@ formatting.
* [rustywind](https://github.com/avencera/rustywind)
* [tidy](http://www.html-tidy.org/)
* [write-good](https://github.com/btford/write-good)
* HTML Angular
* [djlint](https://djlint.com/)
* HTML Django
* [djlint](https://djlint.com/)
* Hurl
* [hurlfmt](https://hurl.dev)
* Idris
@@ -330,6 +337,8 @@ formatting.
* [standard](http://standardjs.com/)
* [tsserver](https://github.com/Microsoft/TypeScript/wiki/Standalone-Server-%28tsserver%29)
* [xo](https://github.com/sindresorhus/xo)
* Jinja
* [djlint](https://djlint.com/)
* JSON
* [VSCode JSON language server](https://github.com/hrsh7th/vscode-langservers-extracted)
* [biome](https://biomejs.dev/)
@@ -430,6 +439,8 @@ formatting.
* [alex](https://github.com/get-alex/alex)
* [proselint](http://proselint.com/)
* [write-good](https://github.com/btford/write-good)
* Nunjucks
* [djlint](https://djlint.com/)
* Objective-C
* [ccls](https://github.com/MaskRay/ccls)
* [clang](http://clang.llvm.org/)