问题标签 [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.
emacs - 如何仅在注释之外的 AUCTeX 缓冲区中字体锁定美元符号(数学模式分隔符)?
我编写了以下代码以不同颜色突出显示 AUCTeX 缓冲区中的美元符号,但后来我发现它甚至在注释中突出显示美元符号,这是无意的,但我开始喜欢它。但现在只是出于好奇,我想知道这是否可以避免。
haskell - Haskell 风格注释的 ELisp 语法表注释
我正在尝试使用 ELisp Syntax-Table-Comments 设置 Haskell 样式的注释,但我不太明白。
在 Haskell 中,有 2 种基本类型的注释
--
表示以\n
{-
表示以 结尾的多行注释-}
需要注意的是,这些可以嵌套
多行注释可以这样完成:
单行注释可以这样完成:
根据文档,我可以使用b
. 但是,b
适用于序列的第二个字符,在这两种情况下都是-
. 因此,当我尝试使用替代方法将这些组合起来时,就不可能进行多行和单行注释。
我已经看到这样做了,所以我知道这是可能的。但是,我不知道该怎么做。任何帮助表示赞赏。
regex - 如何测试 Emacs Lisp 代码的“font-lock-keywords”值
我提出这个问题是因为我认为这个问题和可能的答案都可能有助于 Emacs 用户编写 Lisp 代码来定义font-lock-keywords
. 我提供了一个我认为有帮助的答案。我也对其他答案感兴趣。
该变量的值是一个表达式列表,每个表达式都可以指定一个或多个要匹配的模式或执行匹配的函数,以及一个或多个用于突出显示匹配文本的面孔。价值的可能性font-lock-keywords
是无数和复杂的。(描述这个的文档是 Elisp 手册 node Search-based Fontification
。)
在大多数情况下,列表包含多个元素,这意味着多个正则表达式模式。这些可以以不同的方式进行交互。有些可以阻止其他人生效,或者他们可以改变其他人的效果。例如,我的库Dired+font-lock-keywords
在 Dired 模式下定义了 31 个条目(正则表达式),其中许多是交互的。
如何保持所有这些正常?在定义或修改此类列表时如何调试它 ?您可以注释掉除一个列表项之外的所有项目,以便在单独时查看其效果。然后重复另一个。然后也许将几个加在一起,也许以不同的顺序。我想有各种可能性,但你是做什么的?
(好吧,我知道大多数 Elisp 编码人员不会编写超级复杂font-lock-keywords
的定义。但即使对于简单的定义,这也会变得复杂。也许如果这个过程更容易,那么用户就不会不必要地将自己限制为一两个条目。)
emacs - bounds-of-thing-at-point 和 AUCTeX 字体锁定
我将 LaTeX 与 Emacs 一起使用,并希望能够将我写的内容传递给 shell 命令。(作为我使用的例子xargs echo
。)
为此,我定义了一个交互式 elisp 函数:
这适用于大多数缓冲区,但不适用于使用 AUCTeX 字体锁定的 LaTeX 缓冲区。大多数单词都可以正常工作,但在单词边界处带有引号的单词却不行。
一个最小的例子:
首先,作为概念证明:如果点test
在我的 LaTeX 缓冲区中并且我尝试我的命令 ( echo
),我会test
在 minibuffer 中得到结果。(正如预期的那样。)
现在的问题:如果 point 是 onTest
而我使用我的命令 xargs 抱怨不匹配的双引号。
原因是 shell-command-on-region 不会传递Test
给 shell 命令,而是Test"'
. 我可以通过在我的 elisp 代码中使用来验证这一点xargs -0
。然后我在 minibuffer 中得到结果:
问题来自 AUCTeXs 字体锁定。(我想使用它!)如果我设置font-latex-quotes
为nil
,我的命令可以正常工作(它Test
在迷你缓冲区中返回),但引用的内容当然不会被字体化......
有什么想法可以更改我的 elisp 代码以使其也与 AUCTeX 一起使用,或者自定义 AUCTeX 以使其字体化引用的内容但保留正确的单词边界?
emacs - 如何设置emacs运算符颜色?
如何为操作员设置字体颜色?我正在用 C++ 编程,我希望像 '+'、'='、'!='、'<<' 之类的运算符按我的意愿着色。
我尝试将光标移动到运算符和“Mx customize-face”上,但默认情况下它会将我带到“所有面孔”。我应该编辑哪个?
emacs - 如何将参数的字体更改为 elisp / latex-mode 中的函数
我知道我可以在font-lock-mode
using中添加关键字font-lock-add-keywords
。
但是,我想将参数的字体颜色更改为乳胶函数。
在乳胶模式下,如果我写:
然后Somebody1999
将在 中突出显示font-lock-constant-face
。
但是,如果我写:
然后citeasnoun
正确着色为font-lock-keyword-face
,但Somebody1999
着色为“默认”。大概该模式识别出反斜杠使其成为函数,但它不识别citeasnoun
为关键字。
我尝试添加citeasnoun
到 的列表中font-lock-keyword-face
,但这没有效果。
emacs - haskell-mode 中的 font-lock-mode 似乎破坏了 emacs 中单个空格的宽度
我发现font-lock-mode
无论我使用什么等宽字体,单个空格的宽度都有问题。
以下是一些截图:
使用
DejaVu Sans Mono
:font-lock-mode
上:font-lock-mode
离开:使用
Luculent
:font-lock-mode
上:font-lock-mode
离开:
我的 emacs 初始化文件中的相关(可能)行:
编辑:感谢@Boojum 的帮助,我做C-u C-x =
了 3 种不同风格的角色。
这就是结果。我想问题是SPC
没有“面子”属性。
另外,我也尝试切换到其他主要模式,发现这个问题只发生在haskell-mode
.
emacs - 如何在 Emacs 中突出显示来自特定项目的文件的制表符
我有这段代码来突出显示制表符并希望使用项目特定宏禁用它们:
并且project-specifics
是一个定义 add find-file-hook
and dired-after-readin-hook
from this question的宏
我想要做的是禁用项目/测试中文件的红色标签(我想要它们,因为在大多数项目中我只想要空格,并且想要查看标签),但我有一个问题,因为font-lock-mode-hook
之前执行的代码project-specifics
(查找- file-hook),并且 prevent-highlight-tabs 在 font-lock-mode-hook 中始终为零。为什么会这样,以及如何解决?
emacs - 为什么 font-lock-keyword-face 在 Emacs 中突出显示双引号内的文本?
我正在尝试在 Emacs 中设置一个主要模式,我想在其中突出显示某些关键字。使用此页面中的模板:http: //ergoemacs.org/emacs/elisp_syntax_coloring.html我试过:
如果我在一个简单的测试文件上使用这种模式,并且键入"hello"
的文本hello
用不同的颜色标记。也就是说,双引号内的任何文本都会突出显示。为什么会这样?
我认为这与变量有关font-lock-keyword-face
。但是,如果我输入C-h v并font-lock-keyword-face
显示:
更新
似乎它与font-lock-keyword-face
无论如何都无关,因为定义testing-font-lock-keywords
如下:
给出相同的行为。