diff options
Diffstat (limited to 'doc/ft-ruby-syntax.txt')
-rw-r--r-- | doc/ft-ruby-syntax.txt | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/doc/ft-ruby-syntax.txt b/doc/ft-ruby-syntax.txt new file mode 100644 index 00000000..c8c8b9cf --- /dev/null +++ b/doc/ft-ruby-syntax.txt @@ -0,0 +1,123 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1 + +RUBY *ruby.vim* *ft-ruby-syntax* + *vim-ruby-syntax* + + Ruby: Operator highlighting |ruby_operators| + Ruby: Whitespace errors |ruby_space_errors| + Ruby: Syntax errors |ruby_syntax_errors| + Ruby: Folding |ruby_fold| |ruby_foldable_groups| + Ruby: Reducing expensive operations |ruby_no_expensive| |ruby_minlines| + Ruby: Spellchecking strings |ruby_spellcheck_strings| + + *ruby_operators* + Ruby: Operator highlighting ~ + +Operators, and pseudo operators, can be highlighted by defining: > + + :let ruby_operators = 1 + :let ruby_pseudo_operators = 1 +< +The supported pseudo operators are ., &., ::, *, **, &, <, << and ->. + + *ruby_space_errors* + Ruby: Whitespace errors ~ + +Whitespace errors can be highlighted by defining "ruby_space_errors": > + + :let ruby_space_errors = 1 +< +This will highlight trailing whitespace and tabs preceded by a space character +as errors. This can be refined by defining "ruby_no_trail_space_error" and +"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after +spaces respectively. + + *ruby_syntax_errors* + Ruby: Syntax errors ~ + +Redundant line continuations and predefined global variable look-alikes (such +as $# and $-z) can be highlighted as errors by defining: +> + :let ruby_line_continuation_error = 1 + :let ruby_global_variable_error = 1 +< + *ruby_fold* + Ruby: Folding ~ + +Folding can be enabled by defining "ruby_fold": > + + :let ruby_fold = 1 +< +This will set the value of 'foldmethod' to "syntax" locally to the current +buffer or window, which will enable syntax-based folding when editing Ruby +filetypes. + + *ruby_foldable_groups* +Default folding is rather detailed, i.e., small syntax units like "if", "do", +"%w[]" may create corresponding fold levels. + +You can set "ruby_foldable_groups" to restrict which groups are foldable: > + + :let ruby_foldable_groups = 'if case %' +< +The value is a space-separated list of keywords: + + keyword meaning ~ + -------- ------------------------------------- ~ + ALL Most block syntax (default) + NONE Nothing + if "if" or "unless" block + def "def" block + class "class" block + module "module" block + do "do" block + begin "begin" block + case "case" block + for "for", "while", "until" loops + { Curly bracket block or hash literal + [ Array literal + % Literal with "%" notation, e.g.: %w(STRING), %!STRING! + / Regexp + string String and shell command output (surrounded by ', ", `) + : Symbol + # Multiline comment + << Here documents + __END__ Source code after "__END__" directive + +NONE and ALL have priority, in that order, over all other folding groups. + + *ruby_no_expensive* + Ruby: Reducing expensive operations ~ + +By default, the "end" keyword is colorized according to the opening statement +of the block it closes. While useful, this feature can be expensive; if you +experience slow redrawing (or you are on a terminal with poor color support) +you may want to turn it off by defining the "ruby_no_expensive" variable: > + + :let ruby_no_expensive = 1 +< +In this case the same color will be used for all control keywords. + + *ruby_minlines* + +If you do want this feature enabled, but notice highlighting errors while +scrolling backwards, which are fixed when redrawing with CTRL-L, try setting +the "ruby_minlines" variable to a value larger than 50: > + + :let ruby_minlines = 100 +< +Ideally, this value should be a number of lines large enough to embrace your +largest class or module. + + *ruby_spellcheck_strings* + Ruby: Spellchecking strings ~ + +Ruby syntax will perform spellchecking of strings if you define +"ruby_spellcheck_strings": > + + :let ruby_spellcheck_strings = 1 +< + + vim:tw=78:sw=4:ts=8:ft=help:norl: + +endif |