Цветовая схема Vim PHP $ _POST переменная классифицируется как оператор

Я редактирую цветовую схему Vim для PHP. Почему такие переменные, как $_POST а также $_SESSION классифицируется как заявления? Например, они используют тот же цвет, что и операторы if. Другие переменные будут иметь другую окраску. Также знак доллара относится к категории заявлений.

Как мне изменить их цвет отдельно?

введите описание изображения здесь

1

Решение

Вам необходимо выяснить, какая группа синтаксиса вызывает выделение. :syn list показывает все активные группы, но легче установить SyntaxAttr.vim — Показать атрибуты подсветки синтаксиса символа под курсором плагин.

Для меня это приводит к следующим сопоставлениям (Vim 8.0.55):

"if":   phpConditional -> Conditional links to Statement
"$":    phpVarSelector -> Operator links to Statement
"POST": phpIntVar -> Identifier

В общем, схемы цветов определяют базовый набор стилей, например Constant, Identifier, Statement, Затем (все еще общие) варианты определены: String это своего рода Constant, Синтаксические плагины затем ссылаются на один из них. Вы можете увидеть, что для PHP в $VIMRUNTIME/syntax/php.vim, в :hi def link Команды в нижней части скрипта.

Это дает пользователю несколько способов настройки подсветки: если вы не видите String как своего рода ConstantВы можете переопределить эту ссылку или переопределить с помощью нового пользовательского стиля, и он будет применяться ко всем видам синтаксиса. Если вы просто хотите настроить определенный элемент языка (например, phpIntVar), вы можете изменить эту ссылку, и она будет только для PHP и этого элемента. И все это может быть сделано в вашем ~/.vimrc!

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]