问题标签 [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 投票
2 回答
878 浏览

emacs - 在 Emacs font-lock-mode 中对字符串文字中的变量引用进行字体化

当我在 Emacs ruby​​-mode 中键入以下代码时,“#{foo}”的字体颜色与封闭字符串不同。如何在我自己的 Emacs 模式下执行此操作?我试图破译 ruby​​ 模式的源代码,但在合理的时间内无法理解它。

0 投票
5 回答
9593 浏览

emacs - 为每个缓冲区/模式设置 Emacs 默认字体

如何更改 Emacs 用于基于每个模式设置文本样式的默认面?

例如,假设我已经对我拥有的面部自定义感到满意,其中包括默认的固定宽度字体。但是,在一种特定模式下(markdown-mode.el例如),我希望默认字体为可变宽度。

为 markdown 模式设置独特的标题、链接等样式很容易:只需将光标放在样式化的文本和M-x describe-face上,然后单击链接即可对其进行自定义。

但是,如果没有指定其他面,则默认面是使用的面,因此它不是特定于 markdown-mode,如果修改将影响所有其他模式。

markdown-mode-hook使用此模式设置缓冲区的默认面时,我可以使用什么魔法?

0 投票
3 回答
1632 浏览

emacs - 在 emacs 中更新 font-lock 关键字而无需重新加载主要模式

我正在对 SLIME 做一些小的修改,这样我就可以从 Lisp 中获取所有当前加载的符号,分析它们并使 font-lock 字体化它们。

我设法完成了所有这些步骤,但我有一个小问题 - 当字体锁定中的关键字列表更改时,除非您重新启动主要的 lisp 模式,否则缓冲区不会更新。我不想每次更新关键字时都重新启动 lisp-mode,因为我在 lisp-mode 上有几个挂钩,我只想在第一次加载文件时才运行它们。

是否有其他方法来更新字体锁定,以便它读取所有新的关键字并相应地对缓冲区进行字体化?关闭字体锁定并使用font-lock-fontify-buffer并不能解决问题。

UPD:增加了赏金-问题仍然存在。我需要一种在不重新加载主要模式的情况下重新加载 font-lock 关键字的方法。

0 投票
1 回答
2764 浏览

emacs - 如何在 Emacs 中设置 Org Mode Agenda 默认格式?

我希望 Org Mode Agenda 的格式与 Emacs 的其余部分有很大不同。每次生成议程时,我怎样才能做到这一点?

(注意,这不是同一个问题,因为 Org Mode 指定不同的面孔,具体取决于截止日期的接近程度,以及议程缓冲区中未提供的其他信息。)

谢谢!

0 投票
1 回答
4092 浏览

emacs - 在 Emacs 中,如何在 minibuffer 中显示带有字体属性的消息?

我想在 minibuffer 中显示一个彩色的文本字符串,但是当我使用“消息”函数时,文本属性被剥离。

0 投票
3 回答
3661 浏览

emacs - Emacs:使用字体锁定/语法着色非常慢的滚动

我试图从 Vim 切换到 Emacs 几个月并遇到了一个奇怪的问题:当字体锁定打开时,在 emacs 中滚动变得非常慢。配置相关部分的示例:

即使从几百行开始的相对较小的文件也很慢。似乎这不是一个很常见的问题,因为到目前为止我还没有找到任何明确的解决方案。

GNU Emacs 23.1.1 Ubuntu 10.04

0 投票
6 回答
4074 浏览

emacs - Emacs - dired 目录的颜色

我已经在网上搜索了。我已经尝试过颜色主题(也许我需要创建自己的主题,但实际上我已经按照我想要的方式设置了我的 emacs,除了这件事,我找不到我可以接受的颜色主题)。

我只想在 dired 模式下更改目录的颜色。我在 .emacs 中更改了几种自定义颜色,例如:

但我只是不知道在 dired 模式下为目录更改什么面。

任何人都可以帮忙吗?

谢谢!

0 投票
2 回答
679 浏览

perl - 如何在 emacs cperl-mode 中更改标量变量的面?

在 cperl 模式下,我可以使用 , 更改数组和哈希面M-x customize-group RET cperl-faces RET,并更改Cperl Hash Faceand Cperl Hash Face。但我看不到任何更改标量变量颜色的选项。

我试图font-lock-variable-name-face在代码内部或从Cperl Ps Print Face Properties(我真正想更改颜色的地方在打印中)进行更改,但它不起作用。我已经尝试了从 4.32 到rockway-perl6-branch的几种 cperl 模式。

此外,我不希望变量中的 $ 着色,因此印记在打印输出中会更加突出(这已经在这里提出但尚未解决)。

有人可以给我任何提示吗?

0 投票
1 回答
296 浏览

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

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

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

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

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

然后在某处输入“x_dash”。

到底是怎么回事?

0 投票
2 回答
335 浏览

regex - 正则表达式和字体锁定中的未知匹配数

我正在尝试使用 font-lock 和 elisp 的正则表达式来突出显示如下内容:

问题是 . 之后的逗号分隔列表的长度未知implements。我已经完成了正则表达式,它突出显示了列表中的所有单词(使用 re-buider,A、B、C 和 D 被突出显示):

但我无法将它与字体锁定结合起来。

明显地

不起作用,因为它仅突出显示最后一次出现(C 和 D),忽略*第一次反向引用后的星号 ( )。

有没有办法捕获所有匹配单词的列表,或者可能完全不同的方法来解决这个问题?