gpt4 book ai didi

emacs - 我怎样才能让 emacs 在字体锁定模式下将单引号识别为不是字符串开始/结束标记

转载 作者:行者123 更新时间:2023-12-04 15:47:00 25 4
gpt4 key购买 nike

我有一个预处理器(xhp),它允许我在 php 代码中编写不带引号的文本,例如:

<foo>
my enemies' base
</foo>

可能会出现在 .php 文件中,但是一旦 emacs 看到该单引号,它就会将文件的其余部分视为字符串。
  • 我不知道在 (c-mode) 中哪里设置了 'font-lock-syntactic-keywords',但它有一个与之关联的语法表,似乎导致了这个
  • (c-in-literal) 也返回 'string,所以也许我需要在代码中比在字体锁定级别更深入地解决这个问题,如果有人对此有任何提示,将不胜感激

  • 我会满意的最简单的解决方案是假设字符串仅为一行。

    最佳答案

    我不知道您使用的是什么主要模式,但一般来说,诀窍是使用类似 (modify-syntax-entry ?\' "." <syntaxtable>) 的内容更改 ' 字符的语法。 .当然,如果 ' 字符有时可以分隔字符串而有时不能,那么就更棘手了,您需要想出一个 font-lock-syntactic-keywords (或 syntax-propertize-function )规则,可以判断在任何给定点使用哪个。

    例如。假设 PHP 从不将 ' 视为字符串分隔符,则以下内容可能会解决您的问题:

    (add-hook 'php-mode-hook
    (lambda () (modify-syntax-table ?\' ".")))

    关于emacs - 我怎样才能让 emacs 在字体锁定模式下将单引号识别为不是字符串开始/结束标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10465695/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com