2018-09-13 07:53:08 +02:00
|
|
|
%YAML 1.2
|
|
|
|
---
|
|
|
|
# http://www.sublimetext.com/docs/3/syntax.html
|
2020-11-23 14:16:37 +01:00
|
|
|
name: Robot Framework
|
2018-09-13 07:53:08 +02:00
|
|
|
file_extensions:
|
|
|
|
- robot
|
2020-12-29 08:34:44 +01:00
|
|
|
- resource
|
2018-09-13 07:53:08 +02:00
|
|
|
scope: source.robot
|
|
|
|
contexts:
|
|
|
|
main:
|
|
|
|
- match: '\$\{(\d+|\d+\.\d*|0[bB][01]+|0[oO][0-7]+|0[xX][0-9a-fA-F]+)\}'
|
|
|
|
comment: "Robot Framework numbers, like ${1} or ${12.3}"
|
|
|
|
scope: constant.numeric.robot
|
|
|
|
- match: '(?i)(%\{[\w|\s]+\})'
|
|
|
|
comment: "Robot Framework environment variable, like %{USER}"
|
|
|
|
scope: variable.parameter.robot
|
|
|
|
- match: '((?<!\\)|(?<=\\\\))[$&]{'
|
|
|
|
comment: Robot Framework scalar and dictionary variables
|
|
|
|
push:
|
|
|
|
- meta_scope: entity.name.class
|
|
|
|
- match: '\}'
|
|
|
|
pop: true
|
|
|
|
- match: '((?<!\\)(@{)|(?<=\\\\)(@{))'
|
|
|
|
comment: Robot Framework list variables
|
|
|
|
push:
|
|
|
|
- meta_scope: entity.name.class
|
|
|
|
- match: '(}\[.+])|(})'
|
|
|
|
pop: true
|
|
|
|
- match: '(?i)^(\|\s*)?(\*{1,3} ?)(settings?|variables?|keywords?|test cases?)( ?\*{1,3})?(\s*\|)?'
|
|
|
|
comment: Robot Framework data tables
|
|
|
|
scope: string.robot.header
|
|
|
|
- match: '(?i)(^\|\s*)?\[?Documentation\]?\s+'
|
|
|
|
comment: Test case, keyword and settings table documentation
|
|
|
|
push:
|
|
|
|
- meta_scope: comment
|
|
|
|
- match: ^(?!\s*+\.\.\.)
|
|
|
|
pop: true
|
|
|
|
- match: '(^| {2,}|\t|\\| {1,})(?<!\\\\)#'
|
|
|
|
comment: Comment character
|
|
|
|
push:
|
|
|
|
- meta_scope: comment
|
|
|
|
- match: $
|
|
|
|
pop: true
|
|
|
|
- match: '(?i)\s+\[(Tags|Setup|Teardown|Template|Timeout|Arguments|Return)\]'
|
|
|
|
comment: Tests case and keyword settings
|
|
|
|
scope: storage.type
|
|
|
|
- match: (?i)^(\|\s*)?(Library|Resource|Test Timeout|Test Template|Test Teardown|Test Setup|Default Tags|Force Tags|Metadata|Variables|Suite Setup|Suite Teardown)(?:( )|( \| ))
|
|
|
|
comment: Settings table settings, like Library
|
|
|
|
scope: constant.language
|
|
|
|
- match: '^(\|\s+)?(?!^\.{3})(?![\|$&])\S+'
|
|
|
|
comment: Keywords and test cases
|
|
|
|
push:
|
|
|
|
- meta_scope: keyword.control.robot
|
|
|
|
- match: '($|\||\s{2,})'
|
|
|
|
pop: true
|
2019-12-09 23:34:31 +01:00
|
|
|
- match: (?i)^\s+(Given|When|and|but|Then)
|
|
|
|
comment: BDD keywords
|
|
|
|
scope: string.robot.bdd
|