Files
RuDS/crates/bds-editor/syntaxes/Markdown with Macros.sublime-syntax

54 lines
1.6 KiB
YAML

%YAML 1.2
---
name: Markdown with Macros
file_extensions:
- bds-md
scope: text.html.markdown.bds
contexts:
main:
- match: '\[\[[a-zA-Z][\w-]*'
scope: keyword.control.macro.bds
push: macro-parameters
- match: '^#{1,6}\s.*$'
scope: keyword.control.heading.markdown
- match: '^\s*>+'
scope: string.quoted.block.markdown
- match: '^\s*[-+*]\s'
scope: keyword.control.list.unnumbered.markdown
- match: '^\s*\d+\.\s'
scope: keyword.control.list.numbered.markdown
- match: '^\s*```\w*'
scope: keyword.control.code-fence.markdown
push: fenced-code
- match: '\*\*[^*]+\*\*|__[^_]+__'
scope: entity.name.function.strong.markdown
- match: '\*[^*]+\*|_[^_]+_'
scope: string.quoted.emphasis.markdown
- match: '`[^`]+`'
scope: string.quoted.inline-code.markdown
- match: '!?\[[^\]]*\]\([^)]*\)'
scope: string.quoted.link.inline.markdown
- match: '!?\[[^\]]*\]\[[^\]]*\]'
scope: string.quoted.link.reference.markdown
macro-parameters:
- meta_scope: meta.macro.bds
- match: '\]\]'
scope: keyword.control.macro.bds
pop: true
- match: '[a-zA-Z][\w-]*(?=\s*=)'
scope: entity.other.attribute-name.bds
- match: '='
scope: punctuation.separator.key-value.bds
- match: '"[^"\n]*"'
scope: string.quoted.double.bds
- match: '\s+'
- match: '[^\]"=\s]+'
scope: string.unquoted.attribute-value.bds
fenced-code:
- meta_scope: string.unquoted.code-block.markdown
- match: '^\s*```\s*$'
scope: keyword.control.code-fence.markdown
pop: true