54 lines
1.6 KiB
YAML
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
|