Я работаю над пользовательским синтаксисом, выделяя и копируя несколько фрагментов из синтаксиса HTML, так как эта часть очень похожа. Я застрял, пытаясь понять, как выделить текст внутри тегов. Вот мое определение:Подсветка выделенного синтаксиса Sublime Text
- match: "(</?)([a-zA-Z0-9:]+)"
captures:
1: punctuation.definition.tag.begin.html
2: entity.name.tag.other.html
push:
- meta_scope: meta.tag.other.html
- match: '>'
scope: punctuation.definition.tag.end.html
pop: true
- match: '.'
scope: string.quoted.single.html
выборочного текст:
<file bash>
Some bash code block
Some bash code block
</file>
Мой код выделяет скобку <>
, в file
и bash
ключевые словах, но я не могу понять, как добавить цвета к блоку внутри , В конце концов, я хочу, чтобы это было как комментарий блока или что-то подобное, так что это будет выделяться. Какие-либо предложения?
Мне нужно решение, которое позволяет добавить комментарий, выделяющий теги, которые не имеют закрывающего тега. Например, в разметке, с которой я работаю, есть определенные теги, которые не используют закрытие, например <tag without close>
, у которых нет </tag>
. Любой способ добавить исключение в регулярное выражение только для работы, если есть открытые и закрытые теги, но не когда есть только открытый тег?
<tag without close>
This should not be a comment.
<file bash>
This should be a comment.
</file>
This also should not be a comment.
только небольшой выбор тегов будет использоваться как <tag>
выше, в основном для метаданных.
Вау, это фантастика и путь более продвинутый, чем то, что я искал! Также оцените объяснение, это помогает учиться. Этот код отлично работает в 99% случаев, за исключением случаев, когда закрывающий тег отсутствует. – user1781482
В каком сценарии вы хотели бы выделить блок, как если бы это комментарий без наличия закрывающего тега? @ user1781482 –
Я предполагаю, что идея заключается в том, чтобы угрожать всем, что существует между тегом open и close в качестве блока. Если есть только открытый тег, но не тег close, то не будет никакого блока. – user1781482