diff options
Diffstat (limited to 'doc/ft-ruby-indent.txt')
-rw-r--r-- | doc/ft-ruby-indent.txt | 152 |
1 files changed, 152 insertions, 0 deletions
diff --git a/doc/ft-ruby-indent.txt b/doc/ft-ruby-indent.txt new file mode 100644 index 00000000..5e274965 --- /dev/null +++ b/doc/ft-ruby-indent.txt @@ -0,0 +1,152 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ruby') == -1 + +RUBY *ft-ruby-indent* + *vim-ruby-indent* + + Ruby: Access modifier indentation |ruby-access-modifier-indentation| + Ruby: Block style indentation |ruby-block-style-indentation| + Ruby: Assignment style indentation |ruby-assignment-style-indentation| + Ruby: Hanging element indentation |ruby-hanging-element-indentation| + + *ruby-access-modifier-indentation* + *g:ruby_indent_access_modifier_style* + Ruby: Access modifier indentation ~ + +Different access modifier indentation styles can be used by setting: > + + :let g:ruby_indent_access_modifier_style = 'normal' + :let g:ruby_indent_access_modifier_style = 'indent' + :let g:ruby_indent_access_modifier_style = 'outdent' +< +By default, the "normal" access modifier style is used. + +Access modifier style "normal": +> + class Indent + private :method + protected :method + private + def method; end + protected + def method; end + public + def method; end + end +< +Access modifier style "indent": +> + class Indent + private :method + protected :method + private + def method; end + protected + def method; end + public + def method; end + end +< +Access modifier style "outdent": +> + class Indent + private :method + protected :method + private + def method; end + protected + def method; end + public + def method; end + end +< + *ruby-block-style-indentation* + *g:ruby_indent_block_style* + Ruby: Block style indentation ~ + +Different block indentation styles can be used by setting: > + + :let g:ruby_indent_block_style = 'expression' + :let g:ruby_indent_block_style = 'do' +< +By default, the "do" block indent style is used. + +Block indent style "expression": +> + first + .second do |x| + something + end +< +Block indent style "do": +> + first + .second do |x| + something + end +< + + *ruby-assignment-style-indentation* + *g:ruby_indent_assignment_style* + Ruby: Assignment style indentation ~ + +Different styles of indenting assignment for multiline expressions: +> + :let g:ruby_indent_assignment_style = 'hanging' + :let g:ruby_indent_assignment_style = 'variable' +< +By default, the "hanging" style is used. + +Assignment indent style "hanging": +> + x = if condition + something + end +< +Assignment indent style "variable": +> + x = if condition + something + end +< + + *ruby-hanging-element-indentation* + *g:ruby_indent_hanging_elements* + Ruby: Hanging element indentation ~ + +Elements of multiline collections -- such as arrays, hashes, and method +argument lists -- can have hanging indentation enabled or disabled with the +following setting. +> + :let g:ruby_indent_hanging_elements = 1 + :let g:ruby_indent_hanging_elements = 0 +< +By default, this setting is "1" (true) meaning that hanging indentation is +enabled in some cases. + +Here is an example method call when the setting is true (non-zero): +> + render('product/show', + product: product, + on_sale: true, + ) +< +And the same method call when the setting is false (zero): +> + render('product/show', + product: product, + on_sale: true, + ) +< +Note that, even if the setting is turned on, you can still get non-hanging +indentation by putting each argument on a separate line: +> + render( + 'product/show', + product: product, + on_sale: true, + ) +< + + vim:tw=78:sw=4:ts=8:ft=help:norl: + +endif |