cperl 模式下的 Emacs 漂亮符号:::必须包围我的空间

标签 emacs pde cperl-mode

我正在使用带有 PDE 和 cperl 模式的 Emacs。我真的希望 prettify-symbols-mode 能够使用它。当仅使用 perl 模式时,会发生这种情况:

Mod::thing->new( {c => 'sea'} );

变成了

Mod∷thing→new( {c ⇒ 'sea'} );

但是,当使用 cperl 时,相同的表达式变为

Mod::thing→new( {c ⇒ 'sea'} );

在cperl模式下,::只有在两侧用空格分隔时才会变成

我尝试添加到 cperl--pretty-symbols-alist 和 Pretty-symbols-alist。仍然只有 ->=> 有效。

我认为这可能是 cperl 将字符定义为符号或单词的方式,但 ->=> 工作得很好,没有被空格包围。

最佳答案

我明白了。我去了/usr/share/emacs/26.1/lisp/progmodes并删除了一个名为 cperl-mode.elc 的文件。然后我进入了这里的archinve /usr/share/emacs/26.1/lisp/progmodes/cperl-mode.el.gz 。我将 cperl-mode.el 的第 1498 行编辑为 (modify-syntax-entry ?: "." cperl-mode-syntax-table)而不是(modify-syntax-entry ?: "_" cperl-mode-syntax-table) 。然后我对文件进行了字节编译并将其放回/usr/share/emacs/26.1/lisp/progmodes中。

关于cperl 模式下的 Emacs 漂亮符号:::必须包围我的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55820462/

相关文章:

r - ESS 产生 "Variable binding depth exceeds max-specpdl-size"

emacs - 使用 tuareg 在 Emacs 中启动自定义 OCaml 顶层的便捷方式

julia - Julia 中的伪谱方法的复偏微分方程 (Ginzburg Landau)

c++ - 在 C/C++ 中求解非线性反抛物线 PDE 的包

emacs - 在 perl 模式 emacs 中关闭自动缩进

emacs - 如何在emacs上更改光标颜色

emacs - elisp 中最好的 YAML 解析器是什么?

python - 利用空间扩散因子实现 Fitzhugh-Nagumo 模型的数值求解

perl - 我可以在 emacs 的 cperl 模式下自定义三元运算符的缩进吗?