Function: ruby-mode

ruby-mode is an autoloaded, interactive and byte-compiled function defined in ruby-mode.el.gz.

Signature

(ruby-mode)

Documentation

Major mode for editing Ruby code.

In addition to any hooks its parent mode ruby-base-mode might have run, this mode runs the hook ruby-mode-hook, as the final or penultimate step during initialization.

C-M-d smie-down-list
C-M-n ruby-end-of-block
C-M-p ruby-beginning-of-block
C-c ' ruby-toggle-string-quotes
C-c C-f ruby-find-library-file
C-c { ruby-toggle-block

Probably introduced at or before Emacs version 29.1.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/ruby-mode.el.gz
;;;###autoload
(define-derived-mode ruby-mode ruby-base-mode "Ruby"
  "Major mode for editing Ruby code."
  (smie-setup ruby-smie-grammar #'ruby-smie-rules
              :forward-token  #'ruby-smie--forward-token
              :backward-token #'ruby-smie--backward-token)
  (unless ruby-use-smie
    (setq-local indent-line-function #'ruby-indent-line))

  (setq-local imenu-create-index-function #'ruby-imenu-create-index)
  (setq-local add-log-current-defun-function #'ruby-add-log-current-method)
  (setq-local beginning-of-defun-function #'ruby-beginning-of-defun)
  (setq-local end-of-defun-function #'ruby-end-of-defun)

  (setq-local font-lock-defaults '((ruby-font-lock-keywords) nil nil
                                   ((?_ . "w"))))

  (setq-local syntax-propertize-function #'ruby-syntax-propertize))