summaryrefslogtreecommitdiffstats
path: root/doc/ft-ruby-syntax.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ft-ruby-syntax.txt')
-rw-r--r--doc/ft-ruby-syntax.txt123
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