%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/ |
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/ruby-mode.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'ruby nil "Major mode for editing Ruby code." :prefix "ruby-" :group 'languages) #@38 Keywords at the beginning of blocks. (defconst ruby-block-beg-keywords '("class" "module" "def" "if" "unless" "case" "while" "until" "for" "begin" "do") (#$ . 511)) #@42 Regexp to match the beginning of blocks. (defconst ruby-block-beg-re (regexp-opt ruby-block-beg-keywords) (#$ . 682)) #@52 Regexp to match keywords that nest without blocks. (defconst ruby-non-block-do-re "\\_<\\(for\\|rescue\\|until\\|while\\)\\_>" (#$ . 806)) #@52 Regexp to match where the indentation gets deeper. (defconst ruby-indent-beg-re "^\\(\\s *\\(?:class\\|def\\|module\\)\\|\\(?:begin\\|case\\|for\\|if\\|un\\(?:less\\|til\\)\\|while\\)\\)\\_>" (#$ . 951)) #@57 Modifiers that are the same as the beginning of blocks. (defconst ruby-modifier-beg-keywords '("if" "unless" "while" "until") (#$ . 1161)) #@60 Regexp to match modifiers same as the beginning of blocks. (defconst ruby-modifier-beg-re (regexp-opt ruby-modifier-beg-keywords) (#$ . 1306)) #@28 Regexp to match modifiers. (defconst ruby-modifier-re (byte-code "\301\302B!\207" [ruby-modifier-beg-keywords regexp-opt "rescue"] 3) (#$ . 1455)) #@78 Keywords where the indentation gets shallower in middle of block statements. (defconst ruby-block-mid-keywords '("then" "else" "elsif" "when" "rescue" "ensure") (#$ . 1609)) #@85 Regexp to match where the indentation gets shallower in middle of block statements. (defconst ruby-block-mid-re (regexp-opt ruby-block-mid-keywords) (#$ . 1789)) #@35 Regexp to match boolean keywords. (defconst ruby-block-op-keywords '("and" "or" "not") (#$ . 1957)) #@42 Regexp to match hanging block modifiers. (defconst ruby-block-hanging-re (byte-code "\302\303 \"!\207" [ruby-modifier-beg-keywords ruby-block-op-keywords regexp-opt append] 4) (#$ . 2063)) (defconst ruby-block-end-re "\\_<end\\_>") #@65 Regexp to match the beginning of a defun, in the general sense. (defconst ruby-defun-beg-re "\\(def\\|class\\|module\\)" (#$ . 2302)) #@61 Regexp to match the beginning of a singleton class context. (defconst ruby-singleton-class-re "class\\s *<<" (#$ . 2442)) #@45 Regexp to match the beginning of a heredoc. (defconst ruby-here-doc-beg-re "\\(<\\)<\\([~-]\\)?\\(\\([a-zA-Z0-9_]+\\)\\|[\"]\\([^\"]+\\)[\"]\\|[']\\([^']+\\)[']\\)" (#$ . 2570)) (defconst ruby-expression-expansion-re "\\(?:[^\\]\\|\\=\\)\\(\\\\\\\\\\)*\\(#\\({[^}\n\\]*\\(\\\\.[^}\n\\]*\\)*}\\|\\(\\$\\|@\\|@@\\)\\(\\w\\|_\\)+\\|\\$[^a-zA-Z \n]\\)\\)") #@122 Return a regexp to find the end of a heredoc. This should only be called after matching against `ruby-here-doc-beg-re'. (defalias 'ruby-here-doc-end-match #[0 "\300\301\302!\205 \303\304\301\305!\206 \301\306!\206 \301\307!!Q\207" ["^" match-string 2 "[ ]*" regexp-quote 4 5 6] 5 (#$ . 2930)]) (defconst ruby-delimiter (concat "[?$/%(){}#\"'`.:]\\|<<\\|\\[\\|\\]\\|\\_<\\(" ruby-block-beg-re "\\)\\_>\\|" ruby-block-end-re "\\|^=begin\\|" ruby-here-doc-beg-re)) #@55 Regexp to match where the indentation gets shallower. (defconst ruby-negative (concat "^[ ]*\\(\\(" ruby-block-mid-re "\\)\\>\\|" ruby-block-end-re "\\|}\\|\\]\\)") (#$ . 3403)) #@28 Regexp to match operators. (defconst ruby-operator-re "[-,.+*/%&|^~=<>:]\\|\\\\$" (#$ . 3588)) #@51 List of characters that symbol names may contain. (defconst ruby-symbol-chars "a-zA-Z0-9_" (#$ . 3689)) #@26 Regexp to match symbols. (defconst ruby-symbol-re (concat "[" ruby-symbol-chars "]") (#$ . 3799)) (defvar ruby-use-smie t) #@27 Keymap used in Ruby mode. (defvar ruby-mode-map (byte-code "\301 \204 \302\303\304#\210\302\305\306#\210\302\307\310#\210\203\"