# HG changeset patch # User Oleksandr Gavenko # Date 1324415757 -7200 # Node ID c34dc5f4751054cc5e87daeddf170e5123381f10 # Parent 8125f4d8b6d488979a1da96f56349647edab845a Finally fix multiline highlighting. diff -r 8125f4d8b6d4 -r c34dc5f47510 dict-mode.el --- a/dict-mode.el Tue Dec 20 22:11:20 2011 +0200 +++ b/dict-mode.el Tue Dec 20 23:15:57 2011 +0200 @@ -27,6 +27,24 @@ ("\\[[^]]+]" . font-lock-type-face) )) +(defun dict-c5-font-lock-extend-region () + "" + (let (beg end) + ;; font-lock-beg font-lock-end + (save-excursion + ;; (message "%d, %d:%d" point font-lock-beg font-lock-end) + (goto-char font-lock-beg) + (beginning-of-line) + (when (eq (char-after (point)) ?_) + (forward-line 3) + (setq font-lock-end (point))) + (goto-char font-lock-beg) + (forward-line -2) + (when (eq (char-after (point)) ?_) + (setq font-lock-beg (point))) + ))) + + ;;;###autoload (define-derived-mode dict-c5-mode fundamental-mode "Dict-c5" "Derived mode for editing C5 dictd source file." @@ -39,6 +57,7 @@ (use-local-map dict-c5-mode-map) (modify-syntax-entry ?' ".") (modify-syntax-entry ?\" ".") + (add-hook 'font-lock-extend-region-functions 'dict-c5-font-lock-extend-region t) ) ;;; dict-mode.el ends here