on 66c19ee help sign in
urbit.org/syntaxes/hoon.sublime-syntax
66 lines 1.6 kB history raw
1%YAML 1.2
2---
3# http://www.sublimetext.com/docs/3/syntax.html
4name: hoon
5file_extensions:
6 - hoon
7 - hook
8scope: source.hoon
9contexts:
10 main:
11 - match: "::"
12 comment: comment
13 push:
14 - meta_scope: comment.line.hoon
15 - match: \n
16 pop: true
17 - match: \s*"""
18 comment: doqbloq
19 push:
20 - meta_scope: string.double.hoon
21 - match: \s*"""
22 pop: true
23 - match: \s*'''
24 comment: soqbloq
25 push:
26 - meta_scope: string.double.hoon
27 - match: \s*'''
28 pop: true
29 - match: \"
30 comment: tape
31 push:
32 - meta_scope: string.double.hoon
33 - match: \"
34 pop: true
35 - match: '\\.|[^"]'
36 - match: \'
37 comment: cord
38 push:
39 - meta_scope: string.single.hoon
40 - match: \'
41 pop: true
42 - match: '\\.|[^'']'
43 - match: "[a-z]([a-z0-9-]*[a-z0-9])?/"
44 comment: arm
45 scope: constant.character.hoon
46 - match: '\+[-+] (?=[a-z]([a-z0-9-]*[a-z0-9])?)'
47 comment: arm
48 push:
49 - meta_content_scope: entity.name.function.hoon
50 - match: "(?![a-z0-9-])"
51 pop: true
52 - match: "%[a-z]([a-z0-9-]*[a-z0-9])?"
53 comment: cube
54 scope: constant.character.hoon
55 - match: "@[a-z]([a-z0-9-]*[a-z0-9])?"
56 comment: odor
57 scope: storage.type.hoon
58 - match: '[+\-|$%:.#^~;=?!_,&@\/<>%*]'
59 comment: rune
60 scope: keyword.control.hoon
61 - match: ;script(type "text/coffeescript")
62 comment: rune
63 push:
64 - meta_scope: keyword.control.hoon
65 - match: "=="
66 pop: true