# HG changeset patch # User Oleksandr Gavenko # Date 1324411880 -7200 # Node ID 8125f4d8b6d488979a1da96f56349647edab845a # Parent d38ced086516d9c14e26b8a218621b817283b01d Rewrite code to use 'define-derived-mode'. diff -r d38ced086516 -r 8125f4d8b6d4 dict-mode.el --- a/dict-mode.el Tue Dec 20 21:45:23 2011 +0200 +++ b/dict-mode.el Tue Dec 20 22:11:20 2011 +0200 @@ -19,26 +19,26 @@ (setq dict-c5-mode-map (make-sparse-keymap)) ;; (define-key dict-c5-mode-map (kbd "RET") 'my-xxx) -(require 'generic-x) +(defvar dict-c5-font-lock-keywords +;; (setq dict-c5-font-lock-keywords + '( + ("^\\(_\\{5,\\}\\)\n\n\\(\\w[^\n]*\\)$" + (1 font-lock-function-name-face) (2 font-lock-keyword-face)) + ("\\[[^]]+]" . font-lock-type-face) + )) ;;;###autoload -(define-generic-mode - 'dict-c5-mode - nil - nil - '( - ("^\\(_\\{5,\\}\\)\n\n\\([^[:blank:]][^\n]*\\)$" - (1 font-lock-function-name-face) (2 font-lock-keyword-face)) - ("\\[[^]]+]" . font-lock-type-face) - ) - '("\\.dict-c5$") - (list - (lambda nil - (use-local-map dict-c5-mode-map) - (modify-syntax-entry ?' ".") - (modify-syntax-entry ?\" ".") - (setq font-lock-multiline t) - )) +(define-derived-mode dict-c5-mode fundamental-mode "Dict-c5" + "Derived mode for editing C5 dictd source file." + (add-to-list 'auto-mode-alist (cons "\\.dict-c5$" 'dict-c5-mode)) + (setq font-lock-defaults + '(dict-c5-font-lock-keywords + t nil nil nil + (font-lock-multiline . t) + )) + (use-local-map dict-c5-mode-map) + (modify-syntax-entry ?' ".") + (modify-syntax-entry ?\" ".") ) ;;; dict-mode.el ends here