一千萬個為什麽

搜索

這裏的文檔中的Cperl字體鎖定區域

我在 cperl-mode 中遇到問題-a-newline-into-a-here-doc“>這個問題。基本上在 cperl-mode 中的here doc的行開頭插入換行符會破壞語法高亮。其中一個答案建議使用font-lock-extend-region-functions來擴展字體鎖定區域以包含所有這裏的doc。我已經使用下面的代碼完成了這項工作,並使用 highlight-refontification 進行了驗證。但是,即使區域被擴展,當我插入換行符時,區域也會分裂並且語法高亮顯示仍然會中斷。我的功能如下所示

(defun my/cperl-font-lock-extend-region-here ()
  (save-excursion
    (goto-char font-lock-beg)
    (if (re-search-backward "=<<\s*['\"]?[0-9a-zA-Z_]+['\"]?\s*;" nil t)
        (if (string-match "=<<\s*['\"]?\\([0-9a-zA-Z_]+\\)['\"]?\s*;" (thing-at-point 'line t))
            (let ((here-tag (concat "^" (match-string 1 (thing-at-point 'line t)) "$")))
              (beginning-of-line)
              (let ((here-start (point)))
                (goto-char font-lock-end)
                (if (re-search-forward here-tag nil t)
                    (progn
                      (end-of-line)
                      (if (< font-lock-end (point))
                          (setq font-lock-end (point)))))
                (if (> font-lock-beg here-start)
                    (setq font-lock-beg here-start))))))))

我的問題是,有沒有聰明的人知道一種防止語法突出顯示在 cperl-mode 這裏的文檔?

最佳答案

暫時沒有最佳答案

轉載註明原文: 這裏的文檔中的Cperl字體鎖定區域