%YAML 1.2 --- # http://www.sublimetext.com/docs/3/syntax.html name: Rd (R Documentation) file_extensions: - rd scope: text.tex.latex.rd contexts: prototype: - include: scope:text.tex.latex#comments main: - include: rd-stucture - include: r-code - include: latex-equations - include: scope:text.tex.latex#plain-tex - include: scope:text.tex.latex#begin-end-commands - include: scope:text.tex.latex#general-commands - include: global-braces global-braces: - match: '\{' scope: punctuation.definition.group.brace.begin.latex push: - meta_scope: meta.group.brace.latex - match: '\}' scope: punctuation.definition.group.brace.end.latex pop: true - include: main latex-equations: - include: deqn - include: eqn deqn: - match: '((\\)(?:deqn))(\{)' captures: 1: support.function.deqn.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.deqn.rd - meta_content_scope: meta.environment.math - include: scope:text.tex.latex#math-content - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true eqn: - match: '((\\)(?:eqn))(\{)' captures: 1: support.function.eqn.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.eqn.rd - meta_content_scope: meta.environment.math - include: scope:text.tex.latex#math-content - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true r-code: - match: '((\\)(?:code))(\{)' captures: 1: support.function.code.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.code.rd - meta_content_scope: source.r.embedded - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true - match: \\% - include: scope:source.r - match: '((\\)(?:Sexpr))(?:(\[)(?:[^\]]*)(\]))?(\{)' captures: 1: support.function.sexpr.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.bracket.begin.rd 4: punctuation.definition.group.bracket.end.rd 5: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.sexpr.rd - meta_content_scope: source.r.embedded - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true - match: \\% - include: scope:source.r - match: '((\\)(?:usage))(\{)(?:\n)?' captures: 1: support.function.usage.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.usage.rd - meta_content_scope: source.r.embedded - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true - match: \\% - include: scope:source.r - match: '((\\)(?:examples))(\{)(?:\n)?' captures: 1: support.function.examples.rd 2: punctuation.definition.backslash.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.function.examples.rd - meta_content_scope: source.r.embedded - match: '\}' scope: punctuation.definition.group.brace.end.rd pop: true - match: \\% - include: scope:source.r rd-stucture: - match: '((\\)name)(\{)' captures: 1: keyword.other.section.rd 2: punctuation.definition.function.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.section.rd - meta_content_scope: entity.name.function.rd - match: '(\})' captures: 1: punctuation.definition.group.brace.end.rd pop: true - include: main - match: '((\\)(?:alias|docType|keyword|title))(\{)' captures: 1: keyword.other.section.rd 2: punctuation.definition.function.rd 3: punctuation.definition.group.brace.begin.rd push: - meta_scope: meta.section.rd - match: '(\})' captures: 1: punctuation.definition.group.brace.end.rd pop: true - include: main