Questions tagged «syntax-highlighting»

是根据不同术语的含义以不同的颜色和字体显示文本(尤其是源代码)的功能。

2
使用更多标记扩展组织模式
我想为这种标记添加标记和格式,即<kbd>...</kbd>用方框包围这种标记。我还希望该标记与兼容(setq org-hide-emphasis-markers t)。也就是说,当变量被设置为t,在<kbd>和</kbd>标签应消失,留下具有指定上述格式化的文本。 张贴在这个问题的答案:如何永久地突出显示文本的组织模式 不解决这个问题,因为它仅适用于现有的标记,不延长组织新的标记。

1
源代码块中的语法突出显示
我认为组织模式突出显示了具有相关模式的源代码块。因此,例如: #+BEGIN_SRC clojure (defn plus [a b] (+ a b)) #+END_SRC 如果使用Clojure缓冲区,则会突出显示语法,这将显示出来。 由于某种原因,我的设置仅以一个灰色单调显示以上示例。

2
我可以关闭或切换js2-mode的语法检查器吗?
我的默认设置为js2-mode。这样可以很好地突出显示和检查语法,但是我现在正在一个具有不同样式集的项目(特别是这个新项目不使用分号)。 这会在每行代码的下面js2-mode加上警告:missing ; after statement 有没有一种方法可以禁用语法检查js2-mode? 或者,甚至更好的是,有没有办法使用不同的语法检查器? 我已经为我的.js文件安装并运行了Flycheck模式,但是我没有启用任何语法检查器(即,所有检查器都设置为nil和not found)。知道如何启用其中之一并禁用内置的功能将是很棒的js2。 我知道分号插入的观点各不相同,但是该项目遵循"standard style"Flycheck中有一个语法检查器的项目,我只是想知道是否可以切换检查器。

1
如何获取彩虹定界符/彩虹块以突出LaTeX方程式中的嵌入式数学
我使用spacemacs与AUCTeX为LaTeX的编辑,想使彩虹分隔符和/或彩虹块亮点LaTeX的数学方程。不幸的是,这仅部分起作用,即,某些方程式被突出显示,而另一些则不能: 在示例屏幕截图中,包含$在内的嵌入式数学不会突出显示,而其余部分(包括包含在内的嵌入式数学)则会突出显示\(...\)。 随着rainbow-blocks它变得更糟,因为它有时会在文档的一个位置工作,有时不管范围如何都无法工作。 问:有谁知道为什么会这样,或者如何rainbow-blocks在LaTeX中进行在线数学运算?有其他可行的选择吗?

2
“ syntax-ppss”适合什么语言?
我一直在寻找一种方法,通过查看当前缓冲区的字体设置来检测注释上是否存在点。 Smartparens定义sp-point-in-comment依赖于syntax-ppss。然而,似乎syntax-ppss和parse-partial-sexp可用于任意语言,即使他们不使用s表达式。 例如,以下Python: x = 1 # I'm a comment y = 2 将点放在评论和评估中(if (nth 4 (syntax-ppss)) 'comment 'not-comment)可以正常工作。 是否syntax-ppss适用于任何编程模式?为什么文档字符串讨论s表达式?


1
如何使用font-lock-defaults指定自定义面孔?
如果我使用现有的面孔定义字体锁定关键字,则可以突出显示字符串'foo'。 (defconst my-mode-font-lock-keywords (list (cons "foo" 'font-lock-type-face))) (define-derived-mode my-mode fundamental-mode "My mode" "A demo mode." (set (make-local-variable 'font-lock-defaults) '(my-mode-font-lock-keywords))) 这正确地突出显示: 但是,如果我定义自己的脸: (defface my-mode-foo-face '((t :inherit font-lock-preprocessor-face)) "Face for highlighting 'foo'.") (defconst my-mode-font-lock-keywords (list (cons "foo" 'my-mode-foo-face))) (define-derived-mode my-mode fundamental-mode "My mode" "A demo mode." (set (make-local-variable 'font-lock-defaults) '(my-mode-font-lock-keywords))) 没有应用突出显示: 如何font-lock-defaults定义自己的面孔?


2
如何在次要模式下添加复杂的语法突出显示?
我想在次要模式下以各种面孔突出显示代码。 这是接近我想要的屏幕截图: 有一两件事,我缺少的是具有注释字符#在 font-lock-comment-face。这样做的想法是使注释“属于”以纯文本突出显示的轮廓,因此更易于阅读。经常以平常不太显眼的表情发表评论。 这是我使用的代码: (setq-local font-lock-defaults '(python-font-lock-keywords nil nil nil nil (font-lock-syntactic-face-function . lpy-font-lock-syntactic-face-function))) (defun lpy-font-lock-syntactic-face-function (state) "Return syntactic face given STATE. Returns 'defalt face for comments that belong to an outline." (cond ((nth 3 state) (if (python-info-docstring-p state) font-lock-doc-face font-lock-string-face)) ((save-excursion (while (and (> (point) (point-min)) (progn (move-beginning-of-line …

2
为什么主要模式不只是检查面部?
编写主模式时,知道“字符串中是否指向点?”通常很有用。“在评论中有意思吗?”。 大多数主要模式似乎都试图解析编程语言。例如: python-syntax-content 来电 syntax-ppss haskell-fill-paragraph呼叫syntax-ppss和re-search-forward c-in-comment-line-prefix-p 移动点并呼叫 looking-at sp-point-in-comment通话,syntax-ppss但还会检查是否在评论分隔符上 但是,这在某些情况下不起作用。在组织模式缓冲区中,这些方法无法正确检测源块中的注释。 这似乎也毫无意义,因为缓冲区已经显示了高亮的注释。 取而代之,您可以简单地检查以下点的人脸: (defun wh--get-faces (pos) "Get all the font faces at POS." (remq nil (list (get-char-property pos 'read-face-name) (get-char-property pos 'face) (plist-get (text-properties-at pos) 'face)))) (defun wh-string-p (pos) "Return non-nil if POS is inside a string." (memq 'font-lock-string-face (wh--get-faces …

3
hl-line-mode隐藏背景,如何避免这种情况?
带有: (when window-system (set-face-background 'hl-line "light yellow") (global-hl-line-mode 1)) 当前行以黄色背景突出显示,但是如果文本具有背景属性,它也会被覆盖(例如diff-mode,rainbow-mode)。 是否可以仅为没有适当属性的零件设置背景? 我开始进行实验的UPDATE,似乎点画与背景没有冲突: (set-face-stipple 'hl-line '(4 4 "\x01\x00\x00\x00")) (set-face-attribute 'hl-line nil :inherit nil) 但是不幸的是,点画会损坏文本外观。

2
什么是字符串围栏或评论围栏?
的docstring modify-syntax-entry表示以下内容: (modify-syntax-entry CHAR NEWENTRY &optional SYNTAX-TABLE) ... The first character of NEWENTRY should be one of the following: ... / character-quote. @ inherit from parent table. | generic string fence. ! generic comment fence. 什么是围栏,什么时候可以使用?我在信息手册中找不到任何内容。

2
org模式下导出的html文件中语法突出显示和源代码块的缩进
当我在组织模式文件中插入C代码块时,将根据需要自定义语法高亮和源代码的缩进。 当我将其导出到html文件时,html文件中的语法高亮与Emacs中的语法完全相同。但是语法突出显示与我的Emacs的颜色主题配合使用效果更好。例如,{在我的C代码块中,符号为白色,但我的颜色主题为深色,如果我将其导出为html,则html文件的背景也为白色,这意味着您无法{在源代码块中看到导出的html甚至认为它在那里。 在我的Emacs中,源代码的缩进是正常的(按我的自定义方式),但是导出的html文件中源代码的缩进将有所不同,它为缩进添加了更多空间。 如果我在中导出相同的组织文件emacs -q,则它们在导出的html文件中是正常的,但是语法高亮和源代码的缩进将是defaultEmacs 的配置。因此,这意味着中的字体配置init.el会影响org-export。 所以我的问题是:当我将包含源代码块的组织模式文件导出到html文件(或其他格式,例如PDF)时,是否有可能摆脱我自己关于字体的所有配置源代码,是否像在emacs -q? 更新: 通过(setq org-src-preserve-indentation t)在init文件中进行设置或通过M-:(eval-expression)运行它可以解决第二个问题。 Update2: 第一个问题是通过根据theme设置组织导出的<code>块的背景来解决的。 如果解决了第一个和第二个问题,第三个问题并不重要。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.