obsolete/dict-c5-mode.el
changeset 328 80146b5ba6e6
parent 327 21124e46bf6e
child 329 410c26a389a6
equal deleted inserted replaced
327:21124e46bf6e 328:80146b5ba6e6
    27         ("\\[[^]]+]" . font-lock-type-face)
    27         ("\\[[^]]+]" . font-lock-type-face)
    28         ))
    28         ))
    29 
    29 
    30 (defun dict-c5-font-lock-extend-region ()
    30 (defun dict-c5-font-lock-extend-region ()
    31   "Look for '_____' expression and extend `font-lock-beg' and `font-lock-end'."
    31   "Look for '_____' expression and extend `font-lock-beg' and `font-lock-end'."
    32   (let ((changed nil))
    32   ;; (message "%d, %d:%d" (point) font-lock-beg font-lock-end)
       
    33   ;; (message "lines: %d" (count-lines font-lock-beg font-lock-end))
       
    34   (cond
       
    35    ((and
       
    36      (< (count-lines font-lock-beg font-lock-end) 5)
       
    37      (< font-lock-end (point-max))
       
    38      (< (point-min) font-lock-beg))
       
    39     (message "XXX")
    33     (save-excursion
    40     (save-excursion
    34       ;; (message "%d, %d:%d" point font-lock-beg font-lock-end)
       
    35       (goto-char font-lock-beg)
       
    36       (beginning-of-line)
       
    37       (when (eq (char-after (point)) ?_)
       
    38         (forward-line 3)
       
    39         (setq font-lock-end (point))
       
    40         (setq changed t))
       
    41       (goto-char font-lock-beg)
    41       (goto-char font-lock-beg)
    42       (forward-line -2)
    42       (forward-line -2)
    43       (when (eq (char-after (point)) ?_)
    43       (setq font-lock-beg (point))
    44         (setq font-lock-beg (point))
    44       (goto-char font-lock-end)
    45         (setq changed t))
    45       (forward-line 3)
       
    46       (setq font-lock-end (point))
    46       )
    47       )
    47     changed
    48     t)
    48     ))
    49    (t nil)
       
    50    ))
    49 
    51 
    50 ;;;###autoload
    52 ;;;###autoload
    51 (define-derived-mode dict-c5-mode fundamental-mode "Dict-c5"
    53 (define-derived-mode dict-c5-mode fundamental-mode "Dict-c5"
    52   "Derived mode for editing C5 dictd source file."
    54   "Derived mode for editing C5 dictd source file."
    53   (add-to-list 'auto-mode-alist (cons "\\.dict-c5$" 'dict-c5-mode))
    55   (add-to-list 'auto-mode-alist (cons "\\.dict-c5$" 'dict-c5-mode))