aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes/ruby-mode.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes/ruby-mode.el')
-rw-r--r--lisp/progmodes/ruby-mode.el62
1 files changed, 51 insertions, 11 deletions
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index f5f829ce0e8..5f92d197a66 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -1762,31 +1762,67 @@ See `font-lock-syntax-table'.")
1762 "yield") 1762 "yield")
1763 'symbols) 1763 'symbols)
1764 "\\|" 1764 "\\|"
1765 ;; keyword-like methods on Kernel and Module
1766 (regexp-opt 1765 (regexp-opt
1767 '("alias_method" 1766 ;; built-in methods on Kernel
1767 '("__callee__"
1768 "__dir__"
1769 "__method__"
1770 "abort"
1771 "at_exit"
1772 "autoload"
1773 "autoload?"
1774 "binding"
1775 "block_given?"
1776 "caller"
1777 "catch"
1778 "eval"
1779 "exec"
1780 "exit"
1781 "exit!"
1782 "fail"
1783 "fork"
1784 "format"
1785 "lambda"
1786 "load"
1787 "loop"
1788 "open"
1789 "p"
1790 "print"
1791 "printf"
1792 "proc"
1793 "putc"
1794 "puts"
1795 "raise"
1796 "rand"
1797 "readline"
1798 "readlines"
1799 "require"
1800 "require_relative"
1801 "sleep"
1802 "spawn"
1803 "sprintf"
1804 "srand"
1805 "syscall"
1806 "system"
1807 "throw"
1808 "trap"
1809 "warn"
1810 ;; keyword-like private methods on Module
1811 "alias_method"
1768 "autoload" 1812 "autoload"
1769 "attr" 1813 "attr"
1770 "attr_accessor" 1814 "attr_accessor"
1771 "attr_reader" 1815 "attr_reader"
1772 "attr_writer" 1816 "attr_writer"
1773 "catch"
1774 "define_method" 1817 "define_method"
1775 "extend" 1818 "extend"
1776 "fail"
1777 "include" 1819 "include"
1778 "lambda"
1779 "loop"
1780 "module_function" 1820 "module_function"
1821 "prepend"
1781 "private" 1822 "private"
1782 "proc"
1783 "protected" 1823 "protected"
1784 "public" 1824 "public"
1785 "raise"
1786 "refine" 1825 "refine"
1787 "require"
1788 "require_relative"
1789 "throw"
1790 "using") 1826 "using")
1791 'symbols) 1827 'symbols)
1792 "\\)") 1828 "\\)")
@@ -1794,12 +1830,16 @@ See `font-lock-syntax-table'.")
1794 '(if (match-beginning 4) 1830 '(if (match-beginning 4)
1795 font-lock-builtin-face 1831 font-lock-builtin-face
1796 font-lock-keyword-face)) 1832 font-lock-keyword-face))
1833 ;; Perl-ish keywords
1834 "\\_<\\(?:BEGIN\\|END\\)\\_>\\|^__END__$"
1797 ;; here-doc beginnings 1835 ;; here-doc beginnings
1798 `(,ruby-here-doc-beg-re 0 (unless (ruby-singleton-class-p (match-beginning 0)) 1836 `(,ruby-here-doc-beg-re 0 (unless (ruby-singleton-class-p (match-beginning 0))
1799 'font-lock-string-face)) 1837 'font-lock-string-face))
1800 ;; variables 1838 ;; variables
1801 '("\\(^\\|[^.@$]\\|\\.\\.\\)\\_<\\(nil\\|self\\|true\\|false\\)\\>" 1839 '("\\(^\\|[^.@$]\\|\\.\\.\\)\\_<\\(nil\\|self\\|true\\|false\\)\\>"
1802 2 font-lock-variable-name-face) 1840 2 font-lock-variable-name-face)
1841 ;; keywords that evaluate to certain values
1842 '("\\_<__\\(?:LINE\\|ENCODING\\|FILE\\)__\\_>" 0 font-lock-variable-name-face)
1803 ;; symbols 1843 ;; symbols
1804 '("\\(^\\|[^:]\\)\\(:\\([-+~]@?\\|[/%&|^`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|![~=]?\\|\\[\\]=?\\|@?\\(\\w\\|_\\)+\\([!?=]\\|\\b_*\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)" 1844 '("\\(^\\|[^:]\\)\\(:\\([-+~]@?\\|[/%&|^`]\\|\\*\\*?\\|<\\(<\\|=>?\\)?\\|>[>=]?\\|===?\\|=~\\|![~=]?\\|\\[\\]=?\\|@?\\(\\w\\|_\\)+\\([!?=]\\|\\b_*\\)\\|#{[^}\n\\\\]*\\(\\\\.[^}\n\\\\]*\\)*}\\)\\)"
1805 2 font-lock-constant-face) 1845 2 font-lock-constant-face)