Проверка номеров банковских счетов "на лету"

сегодня мне пришлось скопировать номер банковского счета из реального (мертвого дерева) письма в буфер Emacs, а затем отправить его по электронной почте. И я допустил ошибку при копировании его из Буквы в буфер Emacs (забыл одну цифру). Что привело к одному письму от коллеги, говорящего мне:.

как трудно было бы создать функцию / минорный режим, который бы:

  • обнаружение "вещей", которые выглядят как IBAN (например, две заглавные буквы, а затем между цифрами " x " и "y", игнорируя пробелы и т. д. Есть готовые к использованию регулярные выражения, которые проверяют, выглядит ли что-то как IBAN или нет)

  • запустите mod 97 и выделите IBAN красным цветом, если он выглядит недопустимым

В идеале мне нужен минорный режим, который я мог бы включить для нескольких типов буферов (глупые текстовые файлы, но и электронная почта и т. д.).

каким будет "подход" к использованию сделать это с помощью Emacs?

1 ответов


вы можете легко использовать что-то вроде

(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.