6

今天我不得不将一个真实的(死树)信中的银行帐号复制到 Emacs 缓冲区,然后通过电子邮件发送。我在将它从字母复制到 Emacs 缓冲区时犯了一个错误(忘记了一位数字)。这导致一位同事的一封电子邮件告诉我:“无法付款,伪造的 IBAN”

创建一个功能/次要模式有多难:

  • 检测看起来像 IBAN 的“事物”(例如,两个大写字母后跟在“x”和“y”数字之间,忽略空格等。有现成的正则表达式可以验证某事物是否看起来像 IBAN或不)

  • 运行 mod 97,如果 IBAN 看起来无效,则以红色突出显示

理想情况下,我需要一种可以为几种类型的缓冲区(愚蠢的文本文件,还有电子邮件等)打开的次要模式。

使用 Emacs 来做到这一点的“方法”是什么?

4

1 回答 1

9

您可以轻松地使用类似的东西

(font-lock-add-keywords nil
  '(("[A-Z][A-Z][0-9]\\{x,y\\}"
     (0 (if (eq (mod blabla 97) foo) nil 'font-lock-warning-face))))))

填个blabla就行了。

于 2012-05-10T02:18:28.743 回答