1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-23 17:30:04 +08:00
SpaceVim/docs/layers/lang/ruby.md
2021-06-21 20:39:29 +08:00

2.9 KiB

title description
SpaceVim lang#ruby layer This layer is for Ruby development, provides autocompletion, syntax checking and code formatting for Ruby files.

Available Layers >> lang#ruby

Description

This layer is for Ruby development.

Install

Layer

To use this configuration layer, update your custom configuration file with:

[[layers]]
  name = "lang#ruby"

The default syntax linter for ruby is rubylint.

gem install ruby-lint

The default code formatter is rubocop.

gem install rubocop

Layer options

  • ruby_file_head: Default file head when a new file is created.

    By default, when create a new ruby file, SpaceVim will insert the file head automatically. to change the file head, use the ruby_file_head option:

    [[layers]]
      name = "lang#python"
      ruby_file_head = [
          '#!/usr/bin/ruby -w',
          '# -*- coding: utf-8 -*-',
          '',
          ''
      ]
    
  • repl_command: Set the REPL command for ruby.

    [[layers]]
      name = 'lang#ruby'
      repl_command = '~/download/bin/ruby_repl'
    
  • format_on_save: Enable/disable code formatting when saving ruby file. Default is false. To enable this feature:

    [[layers]]
        name = 'lang#ruby'
        format_on_save = true
    
  • enabled_linters: Set the default linters for ruby language, by default it is ['rubylint']. You can change it to ['rubylint, 'rubocop'].

    [[layers]]
      name = 'lang#ruby'
      enabled_linters = ['rubylint', 'rubocop']
    

Key bindings

Inferior REPL process

Start a irb inferior REPL process with SPC l s i. You may change the REPL command by layer option repl_command. For example, if you want to use pry, load this layer via:

[[layers]]
    name = "lang#ruby"
    repl_command = "pry"

however, if the executable is not on your $PATH, then you need to specify a complete file path.

[[layers]]
    name = "lang#ruby"
    repl_command = "/path/to/pry"

Send code to inferior process commands:

Key Bindings Descriptions
SPC l s b send buffer and keep code buffer focused
SPC l s l send line and keep code buffer focused
SPC l s s send selection text and keep code buffer focused

Running current script

To run a Ruby script, you can press SPC l r to run the current file without losing focus, and the result will be shown in a runner buffer.