问题标签 [font-lock-mode]

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 投票
5 回答
79332 浏览

emacs - 更改 Emacs 语法高亮颜色

我正在运行 Emacs,以 C++ 模式和 PHP 模式编辑文件。我喜欢语法高亮作为一个概念,但默认颜色是一种讽刺。我几乎看不懂其中的一些:太黑了。改变他们的价值观最简单的方法是什么?我似乎在网上找不到任何关于此的内容。我什至不介意在编译自己的 Emacs 时更改二进制文件。我只想找到它说蓝色是#0000FF 的地方并将其更改为例如#AAAAFF。

0 投票
1 回答
353 浏览

emacs - Font-lock-keywords:突出显示多个子表达式

在为 GNU/Emacs 模式设置 font-lock-keywords 时,是否可以使用单个匹配器突出显示正则表达式的多个子表达式?我想做的是类似的事情:

类似这样的正确语法是什么 - 还是我必须将它分成两个不同的匹配器?

0 投票
2 回答
2856 浏览

emacs - emacs 中的字体锁定模式是什么?

我通过将 (global-font-lock-mode 1) 放入 .emacs 来启用字体锁定模式。并且,使用字体锁定模式,“您的程序肯定看起来不一样”,如Learning GNU emacs第 274 页中所述。

我发现,在 python 模式或 org 模式下,当我更改该模式的字体时,由于颜色的变化,一些关键字没有显示。我的意思是,一些字符(关键字)变成白色,当背景颜色为白色时,这些关键字就再也看不到了。

  • 这是预期的行为吗?使用字体锁定模式,我不应该更改任何字体吗?
  • 字体锁定模式有什么好处?

这是更改默认代码的代码。

我使用以下选项来更改特定模式的字体。 http://a.imageshack.us/img823/2772/fontq.png

0 投票
1 回答
296 浏览

emacs - 如何使 emacs 在字体锁定模式下呈现数学组合字符?

我试图让emacs在字体锁定模式下正确渲染数学组合字符,如分音符、横杆等。目标是能够编写像 x_dot 这样的数学运算并将其显示为“ẋ”,或将 x_bar 显示为“x̄”。

这是我到目前为止所拥有的,而且它大部分都有效。

但是:我在组合角色之前看到了一个视觉伪影角色。执行上述操作后,通过在 *scratch* 缓冲区中写入“x_dot”或类似内容来测试这一点。

这件神器像幻影一样来来去去。组合普通字符(如“o”和“-”)时不会发生此行为,如下例所示。

然后在某处输入“x_dash”。

到底是怎么回事?

0 投票
1 回答
619 浏览

emacs - Emacs:font-lock-fontify-region 和多行

我正在为 php/html 文件编写一个次要模式。我使用一个函数(cf. font-lock-keywords)来字体化块<?php ?>

为了字体化多行块,我需要设置font-lock-multiline为 t。

一切都运行得很好。在这种情况下,它们只是一个问题:当我有一个多行块并删除结束标记 ( ?>) 时,该块是非字体化的。当我放回标签时,该块不再字体化。

我有三个问题:

1/ 这个问题有简单的解决方案吗

如果不是 2/font-lock-fontify-buffer每次我输入这两个字符时有什么方法可以触发:'?''>'

3/更好,有没有办法触发这种功能:当我输入时,?>我找到开始标签<?php并在这个块上强制 a font-lock-fontify-region

0 投票
2 回答
2366 浏览

emacs - Emacs:字体锁定解释

我使用 Emacs 已经有很长时间了,并且我已经对其进行了很多定制。我什至写过简单的 ELisp 函数,现在我开始越来越多地使用宏。我不是一个知识渊博的 Emacs 用户,但我也不是一个完整的初学者。

我正在使用 nxhtml、mumamo、dired、ido、自定义键绑定以及我多年来添加的许多东西,但我不记得所有这些了;)

但是有一点我真的不明白:什么是“字体锁定”模式,我为什么要关心?

例如,我读过 nxhtml 和 nxml,如果我没记错的话,不要使用字体锁定。也许我不太了解那部分,但无论哪种方式:作为用户,它对我有什么改变?

或者以关于WhiteSpace的描述为例:

请注意,当 WhiteSpace 打开时,WhiteSpace 会保存 font-lock 状态,即 font-lock 是打开还是关闭。WhiteSpace 在关闭时会恢复字体锁定状态。因此,如果 WhiteSpace 开启而 font-lock 关闭,WhiteSpace 也会开启 font-lock 以高亮空白,但当 WhiteSpace 关闭时,font-lock 也会关闭。因此,如果您希望在 WhiteSpace 关闭后继续打开字体锁定,请在打开 WhiteSpace 之前打开 font-lock。

好的。我明白那个。但是,如果 font-lock 在之后继续,它会改变什么?

基本上我只是不“明白”,不管我读了多少关于这个主题的内容。

任何关于 Emacs 下的“font-lock”是什么以及为什么它与我有关的示例/解释都将受到欢迎!

0 投票
1 回答
341 浏览

emacs - 是否可以根据上下文更改 emacs 语法表?

我正在努力改进UnrealScript的 emacs 主要模式。(许多)怪癖之一是它允许使用这样的语法在虚幻编辑器中指定工具提示:

变量声明后的尖括号表示以管道分隔的 Key=Value 元数据对列表,元数据不加引号但可以包含引号——管道 ( |) 或右尖括号 ( >) 表示结束。

有没有办法让emacs语法表以一种有用的方式识别这种上下文相关的语法?我希望在这些变量元数据声明中以某种方式突出显示除了管道和直角括号之外的所有内容,但保留它们的正常突出显示。

现在,单引号字符被设置为引号分隔符(语法指示符"),因此 font-lock-mode 将这样的引号解释为开始一个带引号的字符串,它不在这个非常具体的实例中,所以它会错误地突出显示所有内容,直到它找到另一个据称匹配的单引号。

0 投票
1 回答
254 浏览

regex - 字体锁定 Emacs-Lisp 正则表达式组

我目前正在为 Emacs 编写一个主要模式,并试图弄清楚如何让语法突出显示工作。我的主要模式适用于类似 lisp 的语言,如下所示:

基本上,我要做的是编写一个正则表达式来匹配前面的所有单词,[但不匹配其[本身以突出显示函数调用。我做了一些谷歌搜索,发现 emacs 不支持正则表达式后视,那么我该怎么做呢?