作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在某些配置文件中突出显示 true 和 false 值。我有这样做:
(defun my/highlight-in-properties-files ()
"Highlight regexps in PROPERTIES files."
(when (string-match-p ".properties" (file-name-nondirectory buffer-file-name))
(highlight-regexp "true" 'hi-green)
(highlight-regexp "false" 'hi-pink)))
但它也会在评论中突出显示这些值:
有没有办法排除那些突出显示?
更新 -- highlight-regexp
是‘hi-lock.el’中‘hi-lock-face-buffer’的别名。 string-match-p
是 ‘subr.el’ 中编译的 Lisp 函数。
最佳答案
您可以通过 font-lock-add-keywords
添加正则表达式,这已经说明了缓冲区中的注释语法,例如。
(defun my-font-lock-additions ()
(require 'hi-lock) ; fonts
(font-lock-add-keywords
nil
'(("\\btrue\\b" . 'hi-green)
("\\bfalse\\b" . 'hi-pink)))
(font-lock-flush))
然后调用 (font-lock-refresh-defaults)
恢复到 OG 设置。
坚持使用 highlight-regexp
的纯正则表达式解决方案无疑会在奇怪的情况下产生一些错误,但是,我认为仅自定义您的正则表达式以检查注释前缀可能也能很好地工作,
(defun my/highlight-in-properties-files ()
"Highlight regexps in PROPERTIES files."
(when (string-match-p ".properties" (file-name-nondirectory buffer-file-name))
(comment-normalize-vars) ; ensure comment variables are setup
(let ((cmt-re (format "^[^%s]*" (regexp-quote (string-trim comment-start)))))
(highlight-regexp (format "%s\\(\\_<true\\_>\\)" cmt-re) 'hi-green 1)
(highlight-regexp (format "%s\\(\\_<false\\_>\\)" cmt-re) 'hi-pink 1))))
关于regex - 如何在 Emacs 的注释中不突出显示值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60637282/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!