Add the typstyle formatter as a fixer for Typst (#4927)
Some checks are pending
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

Co-authored-by: Adrian Vollmer <computerfluesterer@protonmail.com>
This commit is contained in:
Adrian Vollmer
2025-03-17 13:10:24 +01:00
committed by GitHub
parent 995d78435a
commit fe6a91fb92
7 changed files with 76 additions and 0 deletions

View File

@@ -707,6 +707,11 @@ let s:default_registry = {
\ 'suggested_filetypes': ['clojure'],
\ 'description': 'formatter and linter for clojure files',
\ },
\ 'typstyle': {
\ 'function': 'ale#fixers#typstyle#Fix',
\ 'suggested_filetypes': ['typst'],
\ 'description': 'A formatter for Typst files',
\ },
\}
" Reset the function registry to the default entries.

View File

@@ -0,0 +1,20 @@
" Author: Adrian Vollmer (computerfluesterer@protonmail.com)
" Description: Typst formatter using typstyle
call ale#Set('typst_typstyle_executable', 'typstyle')
call ale#Set('typst_typstyle_use_global', get(g:, 'ale_use_global_executables', 0))
call ale#Set('typst_typstyle_options', '')
function! ale#fixers#typstyle#Fix(buffer) abort
let l:executable = ale#path#FindExecutable(
\ a:buffer,
\ 'typst_typstyle',
\ ['typstyle']
\)
let l:options = ale#Var(a:buffer, 'typst_typstyle_options')
return {
\ 'command': ale#Escape(l:executable) . ' ' . l:options,
\}
endfunction