Lint ispc on disk to solve include imprecisions
This commit is contained in:
parent
0b4507ed56
commit
9e8f2b0840
4 changed files with 9 additions and 18 deletions
|
@ -140,7 +140,7 @@ formatting.
|
|||
| HCL | [terraform-fmt](https://github.com/hashicorp/terraform) |
|
||||
| HTML | [alex](https://github.com/wooorm/alex) !!, [HTMLHint](http://htmlhint.com/), [proselint](http://proselint.com/), [tidy](http://www.html-tidy.org/), [prettier](https://github.com/prettier/prettier), [write-good](https://github.com/btford/write-good) |
|
||||
| Idris | [idris](http://www.idris-lang.org/) |
|
||||
| ISPC | [ispc](https://ispc.github.io/) |
|
||||
| ISPC | [ispc](https://ispc.github.io/) !! |
|
||||
| Java | [checkstyle](http://checkstyle.sourceforge.net), [javac](http://www.oracle.com/technetwork/java/javase/downloads/index.html), [google-java-format](https://github.com/google/google-java-format), [PMD](https://pmd.github.io/), [javalsp](https://github.com/georgewfraser/vscode-javac), [uncrustify](https://github.com/uncrustify/uncrustify) |
|
||||
| JavaScript | [eslint](http://eslint.org/), [flow](https://flowtype.org/), [jscs](http://jscs.info/), [jshint](http://jshint.com/), [prettier](https://github.com/prettier/prettier), [prettier-eslint](https://github.com/prettier/prettier-eslint-cli), [prettier-standard](https://github.com/sheerun/prettier-standard), [standard](http://standardjs.com/), [xo](https://github.com/sindresorhus/xo)
|
||||
| JSON | [fixjson](https://github.com/rhysd/fixjson), [jsonlint](http://zaa.ch/jsonlint/), [jq](https://stedolan.github.io/jq/), [prettier](https://github.com/prettier/prettier) |
|
||||
|
|
|
@ -4,14 +4,11 @@
|
|||
call ale#Set('ispc_ispc_executable', 'ispc')
|
||||
call ale#Set('ispc_ispc_options', '')
|
||||
|
||||
" ISPC has no equivalent of gcc's -iquote argument, so use a -I for headers
|
||||
" in the same directory. Not perfect, since now local headers are accepted
|
||||
" by #include<> while they should not, but better than nothing.
|
||||
function! ale_linters#ispc#ispc#GetCommand(buffer) abort
|
||||
return '%e '
|
||||
\ . '-I ' . ale#Escape(fnamemodify(bufname(a:buffer), ':p:h'))
|
||||
return '%e'
|
||||
\ . ale#Pad(ale#c#IncludeOptions(ale#c#FindLocalHeaderPaths(a:buffer)))
|
||||
\ . ale#Pad(ale#Var(a:buffer, 'ispc_ispc_options')) . ' -'
|
||||
\ . ale#Pad(ale#Var(a:buffer, 'ispc_ispc_options'))
|
||||
\ . ' %s'
|
||||
endfunction
|
||||
|
||||
" Note that we ignore the two warnings in the beginning of the compiler output
|
||||
|
@ -65,4 +62,5 @@ call ale#linter#Define('ispc', {
|
|||
\ 'executable_callback': ale#VarFunc('ispc_ispc_executable'),
|
||||
\ 'command_callback': 'ale_linters#ispc#ispc#GetCommand',
|
||||
\ 'callback': 'ale_linters#ispc#ispc#Handle',
|
||||
\ 'lint_file': 1,
|
||||
\})
|
||||
|
|
|
@ -437,7 +437,7 @@ Notes:
|
|||
* HCL: `terraform-fmt`
|
||||
* HTML: `alex`!!, `HTMLHint`, `proselint`, `tidy`, `prettier`, `write-good`
|
||||
* Idris: `idris`
|
||||
* ISPC: `ispc`
|
||||
* ISPC: `ispc`!!
|
||||
* Java: `checkstyle`, `javac`, `google-java-format`, `PMD`, `javalsp`, `uncrustify`
|
||||
* JavaScript: `eslint`, `flow`, `jscs`, `jshint`, `prettier`, `prettier-eslint`, `prettier-standard`, `standard`, `xo`
|
||||
* JSON: `fixjson`, `jsonlint`, `jq`, `prettier`
|
||||
|
|
|
@ -6,22 +6,15 @@ After:
|
|||
|
||||
Execute(The executable should be configurable):
|
||||
AssertLinter 'ispc',
|
||||
\ ale#Escape('ispc')
|
||||
\ . ' -I ' . ale#Escape(getcwd())
|
||||
\ . ' -'
|
||||
\ ale#Escape('ispc') . ' %s'
|
||||
|
||||
let b:ale_ispc_ispc_executable = 'foo'
|
||||
|
||||
AssertLinter 'foo',
|
||||
\ ale#Escape('foo')
|
||||
\ . ' -I ' . ale#Escape(getcwd())
|
||||
\ . ' -'
|
||||
\ ale#Escape('foo') . ' %s'
|
||||
|
||||
Execute(The options should be configurable):
|
||||
let g:ale_ispc_ispc_options = '--foo'
|
||||
|
||||
AssertLinter 'ispc',
|
||||
\ ale#Escape('ispc')
|
||||
\ . ' -I ' . ale#Escape(getcwd())
|
||||
\ . ' --foo'
|
||||
\ . ' -'
|
||||
\ ale#Escape('ispc') . ' --foo' . ' %s'
|
||||
|
|
Reference in a new issue