тег открытия области только в VSCode / Textmate HTML Grammer - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь отредактировать тему, чтобы стилизовать открывающие теги HTML. без использования того же стиля при закрытии тега. Например, курсив выделите так:

<<strong> div class = "my-divvy"> Здесь <<strong> strong > сильные текстовые теги в HTML.

Существует область действия entity.name.tag.html, но она будет захватывать как открытые (<div>), так и закрывающие (</div>) теги, которые мне не нужны. Существует также meta.tag.structure.div.start.html entity.name.tag, заменяющий div для каждого HTML-тега, но это будет длинный массив, которого я стараюсь избегать.

Как я могу отредактировать определение языка (файл html.tmLanguage.json) впредоставьте область только для открытой страницы, чтобы я мог добавить простое правило в тему, пожалуйста? Бонус: аналогичная проблема с JSX;кто для области только открытые теги.

TIA

1 Ответ

0 голосов
/ 29 сентября 2019

Если вы используете команду Developer: Inspect TM Scopes, вы увидите, что есть отдельная область для начального и конечного тегов, например:

meta.tag.structure.div.start.html meta.tag.structure.div.end.html

К сожалению, естьне кажется никакой общей областью начального и конечного тега - вы должны включить имя элемента - например, div или span в каждом. Таким образом, это работает для конечных тегов div и span в файле settings.json:

    "scope": "meta.tag.structure.div.start.html entity.name.tag, meta.tag.inline.span.start.html entity.name.tag",

, но вам нужна запись типа "meta.tag.structure.div.start.html entity.name.tag" для каждого имени тега, которое вы хотите поддерживать- обменивать div каждый раз.

И мне пришлось включить entity.name.tag в область действия каждого тега, чтобы заставить его работать.

Попробуйте это в вашем файле темы :

"scope": [
  "meta.tag.structure.div.start.html entity.name.tag", 
  "meta.tag.inline.span.start.html entity.name.tag",
  "etc.",
  "etc.",
] 
...