问题标签 [font-lock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
154 浏览

regex - 匹配字符串忽略注释

我如何在忽略该字符串中的注释的同时匹配字体锁定字体化的字符串?例如

现在我如何返回匹配数据来字体化以下缓冲区文本中的字符串“foobar”?

我可以轻松地从缓冲区子字符串中剥离注释,然后匹配该子字符串中的正则表达式,但我不知道如何将其转换回适合字体锁定的缓冲区标记/点。有任何想法吗?

0 投票
2 回答
1862 浏览

emacs - Emacs-lisp: LaTeX 的美化符号模式

我试图将“漂亮实体”行为移植org-modelatex-mode使用 Emacs builtin prettify-symbols-mode。此模式用于font-lock-mode将缓冲区中的字符序列显示为单个(unicode)字符。默认情况下例如 emacs-lisp 代码

变成

然而,它似乎需要用一些字符(例如空格)分隔字符序列。例如在我的设置中,替换

会起作用,但是当字符串没有分开时它会失败,例如

这是一个特别的问题,因为我想使用这种美化来使量子力学方程更具可读性,例如替换

是否可以使用 避免此分隔符问题prettify-symbols-mode?如果不是,是否可以font-lock-mode在较低级别上使用?

0 投票
2 回答
271 浏览

emacs - 删除所有字体锁定面(除了 flyspell-incorrect flyspell-duplicate)

为了.3从使用 2 秒空闲计时器(自定义函数梳理缓冲区)设置的自定义函数的运行时间缩短大约几秒钟,我使用(font-lock-mode -1). 副作用是我的flyspell-incorrect并被flyspell-duplicate删除。将那些 flyspell 字体重新放回原处的(flyspell-region (window-start) (window-end))成本远远超过 .3几秒钟。因此,我正在考虑通过删除 flyspell-incorrectand之外的所有字体锁定字体来实现中间立场flyspell-duplicate。有没有办法向以下代码片段添加条件,以font-core保留 flyspell 字体,但删除其他所有内容?

0 投票
1 回答
620 浏览

emacs - 具有多个参数的定义中的 Emacs 字体锁定函数名称

(Emacs 23.4.1)

我正在寻找一种解决方案,只要函数参数列表等于或高于 2 个参数,函数名称的颜色就会变为常规文本。

因此,采用 0 或 1 个参数的函数具有我在.emacs文件中设置的漂亮颜色。

为什么具有 >= 2 个参数的函数不能得到它?

这是我的.emacs custom-set-face

0 投票
1 回答
226 浏览

emacs - 阻止 Emacs font-lock 在 Lisp 模式下减小符号的字体大小

当 font-lock 使我的 Lisp 缓冲区着色时(至少在clojure-modeemacs-list-mode中,所以我假设所有 Lisp 模式也受到影响),我的符号的字体大小正在减小。在这种情况下,我认为一张图片一千字:

在此处输入图像描述

如您所见,这会导致缩进看起来错误,因为符号arena-ended-games-limitgame-status以比缓冲区中的其他文本更小的字体出现。

有谁知道这是在哪里配置的,以及如何将其关闭?

我已经用谷歌搜索并阅读了许多 Emacs Lisp 文件,但无济于事,但由于我真的不知道我在寻找什么,我可能忽略了一个明显的答案。

万一这很重要,这是我的 ELPA 包序言init.el

我相当肯定starter-kit / starter-kit-lisp 中没有任何东西这样做,因为我已经非常仔细地阅读了源代码,但从来没有人知道。

0 投票
2 回答
489 浏览

python - 如何区分 emacs 缓冲区中的 Python 字符串和文档字符串?

如果我刚刚

在我的 .emacs 中,emacs 对 Python 字符串和 Python 文档字符串使用相同的字体锁定。

Python 注释字符串和文档字符串

我应该在我的 .emacs 中添加什么以便区分注释、字符串和文档字符串?

这个答案表明可以这样做。

0 投票
2 回答
385 浏览

emacs - org-agenda 的字体锁定不起作用

我有一个包含以下内容的 org 文件:

我的目标是突出显示FOO任务标题中的单词org-agenda-mode。为了实现这一点,我尝试过:

但没有任何改变。我的钩子正在C-h v font-lock-keywords运行,如果我在议程视图中尝试,返回的值是

除了两次显示相同的项目之外,我看不出为什么这不起作用。是否忽略 font-lock-mode设置?如果是这样,我怎么能添加一个“自定义”关键字突出显示org-agenda-mode

编辑 :

  • M-x emacs-versionGNU Emacs 24.4.1 (i686-pc-mingw32)
  • M-x org-versionOrg-mode version 8.2.10
0 投票
1 回答
639 浏览

emacs - 为不同的主要模式将 font-lock-face 设置为不同的值

我正在尝试设置例如for和 for font-lock-comment-faceto这是否可能?Bluecsharp-modec++-modeRed

现在我正在使用:

但这会全局设置值,而不仅仅是模式。

忘记添加我使用的版本: GNU Emacs 24.4.1 (i686-pc-mingw32) of 2014-10-24 on LEG570 on Windows 8

0 投票
1 回答
159 浏览

emacs - 避免字体锁定干扰评论内部

在我的font-lock-defaults我有:

评论字符是!,这使得评论得到正确的面孔。这很有效,除非评论中有一个竞争的字体锁定实体,比如一个字符串(用双引号分隔):

您如何让 font-lock 了解评论已经被字体锁定,并且不需要尝试对其中的任何字符串进行字体锁定?显而易见的方法是!在语法表中添加注释起始类:

此解决方案是不可能的,因为函数名称和其他包含的符号!是合法的,例如map! filter!foo!bar。添加!会导致包含此类名称的代码被错误地突出显示。

0 投票
1 回答
864 浏览

c++ - 正则表达式匹配成员变量

我正在尝试改进 emacs c++-mode 语法突出显示,需要找到一个正则表达式来匹配代码中的成员变量。

atom 语法高亮

我想与正则表达式匹配的是屏幕截图中的红色关键字而不是蓝色关键字。

要查找函数调用(蓝色的),我使用表达式([a-zA-Z_]+[a-zA-Z0-9_]*)+[(]

我想修改它,以便如果关键字后面有任何括号,它不匹配。