2017-02-18 20:17:07 +00:00
|
|
|
filetype: swift
|
|
|
|
|
|
2017-03-21 19:07:39 +00:00
|
|
|
detect:
|
2017-02-18 20:17:07 +00:00
|
|
|
filename: "\\.swift$"
|
|
|
|
|
|
|
|
|
|
rules:
|
2017-03-21 19:07:39 +00:00
|
|
|
# Operators
|
|
|
|
|
- statement: "([.:;,+*|=!?\\%]|<|>|/|-|&)"
|
|
|
|
|
|
|
|
|
|
# Statements
|
|
|
|
|
- statement: "(class|import|let|var|struct|enum|func|if|else|switch|case|default|for|in|internal|external|unowned|private|public|throws)\\ "
|
|
|
|
|
- statement: "(prefix|postfix|operator|extension|lazy|get|set|self|willSet|didSet|override|super|convenience|weak|strong|mutating|return|guard)\\ "
|
|
|
|
|
|
|
|
|
|
# Keywords
|
|
|
|
|
- statement: "(print)"
|
|
|
|
|
- statement: "(init)"
|
|
|
|
|
|
|
|
|
|
# Numbers
|
2017-02-18 20:17:07 +00:00
|
|
|
- constant.number: "([0-9]+)"
|
2017-03-21 19:07:39 +00:00
|
|
|
|
|
|
|
|
# Standard Types
|
2017-02-18 20:17:07 +00:00
|
|
|
- type: "\\ ((U)?Int(8|16|32|64))"
|
2017-03-21 19:07:39 +00:00
|
|
|
- constant: "(true|false|nil)"
|
2017-02-18 20:17:07 +00:00
|
|
|
- type: "\\ (Double|String|Float|Boolean|Dictionary|Array|Int)"
|
|
|
|
|
- type: "\\ (AnyObject)"
|
2017-03-21 19:07:39 +00:00
|
|
|
|
|
|
|
|
- constant.string:
|
|
|
|
|
start: "\""
|
2017-03-28 00:53:08 +00:00
|
|
|
end: "\""
|
2017-03-29 13:45:16 +00:00
|
|
|
skip: "\\\\."
|
2017-03-21 19:07:39 +00:00
|
|
|
rules:
|
|
|
|
|
- constant.specialChar: "\\\\."
|
|
|
|
|
|
|
|
|
|
- comment:
|
|
|
|
|
start: "//"
|
|
|
|
|
end: "$"
|
|
|
|
|
rules:
|
|
|
|
|
- todo: "(TODO|XXX|FIXME):?"
|
|
|
|
|
|
|
|
|
|
- comment:
|
|
|
|
|
start: "///"
|
|
|
|
|
end: "$"
|
|
|
|
|
rules:
|
|
|
|
|
- todo: "(TODO|XXX|FIXME):?"
|
|
|
|
|
|
2017-02-18 20:17:07 +00:00
|
|
|
- comment:
|
|
|
|
|
start: "/\\*\\*"
|
|
|
|
|
end: "\\*/"
|
2017-03-21 19:07:39 +00:00
|
|
|
rules:
|
|
|
|
|
- todo: "(TODO|XXX|FIXME):?"
|
2017-03-22 23:03:06 +00:00
|
|
|
|