mirror of
https://github.com/amix/vimrc
synced 2025-06-29 02:55:01 +08:00
Updated plugins
This commit is contained in:
@ -36,7 +36,9 @@ CONTENTS *syntastic-contents*
|
||||
5.2.Choosing the executable................|syntastic-config-exec|
|
||||
5.3.Configuring specific checkers..........|syntastic-config-makeprg|
|
||||
5.4.Sorting errors.........................|syntastic-config-sort|
|
||||
5.5.Debugging..............................|syntastic-config-debug|
|
||||
5.5.Filtering errors.......................|syntastic-config-filtering|
|
||||
5.6.Debugging..............................|syntastic-config-debug|
|
||||
5.7.Profiling..............................|syntastic-profiling|
|
||||
6.Notes........................................|syntastic-notes|
|
||||
6.1.Handling of composite filetypes........|syntastic-composite|
|
||||
6.2.Editing files over network.............|syntastic-netrw|
|
||||
@ -91,21 +93,21 @@ Syntastic comes preconfigured with a default list of enabled checkers per
|
||||
trying to use conflicting checkers.
|
||||
|
||||
You can see the list of checkers available for the current filetype with the
|
||||
|:SyntasticInfo| command.
|
||||
`:SyntasticInfo` command.
|
||||
|
||||
You probably want to override the configured list of checkers for the
|
||||
filetypes you use, and also change the arguments passed to specific checkers
|
||||
to suit your needs. See |syntastic-checker-options| below for details.
|
||||
|
||||
Use |:SyntasticCheck| to manually check right now. Use |:Errors| to open the
|
||||
|location-list| window, and |:lclose| to close it. You can clear the error
|
||||
list with |:SyntasticReset|, and you can use |:SyntasticToggleMode| to switch
|
||||
Use `:SyntasticCheck` to manually check right now. Use `:Errors` to open the
|
||||
|location-list| window, and `:lclose` to close it. You can clear the error
|
||||
list with `:SyntasticReset`, and you can use `:SyntasticToggleMode` to switch
|
||||
between active (checking on writing the buffer) and passive (manual) checking.
|
||||
|
||||
You don't have to switch focus to the |location-list| window to jump to the
|
||||
different errors. Vim provides several built-in commands for this, for
|
||||
example |:lnext| and |:lprevious|. You may want to add shortcut mappings for
|
||||
these commands, or perhaps install a plugin such as Tim Pope's 'unimpaired'
|
||||
example `:lnext` and `:lprevious`. You may want to add shortcut mappings for
|
||||
these commands, or perhaps install a plugin such as Tim Pope's "unimpaired"
|
||||
(see https://github.com/tpope/vim-unimpaired) that provides such mappings.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
@ -128,7 +130,7 @@ needed: >
|
||||
2. Functionality provided *syntastic-functionality*
|
||||
|
||||
Syntax checking can be done automatically or on demand (see
|
||||
|'syntastic_mode_map'| and |:SyntasticToggleMode| for configuring this).
|
||||
|'syntastic_mode_map'| and `:SyntasticToggleMode` for configuring this).
|
||||
|
||||
When syntax checking is done, the features below can be used to notify the
|
||||
user of errors. See |syntastic-global-options| for how to configure and
|
||||
@ -167,19 +169,19 @@ possible solutions. See also |syntastic-powerline| below if you're using the
|
||||
------------------------------------------------------------------------------
|
||||
2.2. Error signs *syntastic-error-signs*
|
||||
|
||||
Syntastic uses the |:sign| commands (provided that the |+signs| feature is
|
||||
Syntastic uses the `:sign` commands (provided that the |+signs| feature is
|
||||
compiled in) to mark lines with errors and warnings in the sign column. To
|
||||
enable this feature, use the |'syntastic_enable_signs'| option.
|
||||
|
||||
Signs are colored using the Error and Todo syntax highlight groups by default
|
||||
(see |group-name|). If you wish to customize the colors for the signs, you
|
||||
can use the following groups:
|
||||
SyntasticErrorSign - For syntax errors, links to 'error' by default
|
||||
SyntasticWarningSign - For syntax warnings, links to 'todo' by default
|
||||
SyntasticStyleErrorSign - For style errors, links to 'SyntasticErrorSign'
|
||||
SyntasticErrorSign - For syntax errors, links to "error" by default
|
||||
SyntasticWarningSign - For syntax warnings, links to "todo" by default
|
||||
SyntasticStyleErrorSign - For style errors, links to "SyntasticErrorSign"
|
||||
by default
|
||||
SyntasticStyleWarningSign - For style warnings, links to
|
||||
'SyntasticWarningSign' by default
|
||||
"SyntasticWarningSign" by default
|
||||
|
||||
Example: >
|
||||
highlight SyntasticErrorSign guifg=white guibg=red
|
||||
@ -188,8 +190,8 @@ To set up highlighting for the line where a sign resides, you can use the
|
||||
following highlight groups:
|
||||
SyntasticErrorLine
|
||||
SyntasticWarningLine
|
||||
SyntasticStyleErrorLine - Links to 'SyntasticErrorLine' by default
|
||||
SyntasticStyleWarningLine - Links to 'SyntasticWarningLine' by default
|
||||
SyntasticStyleErrorLine - Links to "SyntasticErrorLine" by default
|
||||
SyntasticStyleWarningLine - Links to "SyntasticWarningLine" by default
|
||||
|
||||
Example: >
|
||||
highlight SyntasticErrorLine guibg=#2f0000
|
||||
@ -197,15 +199,15 @@ Example: >
|
||||
------------------------------------------------------------------------------
|
||||
2.3. The error window *syntastic-error-window*
|
||||
|
||||
You can use the |:Errors| command to display the errors for the current buffer
|
||||
You can use the `:Errors` command to display the errors for the current buffer
|
||||
in the |location-list|.
|
||||
|
||||
By default syntastic doesn't fill the |location-list| with the errors found by
|
||||
the checkers, in order to reduce clashes with other plugins. Consequently, if
|
||||
you run |:lopen| or |:lwindow| rather than |:Errors| to open the error window
|
||||
you wouldn't see syntastic's list of errors. If you insist on using |:lopen|
|
||||
or |:lwindow| you should either run |:SyntasticSetLoclist| after running the
|
||||
checks, or set |syntastic_always_populate_loc_list| which tells syntastic to
|
||||
you run `:lopen` or `:lwindow` rather than `:Errors` to open the error window
|
||||
you wouldn't see syntastic's list of errors. If you insist on using `:lopen`
|
||||
or `:lwindow` you should either run `:SyntasticSetLoclist` after running the
|
||||
checks, or set |'syntastic_always_populate_loc_list'| which tells syntastic to
|
||||
update the |location-list| automatically.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
@ -215,10 +217,10 @@ Some checkers provide enough information for syntastic to be able to highlight
|
||||
errors. By default the SpellBad syntax highlight group is used to color errors,
|
||||
and the SpellCap group is used for warnings. If you wish to customize the
|
||||
colors for highlighting you can use the following groups:
|
||||
SyntasticError - Links to 'SpellBad' by default
|
||||
SyntasticWarning - Links to 'SpellCap' by default
|
||||
SyntasticStyleError - Links to SyntasticError by default
|
||||
SyntasticStyleWarning - Links to SyntasticWarning by default
|
||||
SyntasticError - Links to "SpellBad" by default (see |hl-SpellBad|)
|
||||
SyntasticWarning - Links to "SpellCap" by default (see |hl-SpellCap|)
|
||||
SyntasticStyleError - Links to "SyntasticError" by default
|
||||
SyntasticStyleWarning - Links to "SyntasticWarning" by default
|
||||
|
||||
Example: >
|
||||
highlight SyntasticError guibg=#2f0000
|
||||
@ -238,7 +240,7 @@ If |'syntastic_aggregate_errors'| is set, syntastic runs all checkers that
|
||||
apply (still cf. |syntastic-filetype-checkers|), then aggregates errors found
|
||||
by all checkers in a single list, and notifies you. In this mode each error
|
||||
message is labeled with the name of the checker that generated it, but you can
|
||||
disable generation of these labels by turning off '|syntastic_id_checkers|'.
|
||||
disable generation of these labels by turning off |'syntastic_id_checkers'|.
|
||||
|
||||
If |'syntastic_sort_aggregated_errors'| is set (which is the default), messages
|
||||
in the aggregated list are grouped by file, then sorted by line number, then
|
||||
@ -264,7 +266,7 @@ See also: |'syntastic_<filetype>_<checker>_quiet_messages'| and
|
||||
When errors have been detected, use this command to pop up the |location-list|
|
||||
and display the error messages.
|
||||
|
||||
Please note that the |:Errors| command overwrites the current location list with
|
||||
Please note that the `:Errors` command overwrites the current location list with
|
||||
syntastic's own location list.
|
||||
|
||||
:SyntasticToggleMode *:SyntasticToggleMode*
|
||||
@ -304,26 +306,29 @@ Resets the list of errors and turns off all error notifiers.
|
||||
If |'syntastic_always_populate_loc_list'| is not set, the |location-list| is
|
||||
not filled in automatically with the list of errors detected by the checkers.
|
||||
This is useful if you run syntastic along with other plugins that use location
|
||||
lists. The |:SyntasticSetLoclist| command allows you to stick the errors into
|
||||
lists. The `:SyntasticSetLoclist` command allows you to stick the errors into
|
||||
the location list explicitly.
|
||||
|
||||
==============================================================================
|
||||
4. Global Options *syntastic-global-options*
|
||||
|
||||
*'syntastic_check_on_open'*
|
||||
Type: boolean
|
||||
Default: 0
|
||||
If this variable is enabled, syntastic in active mode will run syntax checks
|
||||
when buffers are first loaded, as well as on saving: >
|
||||
let g:syntastic_check_on_open = 1
|
||||
<
|
||||
*'syntastic_check_on_wq'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
In active mode syntax checks are normally run whenever buffers are written to
|
||||
disk, even when the writes happen just before quitting Vim. If you want to
|
||||
skip checks when you issue |:wq|, |:x|, and |:ZZ|, set this variable to 0: >
|
||||
skip checks when you issue `:wq`, `:x`, and `:ZZ`, set this variable to 0: >
|
||||
let g:syntastic_check_on_wq = 0
|
||||
<
|
||||
*'syntastic_aggregate_errors'*
|
||||
Type: boolean
|
||||
Default: 0
|
||||
When enabled, syntastic runs all checkers that apply to the current filetype,
|
||||
then aggregates errors found by all checkers and displays them. When disabled,
|
||||
@ -332,26 +337,30 @@ time a checker finds any errors. >
|
||||
let g:syntastic_aggregate_errors = 1
|
||||
<
|
||||
*'syntastic_id_checkers'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
When results from multiple checkers are aggregated in a single error list
|
||||
(that is either when |'syntastic_aggregate_errors'| is enabled, or when
|
||||
checking a file with a composite filetype), it might not be immediately
|
||||
obvious which checker has produced a given error message. This variable
|
||||
instructs syntastic to label error messages with the names of the checkers
|
||||
that created them. >
|
||||
checking a file with a composite filetype, cf. |syntastic-composite|), it
|
||||
might not be immediately obvious which checker has produced a given error
|
||||
message. This variable instructs syntastic to label error messages with the
|
||||
names of the checkers that created them. >
|
||||
let g:syntastic_id_checkers = 0
|
||||
<
|
||||
*'syntastic_sort_aggregated_errors'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
By default, when results from multiple checkers are aggregated in a single
|
||||
error list (that is either when |'syntastic_aggregate_errors'| is enabled,
|
||||
or when checking a file with a composite filetype), errors are grouped by
|
||||
file, then sorted by line number, then grouped by type (namely errors take
|
||||
precedence over warnings), then they are sorted by column number. If you want
|
||||
to leave messages grouped by checker output, set this variable to 0: >
|
||||
error list (that is either when |'syntastic_aggregate_errors'| is enabled, or
|
||||
when checking a file with a composite filetype, cf. |syntastic-composite|),
|
||||
errors are grouped by file, then sorted by line number, then grouped by type
|
||||
(namely errors take precedence over warnings), then they are sorted by column
|
||||
number. If you want to leave messages grouped by checker output, set this
|
||||
variable to 0: >
|
||||
let g:syntastic_sort_aggregated_errors = 0
|
||||
<
|
||||
*'syntastic_echo_current_error'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
If enabled, syntastic will echo current error to the command window. If
|
||||
multiple errors are found on the same line, |'syntastic_cursor_columns'| is
|
||||
@ -359,6 +368,7 @@ used to decide which one is shown. >
|
||||
let g:syntastic_echo_current_error = 1
|
||||
<
|
||||
*'syntastic_cursor_columns'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
This option controls which errors are echoed to the command window if
|
||||
|'syntastic_echo_current_error'| is set and multiple errors are found on the
|
||||
@ -371,25 +381,28 @@ up navigation significantly: >
|
||||
let g:syntastic_cursor_column = 0
|
||||
<
|
||||
*'syntastic_enable_signs'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
Use this option to tell syntastic whether to use the |:sign| interface to mark
|
||||
Use this option to tell syntastic whether to use the `:sign` interface to mark
|
||||
syntax errors: >
|
||||
let g:syntastic_enable_signs = 1
|
||||
<
|
||||
*'syntastic_error_symbol'* *'syntastic_style_error_symbol'*
|
||||
*'syntastic_warning_symbol'* *'syntastic_style_warning_symbol'*
|
||||
Use this option to control what the syntastic |:sign| text contains. Several
|
||||
Type: string
|
||||
Use these options to control what the syntastic `:sign` text contains. Several
|
||||
error symbols can be customized:
|
||||
syntastic_error_symbol - For syntax errors, defaults to '>>'
|
||||
syntastic_style_error_symbol - For style errors, defaults to 'S>'
|
||||
syntastic_warning_symbol - For syntax warnings, defaults to '>>'
|
||||
syntastic_style_warning_symbol - For style warnings, defaults to 'S>'
|
||||
syntastic_error_symbol - For syntax errors, defaults to ">>"
|
||||
syntastic_style_error_symbol - For style errors, defaults to "S>"
|
||||
syntastic_warning_symbol - For syntax warnings, defaults to ">>"
|
||||
syntastic_style_warning_symbol - For style warnings, defaults to "S>"
|
||||
|
||||
Example: >
|
||||
let g:syntastic_error_symbol = "✗"
|
||||
let g:syntastic_warning_symbol = "⚠"
|
||||
let g:syntastic_error_symbol = "\u2717"
|
||||
let g:syntastic_warning_symbol = "\u26A0"
|
||||
<
|
||||
*'syntastic_enable_balloons'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
Use this option to tell syntastic whether to display error messages in balloons
|
||||
when the mouse is hovered over erroneous lines: >
|
||||
@ -398,12 +411,14 @@ when the mouse is hovered over erroneous lines: >
|
||||
Note that Vim must be compiled with |+balloon_eval|.
|
||||
|
||||
*'syntastic_enable_highlighting'*
|
||||
Type: boolean
|
||||
Default: 1
|
||||
Use this option to tell syntastic whether to use syntax highlighting to mark
|
||||
errors (where possible). Highlighting can be turned off with the following >
|
||||
let g:syntastic_enable_highlighting = 0
|
||||
<
|
||||
*'syntastic_always_populate_loc_list'*
|
||||
Type: boolean
|
||||
Default: 0
|
||||
By default syntastic doesn't fill the |location-list| with the errors found
|
||||
by the checkers, in order to reduce clashes with other plugins. Enable this
|
||||
@ -414,9 +429,10 @@ option to tell syntastic to always stick any detected errors into the
|
||||
Please note that if |'syntastic_auto_jump'| is set to a non-zero value the
|
||||
location list is overwritten with Syntastic's own list when taking a jump,
|
||||
regardless of the value of |'syntastic_always_populate_loc_list'|. The
|
||||
location list is also overwritten when running the |:Errors| command.
|
||||
location list is also overwritten when running the `:Errors` command.
|
||||
|
||||
*'syntastic_auto_jump'*
|
||||
Type: integer
|
||||
Default: 0
|
||||
Enable this option if you want the cursor to jump to the first detected issue
|
||||
when saving or opening a file.
|
||||
@ -441,6 +457,7 @@ of the location list being overwritten with Syntastic's own location list,
|
||||
regardless of the value of |'syntastic_always_populate_loc_list'|.
|
||||
|
||||
*'syntastic_auto_loc_list'*
|
||||
Type: integer
|
||||
Default: 2
|
||||
Use this option to tell syntastic to automatically open and/or close the
|
||||
|location-list| (see |syntastic-error-window|).
|
||||
@ -462,12 +479,14 @@ detected, but not closed automatically. >
|
||||
let g:syntastic_auto_loc_list = 3
|
||||
<
|
||||
*'syntastic_loc_list_height'*
|
||||
Type: integer
|
||||
Default: 10
|
||||
Use this option to specify the height of the location lists that syntastic
|
||||
opens. >
|
||||
let g:syntastic_loc_list_height = 5
|
||||
<
|
||||
*'syntastic_ignore_files'*
|
||||
Type: list of strings
|
||||
Default: []
|
||||
Use this option to specify files that syntastic should never check. It's a
|
||||
list of |regular-expression| patterns. The full paths of files (see |::p|) are
|
||||
@ -476,6 +495,7 @@ to specify case-insensitive patterns. Example: >
|
||||
let g:syntastic_ignore_files = ['\m^/usr/include/', '\m\c\.h$']
|
||||
<
|
||||
*'syntastic_filetype_map'*
|
||||
Type: dictionary
|
||||
Default: {}
|
||||
Use this option to map non-standard filetypes to standard ones. Corresponding
|
||||
checkers are mapped accordingly, which allows syntastic to check files with
|
||||
@ -484,11 +504,13 @@ non-standard filetypes: >
|
||||
\ "plaintex": "tex",
|
||||
\ "gentoo-metadata": "xml" }
|
||||
<
|
||||
Composite filetypes can also be mapped to simple types, which disables the
|
||||
default behaviour of running both checkers against the input file: >
|
||||
Composite filetypes (cf. |syntastic-composite|) can also be mapped to simple
|
||||
types, which disables the default behaviour of running both checkers against
|
||||
the input file: >
|
||||
let g:syntastic_filetype_map = { "handlebars.html": "handlebars" }
|
||||
<
|
||||
*'syntastic_mode_map'*
|
||||
Type: dictionary
|
||||
Default: { "mode": "active",
|
||||
"active_filetypes": [],
|
||||
"passive_filetypes": [] }
|
||||
@ -496,7 +518,6 @@ Use this option to fine tune when automatic syntax checking is done (or not
|
||||
done).
|
||||
|
||||
The option should be set to something like: >
|
||||
|
||||
let g:syntastic_mode_map = {
|
||||
\ "mode": "active",
|
||||
\ "active_filetypes": ["ruby", "php"],
|
||||
@ -505,7 +526,7 @@ The option should be set to something like: >
|
||||
"mode" can be mapped to one of two values - "active" or "passive". When set
|
||||
to "active", syntastic does automatic checking whenever a buffer is saved or
|
||||
initially opened. When set to "passive" syntastic only checks when the user
|
||||
calls |:SyntasticCheck|.
|
||||
calls `:SyntasticCheck`.
|
||||
|
||||
The exceptions to these rules are defined with "active_filetypes" and
|
||||
"passive_filetypes". In passive mode, automatic checks are still done for
|
||||
@ -520,16 +541,18 @@ If local variable |'b:syntastic_mode'| is defined its value takes precedence
|
||||
over all calculations involving |'syntastic_mode_map'| for the corresponding
|
||||
buffer.
|
||||
|
||||
At runtime, the |:SyntasticToggleMode| command can be used to switch between
|
||||
At runtime, the `:SyntasticToggleMode` command can be used to switch between
|
||||
active and passive modes.
|
||||
|
||||
*'b:syntastic_mode'*
|
||||
Type: string
|
||||
Default: unset
|
||||
Only the local form |'b:syntastic_mode'| is used. When set to either "active"
|
||||
or "passive", it takes precedence over |'syntastic_mode_map'| when deciding
|
||||
whether the corresponding buffer should be checked automatically.
|
||||
|
||||
*'syntastic_quiet_messages'*
|
||||
Type: dictionary
|
||||
Default: {}
|
||||
Use this option to filter out some of the messages produced by checkers. The
|
||||
option should be set to something like: >
|
||||
@ -542,7 +565,7 @@ option should be set to something like: >
|
||||
Each element turns off messages matching the patterns specified by the
|
||||
corresponding value. Values are lists, but if a list consist of a single
|
||||
element you may omit the brackets (e.g. you may write "style" instead of
|
||||
["style"]). Elements with values [] or '' are ignored (this is useful for
|
||||
["style"]). Elements with values [] or "" are ignored (this is useful for
|
||||
overriding filters, cf. |filter-overrides|).
|
||||
|
||||
"level" - takes one of two values, "warnings" or "errors"
|
||||
@ -572,16 +595,17 @@ errors produced by the said checker). In case of conflicting values for the
|
||||
same keys, the values of the checker-specific filters take precedence.
|
||||
|
||||
*filter-overrides*
|
||||
Since filter elements with values [] or '' are ignored, you can disable global
|
||||
Since filter elements with values [] or "" are ignored, you can disable global
|
||||
filters for particular checkers, by setting the values of the corresponding
|
||||
elements in |'syntastic_<filetype>_<checker>_quiet_messages'| to [] or ''. For
|
||||
elements in |'syntastic_<filetype>_<checker>_quiet_messages'| to [] or "". For
|
||||
example, the following setting will silence all warnings, except for the
|
||||
ones produced by "pylint": >
|
||||
let g:syntastic_quiet_messages = { "level": "warnings" }
|
||||
let g:syntastic_python_pylint_quiet_messages = { "level" : [] }
|
||||
<
|
||||
*'syntastic_stl_format'*
|
||||
Default: [Syntax: line:%F (%t)]
|
||||
Type: string
|
||||
Default: "[Syntax: line:%F (%t)]"
|
||||
Use this option to control what the syntastic statusline text contains. Several
|
||||
magic flags are available to insert information:
|
||||
%e - number of errors
|
||||
@ -612,7 +636,7 @@ Several additional flags are available to hide text under certain conditions:
|
||||
These flags can't be nested.
|
||||
|
||||
Example: >
|
||||
let g:syntastic_stl_format = '[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]'
|
||||
let g:syntastic_stl_format = "[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]"
|
||||
<
|
||||
If this format is used and the current buffer has 5 errors and 1 warning
|
||||
starting on lines 20 and 10 respectively then this would appear on the
|
||||
@ -623,19 +647,22 @@ If the buffer had 2 warnings, starting on line 5 then this would appear: >
|
||||
[Warn: 5 #2]
|
||||
<
|
||||
*'b:syntastic_skip_checks'*
|
||||
Type: boolean
|
||||
Default: unset
|
||||
Only the local form |'b:syntastic_skip_checks'| is used. When set to a true
|
||||
value, no checks are run against the corresponding buffer. Example: >
|
||||
let b:syntastic_skip_checks = 1
|
||||
<
|
||||
*'syntastic_full_redraws'*
|
||||
Type: boolean
|
||||
Default: 0 in GUI Vim and MacVim, 1 otherwise
|
||||
Controls whether syntastic calls |:redraw| or |:redraw!| for screen redraws.
|
||||
Controls whether syntastic calls `:redraw` or `:redraw!` for screen redraws.
|
||||
Changing it can in principle make screen redraws smoother, but it can also
|
||||
cause screen to flicker, or cause ghost characters. Leaving it to the default
|
||||
should be safe.
|
||||
|
||||
*'syntastic_exit_checks'*
|
||||
Type: boolean
|
||||
Default: 0 when running under "cmd.exe" on Windows, 1 otherwise
|
||||
Syntastic attempts to catch abnormal termination conditions from checkers by
|
||||
looking at their exit codes. The "cmd.exe" shell on Windows make these checks
|
||||
@ -643,6 +670,7 @@ meaningless, by returning 1 to Vim when the checkers exit with non-zero codes.
|
||||
The above variable can be used to disable exit code checks in syntastic.
|
||||
|
||||
*'syntastic_shell'*
|
||||
Type: string
|
||||
Default: Vim's 'shell'
|
||||
This is the (full path to) the shell syntastic will use to run the checkers.
|
||||
On UNIX and Mac OS-X this shell must accept Bourne-compatible syntax for
|
||||
@ -656,6 +684,7 @@ by the checkers you're using. Example: >
|
||||
let g:syntastic_shell = "/bin/sh"
|
||||
<
|
||||
*'syntastic_nested_autocommands'*
|
||||
Type: boolean
|
||||
Default: 0
|
||||
Controls whether syntastic's autocommands |BufReadPost| and |BufWritePost|
|
||||
are called from other |BufReadPost| and |BufWritePost| autocommands (see
|
||||
@ -663,6 +692,7 @@ are called from other |BufReadPost| and |BufWritePost| autocommands (see
|
||||
other plugins, so only enable it if you actually need that functionality.
|
||||
|
||||
*'syntastic_debug'*
|
||||
Type: integer
|
||||
Default: 0
|
||||
Set this to the sum of one or more of the following flags to enable
|
||||
debugging:
|
||||
@ -678,15 +708,17 @@ Example: >
|
||||
let g:syntastic_debug = 1
|
||||
<
|
||||
Syntastic will then add debugging messages to Vim's |message-history|. You can
|
||||
examine these messages with |:mes|.
|
||||
examine these messages with `:mes`.
|
||||
|
||||
*'syntastic_debug_file'*
|
||||
Type: string
|
||||
Default: unset
|
||||
When set, debugging messages are written to the file named by its value, in
|
||||
addition to being added to Vim's |message-history|: >
|
||||
let g:syntastic_debug_file = '~/syntastic.log'
|
||||
let g:syntastic_debug_file = "~/syntastic.log"
|
||||
<
|
||||
*'syntastic_extra_filetypes'*
|
||||
Type: list of strings
|
||||
Default: []
|
||||
List of filetypes handled by checkers external to syntastic. If you have a Vim
|
||||
plugin that adds a checker for syntastic, and if the said checker deals with a
|
||||
@ -694,7 +726,7 @@ filetype that is unknown to syntastic, you might consider adding that filetype
|
||||
to this list: >
|
||||
let g:syntastic_extra_filetypes = [ "make", "gitcommit" ]
|
||||
<
|
||||
This will allow |:SyntasticInfo| to do proper tab completion for the new
|
||||
This will allow `:SyntasticInfo` to do proper tab completion for the new
|
||||
filetypes.
|
||||
|
||||
==============================================================================
|
||||
@ -709,7 +741,7 @@ variable 'g:syntastic_<filetype>_checkers' to a list of checkers, e.g. >
|
||||
let g:syntastic_php_checkers = ["php", "phpcs", "phpmd"]
|
||||
<
|
||||
*'b:syntastic_checkers'*
|
||||
There is also a per-buffer version of this setting, 'b:syntastic_checkers'.
|
||||
There is also a per-buffer version of this setting, |'b:syntastic_checkers'|.
|
||||
When set, it takes precedence over |'g:syntastic_<filetype>_checkers'|. You can
|
||||
use this in an autocmd to configure specific checkers for particular paths: >
|
||||
autocmd FileType python if stridx(expand("%:p"), "/some/path/") == 0 |
|
||||
@ -724,7 +756,7 @@ by syntastic:
|
||||
|
||||
https://github.com/scrooloose/syntastic/wiki/Syntax-Checkers
|
||||
|
||||
Use |:SyntasticInfo| to see which checkers are available for a given filetype.
|
||||
Use `:SyntasticInfo` to see which checkers are available for a given filetype.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.2 Choosing the executable *syntastic-config-exec*
|
||||
@ -733,74 +765,75 @@ Use |:SyntasticInfo| to see which checkers are available for a given filetype.
|
||||
The executable run by a checker is normally defined automatically, when the
|
||||
checker is registered. You can however override it, by setting the variable
|
||||
'g:syntastic_<filetype>_<checker>_exec': >
|
||||
let g:syntastic_ruby_mri_exec = '~/bin/ruby2'
|
||||
let g:syntastic_ruby_mri_exec = "~/bin/ruby2"
|
||||
<
|
||||
This variable has a local version, 'b:syntastic_<filetype>_<checker>_exec',
|
||||
which takes precedence over the global one in the corresponding buffer.
|
||||
|
||||
*'b:syntastic_<checker>_exec'*
|
||||
And there is also a local variable named 'b:syntastic_<checker>_exec', which
|
||||
There is also a local variable named 'b:syntastic_<checker>_exec', which
|
||||
takes precedence over both 'b:syntastic_<filetype>_<checker>_exec' and
|
||||
'g:syntastic_<filetype>_<checker>_exec' in the buffers where it is defined.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.3 Configuring specific checkers *syntastic-config-makeprg*
|
||||
|
||||
Checkers are run by constructing a command line and passing it to a shell.
|
||||
In most cases this command line is built using an internal function named
|
||||
'makeprgBuild()', which provides a number of options that allows you to
|
||||
customise every part of the command that gets called.
|
||||
Checkers are run by constructing a command line and by passing it to a shell
|
||||
(see |'shell'| and |'syntastic_shell'|). In most cases this command line is
|
||||
built using an internal function named "makeprgBuild()", which provides a
|
||||
number of options that allow you to customise every part of the command that
|
||||
gets called.
|
||||
|
||||
*'syntastic_<filetype>_<checker>_<option>'*
|
||||
Checkers that use 'makeprgBuild()' construct a command line like this: >
|
||||
Checkers that use "makeprgBuild()" construct the corresponding command line
|
||||
like this: >
|
||||
let makeprg = self.makeprgBuild({
|
||||
\ "exe": self.getExec(),
|
||||
\ "args": "-a -b -c",
|
||||
\ "fname: shellescape(expand('%', 1)),
|
||||
\ "fname": shellescape(expand("%", 1)),
|
||||
\ "post_args": "--more --args",
|
||||
\ "tail": "2>/dev/null" })
|
||||
<
|
||||
The result is a command line of the form: >
|
||||
<exe> <args> <fname> <post_args> <tail>
|
||||
<
|
||||
All arguments above are optional, and can be overridden by setting global
|
||||
All fields above are optional, and can be overridden by setting global
|
||||
variables 'g:syntastic_<filetype>_<checker-name>_<option-name>' - even
|
||||
parameters not specified in the call to 'makeprgBuild()'. For example to
|
||||
override the args and the tail: >
|
||||
parameters not specified in the call to "makeprgBuild()". For example to
|
||||
override the argguments and the tail: >
|
||||
let g:syntastic_c_pc_lint_args = "-w5 -Iz:/usr/include/linux"
|
||||
let g:syntastic_c_pc_lint_tail = "2>/dev/null"
|
||||
<
|
||||
These variables also have local versions named
|
||||
These variables also have buffer-local versions named
|
||||
'b:syntastic_<filetype>_<checker-name>_<option-name>', which takes precedence
|
||||
over the global ones in the corresponding buffers.
|
||||
|
||||
If any of the characters in the values of these variables have a special
|
||||
meaning for the shell in use (see |'shell'| and |'syntastic_shell'|) you need
|
||||
to escape them so that they can survive shell expansions. Vim function
|
||||
|shellescape()| can help you with that: >
|
||||
let g:syntastic_c_cppcheck_args =
|
||||
\ '-DBUILD_BASENAME=my-module ' . shellescape('-DBUILD_STR(s)=#s')
|
||||
<
|
||||
Alternatively, you can tell syntastic to escape special characters by turning
|
||||
the value into a list: >
|
||||
let g:syntastic_c_cppcheck_args =
|
||||
\ ['-DBUILD_BASENAME=my-module', '-DBUILD_STR(s)=#s']
|
||||
<
|
||||
Each element of the list will then be escaped as needed and turned into a
|
||||
separate shell argument.
|
||||
|
||||
If one of the above variables has a non-empty default and you want it to be
|
||||
empty, you can set it to an empty string, e.g.: >
|
||||
let g:syntastic_javascript_jslint_args = ""
|
||||
|
||||
You can see the final outcome of setting these variables in the debug logs
|
||||
(cf. |syntastic-config-debug|).
|
||||
|
||||
Special characters need to be escaped, so that they can survive shell
|
||||
expansions. Vim function |shellescape()| can help you with escaping: >
|
||||
let g:syntastic_c_cppcheck_args =
|
||||
\ "-DBUILD_BASENAME=my-module " . shellescape("-DBUILD_STR(s)=#s")
|
||||
<
|
||||
Alternatively, you can tell syntastic to escape special characters by turning
|
||||
the value into a list: >
|
||||
let g:syntastic_c_cppcheck_args =
|
||||
\ ["-DBUILD_BASENAME=my-module", "-DBUILD_STR(s)=#s"]
|
||||
<
|
||||
Each element of this list is then escaped as needed, and turned into a
|
||||
separate argument for the shell.
|
||||
|
||||
*syntastic-config-empty*
|
||||
If one of the above variables has a non-empty default and you want it to be
|
||||
empty, you can set it to an empty string, e.g.: >
|
||||
let g:syntastic_javascript_jslint_args = ""
|
||||
<
|
||||
*'syntastic_<filetype>_<checker>_exe'*
|
||||
The 'exe' option is special. Normally it is the same as the 'exec' attribute
|
||||
described above, but you can use it to add environment variables to the
|
||||
command line, or to change the way the checker is run. For example this setup
|
||||
allows you to run PC-Lint under Wine emulation on Linux: >
|
||||
allows you to run PC-Lint on Linux, under Wine emulation: >
|
||||
let g:syntastic_c_pc_lint_exec = "wine"
|
||||
let g:syntastic_c_pc_lint_exe = "wine c:/path/to/lint-nt.exe"
|
||||
<
|
||||
@ -813,22 +846,12 @@ omitting the filename from the command line: >
|
||||
let g:syntastic_sml_smlnj_fname = ""
|
||||
<
|
||||
*syntastic-config-no-makeprgbuild*
|
||||
For checkers that do not use the 'makeprgBuild()' function you will have to
|
||||
For checkers that do not use the "makeprgBuild()" function you will have to
|
||||
look at the source code of the checker in question. If there are specific
|
||||
options that can be set, they are normally documented in the wiki:
|
||||
|
||||
https://github.com/scrooloose/syntastic/wiki/Syntax-Checkers
|
||||
|
||||
*'syntastic_<filetype>_<checker>_quiet_messages'*
|
||||
Last but not least, 'g:syntastic_<filetype>_<checker-name>_quiet_messages' can
|
||||
be used to restrict message filters to messages produced by specific checkers.
|
||||
Example: >
|
||||
let g:syntastic_python_pylama_quiet_messages = {
|
||||
\ "type": "style",
|
||||
\ "regex": '\m\[C03\d\d\]' }
|
||||
<
|
||||
See |syntastic_quiet_messages| for the syntax.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.4 Sorting errors *syntastic-config-sort*
|
||||
|
||||
@ -849,11 +872,25 @@ For aggregated lists (see |syntastic-aggregating-errors|) these variables are
|
||||
ignored if |'syntastic_sort_aggregated_errors'| is set (which is the default).
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.5 Debugging *syntastic-config-debug*
|
||||
5.5 Filtering errors *syntastic-config-filtering*
|
||||
|
||||
*'syntastic_<filetype>_<checker>_quiet_messages'*
|
||||
Finally, variables 'g:syntastic_<filetype>_<checker-name>_quiet_messages' can
|
||||
be used to filter out some of the messages produced by specific checkers. The
|
||||
effect is identical to that of |syntastic_quiet_messages|, except only messages
|
||||
from the corresponding checkers are filtered. Example: >
|
||||
let g:syntastic_python_pylama_quiet_messages = {
|
||||
\ "type": "style",
|
||||
\ "regex": '\m\[C03\d\d\]' }
|
||||
<
|
||||
The syntax is of course identical to that of |syntastic_quiet_messages|.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.6 Debugging *syntastic-config-debug*
|
||||
|
||||
Syntastic can log a trace of its working to Vim's |message-history|. To verify
|
||||
the command line constructed by syntastic to run a checker, set the variable
|
||||
|'syntastic_debug'| to a non-zero value, run the checker, then run |:mes| to
|
||||
|'syntastic_debug'| to a non-zero value, run the checker, then run `:mes` to
|
||||
display the messages, and look for "makeprg" in the output.
|
||||
|
||||
From a user's perspective, the useful values for |'syntastic_debug'| are 1, 3,
|
||||
@ -867,6 +904,23 @@ Debug logs can be saved to a file; see |'syntastic_debug_file'| for details.
|
||||
|
||||
Setting |'syntastic_debug'| to 0 turns off logging.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
5.7 Profiling *syntastic-profiling*
|
||||
|
||||
A very useful tool for debugging performance problems is Vim's built-in
|
||||
|profiler|. In order to enable profiling for syntastic you need to add two lines
|
||||
to your vimrc (not to gvimrc): >
|
||||
profile start syntastic.log
|
||||
profile! file */syntastic/*
|
||||
<
|
||||
(assuming your copy of syntastic lives in a directory creatively named
|
||||
"syntastic"). These lines must be executed before syntastic is loaded, so you
|
||||
need to put them before package managers such as "pathogen" or "Vundle", and
|
||||
(in newer Vim versions) before any commands related to |packages|.
|
||||
|
||||
A log file is created in the current directory, and is updated when you quit
|
||||
Vim.
|
||||
|
||||
==============================================================================
|
||||
6. Notes *syntastic-notes*
|
||||
|
||||
@ -874,7 +928,7 @@ Setting |'syntastic_debug'| to 0 turns off logging.
|
||||
6.1. Handling of composite filetypes *syntastic-composite*
|
||||
|
||||
Some Vim plugins use composite filetypes, such as "django.python" or
|
||||
"handlebars.html". Normally, syntastic deals with this situation by splitting
|
||||
"handlebars.html". Normally syntastic deals with this situation by splitting
|
||||
the filetype in its simple components, and calling all checkers that apply.
|
||||
If this behaviour is not desirable, you can disable it by mapping the
|
||||
composite filetypes to simple ones using |'syntastic_filetype_map'|, e.g.: >
|
||||
@ -902,11 +956,11 @@ value.
|
||||
------------------------------------------------------------------------------
|
||||
6.4 Saving Vim sessions *syntastic-sessions*
|
||||
|
||||
If you use |:mksession| to save Vim sessions you should probably make sure to
|
||||
If you use `:mksession` to save Vim sessions you should probably make sure to
|
||||
remove option "blank" from 'sessionoptions': >
|
||||
set sessionoptions-=blank
|
||||
<
|
||||
This will prevent |:mksession| from saving |syntastic-error-window| as empty
|
||||
This will prevent `:mksession` from saving |syntastic-error-window| as empty
|
||||
quickfix windows.
|
||||
|
||||
==============================================================================
|
||||
@ -972,7 +1026,7 @@ described in the |syntastic-statusline-flag| section above: >
|
||||
|
||||
The "powerline" Vim plugin (https://github.com/powerline/powerline) comes
|
||||
packaged with a syntastic segment. To customize this segment create a file
|
||||
~/.config/powerline/themes/vim/default.json, with a content like this: >
|
||||
"~/.config/powerline/themes/vim/default.json", with a content like this: >
|
||||
{
|
||||
"segment_data" : {
|
||||
"powerline.segments.vim.plugin.syntastic.syntastic" : {
|
||||
|
Reference in New Issue
Block a user