Cuda programs may produce different errors depending on the architecture of the
target hardware. The canonical example and reason for writing this patch, is the
lack of support for double precision numbers on older hardware. By default, nvcc
and thus syntastic, defaults to the most basic architecture. This can produce
false errors if the developer intends to compile for newer hardware and use
newer features.
Not defining g:syntastic_cuda_arch preserves this behavior. Otherwise the user
is expected to set it a valid arch flag, as listed by `nvcc --help`.
Example:
let g:syntastic_cuda_arch = "sm_20"
Some users might want to disable some checks for puppet-lint if they do
not intend to follow all of the style recommendations. There is
currently no way of doing that.
By adding a global variable synstastic_puppet_lint_arguments, one can
now set arguments to pass to puppet-lint via .vimrc.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
First example:
$ echo -e 'if (0)\nsome();\n}' | perl -c -
Semicolon seems to be missing at - line 1.
syntax error at - line 2, near ")
some"
Unmatched right curly bracket at - line 3, at end of line
- had compilation errors.
$ echo -e 'if (0)\nsome();\n}' | perl syntax_checkers/efm_perl.pl -c -
-:1:Semicolon seems to be missing
Second example:
$ echo -e 'if (0)' | perl -c -
syntax error at - line 1, at EOF
- had compilation errors.
$ echo -e 'if (0)' | perl syntax_checkers/efm_perl.pl -c -
Since 7.3.449 trying to :lclose inside BufWinLeave result in E855:
$ vi -u /dev/null --noplugin -N
:autocmd BufWinLeave * if empty(&bt) | lclose | endif
:lexpr(':1:msg') | lopen | wincmd p | lclose
E855: Autocommands caused command to abort
$ vi -u /dev/null --noplugin -N
:autocmd BufWinLeave * if empty(&bt) | lclose | endif
:lexpr(':1:msg') | lopen | wincmd p | q
E855: Autocommands caused command to abort
Another issue with this autocmd is &bt in BufWinLeave may be different from
the buffer being unloaded (this is documented behaviour for BufWinLeave).
Replacing &bt with getbufvar(0+expand('<abuf>'), '&bt') solve this, but
doesn't fix issue with E855 completely (first of above examples with
:lclose is fixed, but second with :q is not fixed).
So, to work around E855 I've changed way to close location-list:
instead of closing it on BufWinLeave, it's closed on BufEnter into
location-list window if it's only buffer in current window.
It will compile all *.java files in the pwd and apply the errorformat string
from quickfix.txt
Interesting additional features would be:
* @argument files
* setting the pwd for javac
* perform only a syntax check (javac currently always builds class files)
That variable specify the file which contains a list of filename that
Closure Compiler processes at once.
It can be useful for a project using 'require' statement like node.js.