summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartino Pilia <martino.pilia@gmail.com>2018-11-12 00:54:24 +0100
committerMartino Pilia <martino.pilia@gmail.com>2018-11-12 00:54:24 +0100
commit9e8f2b08401af5af83b181a0ca5419937f3fd0de (patch)
treeb8adf70a39032c82779da00f73aaafafaec4ea38
parent0b4507ed565a53ad884dd9c7a0042daa4c782ae4 (diff)
downloadale-9e8f2b08401af5af83b181a0ca5419937f3fd0de.zip
Lint ispc on disk to solve include imprecisions
-rw-r--r--README.md2
-rw-r--r--ale_linters/ispc/ispc.vim10
-rw-r--r--doc/ale.txt2
-rw-r--r--test/command_callback/test_ispc_ispc_command_callbacks.vader13
4 files changed, 9 insertions, 18 deletions
diff --git a/README.md b/README.md
index 0c96b811..801d908f 100644
--- a/README.md
+++ b/README.md
@@ -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) |
diff --git a/ale_linters/ispc/ispc.vim b/ale_linters/ispc/ispc.vim
index 283cfdff..b5f33f5b 100644
--- a/ale_linters/ispc/ispc.vim
+++ b/ale_linters/ispc/ispc.vim
@@ -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,
\})
diff --git a/doc/ale.txt b/doc/ale.txt
index c610d0d9..6910ae6f 100644
--- a/doc/ale.txt
+++ b/doc/ale.txt
@@ -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`
diff --git a/test/command_callback/test_ispc_ispc_command_callbacks.vader b/test/command_callback/test_ispc_ispc_command_callbacks.vader
index e5a0dec2..012cdee2 100644
--- a/test/command_callback/test_ispc_ispc_command_callbacks.vader
+++ b/test/command_callback/test_ispc_ispc_command_callbacks.vader
@@ -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'