Должны ли токены быть разделены пробелами в пакете листингов?

Должны ли токены быть разделены пробелами в пакете листингов?

Я использую пакет listings с пользовательским определением языка. В моем языке у меня есть типы в форме:

Foo@Bar>>Baz

Bar и Baz являются ключевыми словами в языке и поэтому должны быть выделены. Foo является произвольным идентификатором и не требует специальной обработки для выделения.

Если я разделяю указанные выше токены пробелами, все в порядке. Но если я не разделяю их пробелами (как в примере выше), я получаю только соответствующую подсветку для Baz, но не для Bar.

Я посмотрел документацию (http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf), но не нашел способа указать, что знак @ не должен быть частью идентификатора. Я попробовал включить @ как ключевое слово:

keywords=[5]{@},
keywordstyle=[5]\bfseries,

но это, похоже, не помогло.

Какие-либо предложения?

решение1

Неважно — я нашел ответ! Хитрость в том, чтобы обозначить @ как «другой» символ; по умолчанию это «буква» и поэтому включено в идентификаторы. Этого достаточно:

    alsoother={@},

Связанный контент