%YAML 1.2
---
name: LuxScript
file_extensions:
- luxs
- lux
- ls
scope: source.luxs
contexts:
main:
- match: '(?<==)\s*([a-zA-Z0-9_а-яА-ЯёЁ]+)'
captures:
1: storage.type.luxs
- match: '\*[a-zA-Z0-9_а-яА-ЯёЁ]+\b'
scope: storage.type.luxs
- match: '\b(num|calc|calcrepeat|rand)\b'
scope: keyword.control.generation.luxs
- match: '\b(speed|invert|round)\b'
scope: keyword.control.modifier.luxs
- match: '\b(light|repeat|wait|stop)\b'
scope: keyword.control.action.luxs
- match: '='
scope: source.luxs
- match: '[\+\-\*/]'
scope: keyword.operator.arithmetic.luxs
- match: '[;(),]'
scope: punctuation.separator.luxs
- match: '\b(1|0[.,]0*1)\b'
scope: constant.numeric.round-step.luxs
- match: '\b\d+([.,]\d+)?\b'
scope: constant.numeric.luxs