问题标签 [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 - emacs、#ifdef 宏颜色更改和缩进
如果宏未定义,我希望我的 emacs 将代码颜色更改为灰色,并且在 #ifdef #else 的情况下,也需要适当的缩进。
emacs - 如何使用 emacs/elisp 突出显示部分字体锁定的源代码
我有一些日志文件,其中包含 C++、C、Java 和 C# 源代码文件的目录路径和文件名(和行号)。我编写了一个正则表达式来搜索这些文件名和行号并打开源代码文件并将插入点定位在指定的行号处(有点像与编译命令一起使用时的 next-error 函数)。
给定一个多次出现在日志文件中的文件名,我想向源代码文件显示窗口/缓冲区添加突出显示(并有选择地删除突出显示)。
如果没有字体锁定(关键字颜色编码),我可以使用 add-text-properties、remove-text-properties 和 add-face-text-property(remove-face-text-property 在哪里?)等功能来做到这一点. 如果打开字体锁定,这些功能将不起作用!
如果打开了字体锁定,我该怎么做?我看到增量搜索功能可以做到这一点,因此可以添加和删除突出显示而不会弄乱字体锁定编码。
谢谢齐格弗里德
emacs - c-mode 单引号字体化
我刚刚注意到单引号被字体锁定并带有警告面,从而摆脱了整个缓冲区的字体化。有谁知道为什么会这样?例如,
版本信息:emacs 26.0.50,语义版本 2.2。从 开始,然后在缓冲区中emacs -Q
启用语义模式。M-x semantic-mode
emacs - 使用字体锁定功能的功能需要重新启动字体锁定模式
我对字体锁定模式如何参与感到困惑。我没有在 my 中启动字体锁定模式的声明init.el
,但显然它始终作为次要模式运行。此外,我还有以下功能:
它使用字体锁定特定的东西。M-x testregexfunc
但它只在我执行两次后才生效M-x font-lock-mode
。第一次禁用字体锁定模式第二次启动它。但它现在没有作为主要模式运行,因为缓冲区仍然显示缓冲区之前的任何模式。好的,所以我猜该函数设置了一些值,并且仅在模式重新启动后才生效。我想也许我需要像这样在字体锁定模式中添加一个钩子:
不……什么都不做。我需要做什么才能不必重新启动字体锁定模式才能使该功能正常工作?
我从这里得到了这个功能并对其进行了一些修改。我不理解它的大部分定义,关于字体锁定的文档对我并没有太大帮助:
https://emacs.stackexchange.com/questions/28154/using-font-lock-regexp-groups
emacs - 如何在 Emacs 中突出显示我自己的语法?
我正在开发自己的域特定语言 (DSL),文件扩展名为.xyz
.
Emacs 不知道如何突出显示.xyz
文件中的语法,所以我通常会打开typescript-mode
或json-mode
. 但是可用的语法高亮模式对我来说不够好,所以我正在考虑为 Emacs 编辑器编写自己的语法高亮模式。关于这个任务的任何提示?有什么工具包推荐吗?
或者,我会很高兴使用任何可用的模式来突出显示常见关键字,例如class
, string
, ,符号之前和之后list
的变量、大括号、方括号、问号和感叹号。任何现有的语言都有类似的语法吗?=
@
{}
[]
?
!
我不是色盲,对颜色也不挑剔。任何突出上述语法的语法都可以解决我的问题。
emacs - 删除文本属性似乎不会影响“显示”文本属性
我很困惑为什么使用remove-text-properties
删除display
text 属性不会改变缓冲区中的显示。相反,似乎我必须使用set-text-properties
to完全删除所有文本属性nil
。例如,为什么不能remove-text-properties
代替set-text-properties
这里:
regex - 如何在 Emacs 主要模式下编写一个允许在行尾添加注释而不关闭该行的字体锁定的正则表达式
我正在尝试为字体锁定命令编写正则表达式。我希望字体锁定适用于“!”之后的所有字符,直到行尾或以“#”开头的注释,但是在我输入任何字符后关闭整行的字体锁定“ #'。
目前我有这个:
在后一个示例中,注释是彩色的,但它之前的行不是。
这适用于没有注释的行,但字体锁定仅“忽略”“#”符号,而不是其后面的字符。我怎样才能使评论比“#”字符更长,而不会破坏评论前一行的字体锁定?
java - Emacs在java模式下改变变量的颜色
如何在emacs中自定义已定义的配色方案。就我而言,我有一个java mode
. 我知道如何设置背景,或者如何为评论设置颜色,但我应该怎么做才能只为变量重新定义颜色?在最好的情况下,我希望我可以移动到需要的区域并用魔法命令重新定义它......