Browse Source

Add support for qmlfmt fixer (#1651)

* Add support for qmlfmt fixer
PR/add-argon
P M 5 years ago
committed by w0rp
parent
commit
f1b72218c3
3 changed files with 28 additions and 0 deletions
  1. +5
    -0
      autoload/ale/fix/registry.vim
  2. +11
    -0
      autoload/ale/fixers/qmlfmt.vim
  3. +12
    -0
      test/fixers/test_qmlfmt_fixer_callback.vader

+ 5
- 0
autoload/ale/fix/registry.vim View File

@@ -200,6 +200,11 @@ let s:default_registry = {
\ 'suggested_filetypes': ['javascript'],
\ 'description': 'Fix JavaScript files using xo --fix.',
\ },
\ 'qmlfmt': {
\ 'function': 'ale#fixers#qmlfmt#Fix',
\ 'suggested_filetypes': ['qml'],
\ 'description': 'Fix QML files with qmlfmt.',
\ },
\}

" Reset the function registry to the default entries.


+ 11
- 0
autoload/ale/fixers/qmlfmt.vim View File

@@ -0,0 +1,11 @@
call ale#Set('qml_qmlfmt_executable', 'qmlfmt')

function! ale#fixers#qmlfmt#GetExecutable(buffer) abort
return ale#Var(a:buffer, 'qml_qmlfmt_executable')
endfunction

function! ale#fixers#qmlfmt#Fix(buffer) abort
return {
\ 'command': ale#Escape(ale#fixers#qmlfmt#GetExecutable(a:buffer)),
\}
endfunction

+ 12
- 0
test/fixers/test_qmlfmt_fixer_callback.vader View File

@@ -0,0 +1,12 @@
Before:
Save g:ale_qml_qmlfmt_executable

After:
Restore

Execute(The qmlfmt fixer should use the options you set):
let g:ale_qml_qmlfmt_executable = 'foo-exe'

AssertEqual
\ {'command': ale#Escape('foo-exe')},
\ ale#fixers#qmlfmt#Fix(bufnr(''))

Loading…
Cancel
Save