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: