79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
%YAML 1.2
|
|
---
|
|
# See http://www.sublimetext.com/docs/3/syntax.html
|
|
name: Uxn Assembly
|
|
scopeName: usm.
|
|
fileTypes: [usm]
|
|
file_extensions:
|
|
- usm
|
|
scope: source.usm
|
|
|
|
contexts:
|
|
prototype:
|
|
- include: comments
|
|
|
|
main:
|
|
- include: keywords
|
|
- include: numbers
|
|
- include: strings
|
|
|
|
numbers:
|
|
- match: '\|(\S+)\s?'
|
|
scope: punctuation.definition
|
|
pop: true
|
|
- match: '\_(\S+)\s?'
|
|
scope: punctuation.definition
|
|
pop: true
|
|
- match: '\+(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\-(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\~(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\=(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
|
|
strings:
|
|
- match: '\:(\S+)\s?'
|
|
scope: string.control
|
|
pop: true
|
|
- match: '\;(\S+)\s?'
|
|
scope: string.control
|
|
pop: true
|
|
- match: '\@(\S+)\s?'
|
|
scope: string.control
|
|
pop: true
|
|
- match: '\&(\S+)\s?'
|
|
scope: string.control
|
|
pop: true
|
|
- match: '\,(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\#(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\.(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\"(\S+)\s?'
|
|
scope: keyword.control
|
|
pop: true
|
|
- match: '\['
|
|
scope: punctuation.definition.keyword.usm
|
|
push:
|
|
- meta_scope: keyword.line.double-slash.usm
|
|
- match: '\]'
|
|
pop: true
|
|
|
|
comments:
|
|
- match: '\('
|
|
scope: punctuation.definition.comment.usm
|
|
push:
|
|
- meta_scope: comment.line.double-slash.usm
|
|
- match: '\)'
|
|
pop: true
|