1

если я напишу функцию следующим образом:

int foo(int bar)
{}

Возвышенное подчеркивает foo правильно. Однако в этом случае:

int foo
    (int bar)
{}

foo теряет всю подсветку.

Одна из вещей, которые мне нравятся в C++, это то, что он не заботится о пробелах. Есть ли способ, которым я могу сделать возвышенное освещение этого кода правильно?

Редактировать:

После получения некоторых указателей и просмотра файлов синтаксиса defualt, это:

<string>(?x)
(?:  ^                                 # begin-of-line
  |
     (?: (?= \s )           (?&lt;!else|new|return) (?&lt;=\w)      #  or word + space before name
       | (?= \s*[A-Za-z_] ) (?&lt;!&amp;&amp;)       (?&lt;=[*&amp;&gt;])   #  or type modifier before name
     )
)
(\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\()
(
    (?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ |                  # actual name
    (?: (?&lt;=operator) (?: [-*&amp;&lt;&gt;=+!]+ | \(\) | \[\] ) )  # if it is a C++ operator
)
 \s*(?=\()</string>

кажется, это регулярное выражение, которое работает со сбоями. Однако я не могу понять, почему он не получает мой код; последняя строка, \s*(?=\() , должно соответствовать любому количеству пробелов или новых строк перед открывающей пареней, нет?

1 ответ1

1

Подсветка синтаксиса Sublime Text полностью настраивается. Вы можете создать копию правил подсветки синтаксиса C++ по умолчанию, улучшить их и указать ST3 использовать улучшенную версию.

ST3 использует TextMate-совместимые правила подсветки синтаксиса, описанные здесь. Если вам не нравится работать непосредственно с Plists, вы можете использовать JSON или некоторые другие форматы, а затем автоматически конвертировать их в Plist с помощью AAAPackageDev (легко устанавливается с помощью Package Control).

Пакет C++ по умолчанию (который включает в себя правила подсветки синтаксиса) находится в C:\Program Files\Sublime Text 3\Packages\C++.sublime-package . Ваши пользовательские пакеты могут быть помещены в C:\Users\%USERNAME%\AppData\Roaming\Sublime Text 3\Packages\User . Самый простой способ добраться туда - через меню ST: « Настройки» → «Обзор пакетов» .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .