Add support for yang-lsp
This commit is contained in:
parent
209cd54783
commit
d0e3302253
5 changed files with 47 additions and 0 deletions
|
@ -191,6 +191,7 @@ formatting.
|
||||||
| XHTML | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
| XHTML | [alex](https://github.com/wooorm/alex) !!, [proselint](http://proselint.com/), [write-good](https://github.com/btford/write-good) |
|
||||||
| XML | [xmllint](http://xmlsoft.org/xmllint.html) |
|
| XML | [xmllint](http://xmlsoft.org/xmllint.html) |
|
||||||
| YAML | [swaglint](https://github.com/byCedric/swaglint), [yamllint](https://yamllint.readthedocs.io/) |
|
| YAML | [swaglint](https://github.com/byCedric/swaglint), [yamllint](https://yamllint.readthedocs.io/) |
|
||||||
|
| YANG | [yang-lsp](https://github.com/theia-ide/yang-lsp) |
|
||||||
|
|
||||||
<a name="usage"></a>
|
<a name="usage"></a>
|
||||||
|
|
||||||
|
|
14
ale_linters/yang/yang_lsp.vim
Normal file
14
ale_linters/yang/yang_lsp.vim
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
call ale#Set('yang_lsp_executable', 'yang-language-server')
|
||||||
|
|
||||||
|
function! ale_linters#yang#yang_lsp#GetProjectRoot(buffer) abort
|
||||||
|
let l:project_root = ale#path#FindNearestFile(a:buffer, 'yang.settings')
|
||||||
|
return !empty(l:project_root) ? fnamemodify(l:project_root, ':h') : ''
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
call ale#linter#Define('yang', {
|
||||||
|
\ 'name': 'yang_lsp',
|
||||||
|
\ 'lsp': 'stdio',
|
||||||
|
\ 'executable_callback': ale#VarFunc('yang_lsp_executable'),
|
||||||
|
\ 'project_root_callback': 'ale_linters#yang#yang_lsp#GetProjectRoot',
|
||||||
|
\ 'command': '%e',
|
||||||
|
\})
|
17
doc/ale-yang.txt
Normal file
17
doc/ale-yang.txt
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
===============================================================================
|
||||||
|
ALE YANG Integration *ale-yang-options*
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
yang-lsp *ale-yang-lsp*
|
||||||
|
|
||||||
|
g:ale_yang_lsp_executable *g:ale_yang_lsp_executable*
|
||||||
|
*b:ale_yang_lsp_executable*
|
||||||
|
Type: |String|
|
||||||
|
Default: `'yang-language-server'`
|
||||||
|
|
||||||
|
This variable can be changed to use a different executable for yang-lsp.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl:
|
|
@ -292,6 +292,8 @@ CONTENTS *ale-contents*
|
||||||
yaml..................................|ale-yaml-options|
|
yaml..................................|ale-yaml-options|
|
||||||
swaglint............................|ale-yaml-swaglint|
|
swaglint............................|ale-yaml-swaglint|
|
||||||
yamllint............................|ale-yaml-yamllint|
|
yamllint............................|ale-yaml-yamllint|
|
||||||
|
yang..................................|ale-yang-options|
|
||||||
|
yang-lsp............................|ale-yang-lsp|
|
||||||
8. Commands/Keybinds....................|ale-commands|
|
8. Commands/Keybinds....................|ale-commands|
|
||||||
9. API..................................|ale-api|
|
9. API..................................|ale-api|
|
||||||
10. Special Thanks......................|ale-special-thanks|
|
10. Special Thanks......................|ale-special-thanks|
|
||||||
|
@ -435,6 +437,7 @@ Notes:
|
||||||
* XHTML: `alex`!!, `proselint`, `write-good`
|
* XHTML: `alex`!!, `proselint`, `write-good`
|
||||||
* XML: `xmllint`
|
* XML: `xmllint`
|
||||||
* YAML: `swaglint`, `yamllint`
|
* YAML: `swaglint`, `yamllint`
|
||||||
|
* YANG: `yang-lsp`
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
3. Linting *ale-lint*
|
3. Linting *ale-lint*
|
||||||
|
|
12
test/command_callback/test_yang_lsp_command_callbacks.vader
Normal file
12
test/command_callback/test_yang_lsp_command_callbacks.vader
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Before:
|
||||||
|
call ale#assert#SetUpLinterTest('yang', 'yang_lsp')
|
||||||
|
|
||||||
|
After:
|
||||||
|
call ale#assert#TearDownLinterTest()
|
||||||
|
|
||||||
|
Execute(The executable should be configurable):
|
||||||
|
AssertLinter 'yang-language-server', ale#Escape('yang-language-server')
|
||||||
|
|
||||||
|
let b:ale_yang_lsp_executable = 'foobar'
|
||||||
|
|
||||||
|
AssertLinter 'foobar', ale#Escape('foobar')
|
Reference in a new issue