diff options
| author | Dmitry Gutov | 2013-07-03 19:46:45 +0400 |
|---|---|---|
| committer | Dmitry Gutov | 2013-07-03 19:46:45 +0400 |
| commit | 56f75efcbccb786aa6a570032b2541ee917ce5ff (patch) | |
| tree | 8686ced0d0231480c9b321e68589c252456ef747 | |
| parent | db7863f422260758d9e0fc5e3bf71fae0e8aabb4 (diff) | |
| download | emacs-56f75efcbccb786aa6a570032b2541ee917ce5ff.tar.gz emacs-56f75efcbccb786aa6a570032b2541ee917ce5ff.zip | |
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more
keywords and built-ins.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/progmodes/ruby-mode.el | 62 |
2 files changed, 56 insertions, 11 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9e746b25146..237518c3eea 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-07-03 Dmitry Gutov <dgutov@yandex.ru> | ||
| 2 | |||
| 3 | * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight more | ||
| 4 | keywords and built-ins. | ||
| 5 | |||
| 1 | 2013-07-03 Glenn Morris <rgm@gnu.org> | 6 | 2013-07-03 Glenn Morris <rgm@gnu.org> |
| 2 | 7 | ||
| 3 | * subr.el (y-or-n-p): Handle empty prompts. (Bug#14770) | 8 | * subr.el (y-or-n-p): Handle empty prompts. (Bug#14770) |
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) |