init
This commit is contained in:
354
syntax/swift.jsf
Normal file
354
syntax/swift.jsf
Normal file
@@ -0,0 +1,354 @@
|
||||
# JOE syntax highlight file for Swift
|
||||
|
||||
=Idle
|
||||
=Comment
|
||||
=Preproc
|
||||
=Precond +Preproc
|
||||
=Constant
|
||||
=String +Constant
|
||||
=Number +Constant
|
||||
=Boolean +Constant
|
||||
=StringEscape +Escape +String
|
||||
=Operator
|
||||
=Keyword
|
||||
=Statement +Keyword
|
||||
=Loop +Statement
|
||||
=Conditional +Statement
|
||||
=Type
|
||||
=StorageClass +Type +Keyword
|
||||
=Modifier +StorageClass
|
||||
=Label +DefinedIdent
|
||||
=Builtin +DefinedFunction
|
||||
=Bad
|
||||
|
||||
:pre_idle Idle
|
||||
* NULL noeat call=.swift()
|
||||
|
||||
.subr swift
|
||||
|
||||
:idle Idle
|
||||
* idle
|
||||
"(" idle call=.swift(paren)
|
||||
"[" idle call=.swift(brack)
|
||||
"{" idle call=.swift(squiggly)
|
||||
.ifdef paren
|
||||
")" idle return
|
||||
.else
|
||||
")" stray recolor=-1
|
||||
.endif
|
||||
.ifdef brack
|
||||
"]" idle return
|
||||
.else
|
||||
"]" stray recolor=-1
|
||||
.endif
|
||||
.ifdef squiggly
|
||||
"}" idle return
|
||||
.else
|
||||
"}" stray recolor=-1
|
||||
.endif
|
||||
"0" zero recolor=-1
|
||||
"1-9" decimal recolor=-1
|
||||
"." decimal_point recolor=-1
|
||||
"\"" string recolor=-1
|
||||
"/" slash recolor=-1
|
||||
"@$\i" ident buffer
|
||||
"#" pre mark
|
||||
|
||||
:stray Bad
|
||||
* idle
|
||||
|
||||
:pre Preproc
|
||||
* idle noeat
|
||||
" \t" pre
|
||||
"a-z" preident recolor=-1 buffer
|
||||
|
||||
:preident Preproc
|
||||
* idle markend recolormark noeat strings
|
||||
"if" precond markend recolormark
|
||||
"elseif" precond markend recolormark
|
||||
"else" precond markend recolormark
|
||||
"endif" precond markend recolormark
|
||||
done
|
||||
"a-z" preident
|
||||
|
||||
:precond Precond
|
||||
* idle noeat
|
||||
|
||||
# Comments
|
||||
|
||||
:slash Comment comment
|
||||
* idle noeat recolor=-2
|
||||
"/" line_comment
|
||||
"*" idle call=.block_comment()
|
||||
|
||||
:line_comment Comment comment
|
||||
* line_comment
|
||||
"\n" idle
|
||||
"BFHNTX" line_comment noeat call=comment_todo.comment_todo()
|
||||
|
||||
# Numbers
|
||||
|
||||
:bad_number Bad
|
||||
* idle noeat
|
||||
"0-9" bad_number
|
||||
|
||||
:zero Constant
|
||||
* idle noeat
|
||||
"b" binary
|
||||
"o" octal
|
||||
"x" hex
|
||||
"." maybe_float
|
||||
"eE" epart
|
||||
"0-9_" decimal recolor=-1
|
||||
|
||||
:decimal_point Constant
|
||||
* idle noeat recolor=-2
|
||||
"." decimal_point_1 recolor=-2
|
||||
"\i" not_ident recolor=-2
|
||||
"0-9_" float
|
||||
|
||||
:not_ident Idle
|
||||
* idle noeat
|
||||
"\c" not_ident
|
||||
|
||||
:decimal_point_1 Idle
|
||||
* idle noeat
|
||||
"." idle
|
||||
|
||||
:octal Constant
|
||||
* idle noeat
|
||||
"0-7_" octal
|
||||
"89" bad_number recolor=-1
|
||||
|
||||
:binary Constant
|
||||
* idle noeat
|
||||
"01_" binary
|
||||
"2-9" bad_number recolor=-1
|
||||
|
||||
:hex Constant
|
||||
* idle noeat
|
||||
"0-9A-Fa-f_" hex
|
||||
"." hexfloat
|
||||
"pP" ppart
|
||||
|
||||
:hexfloat Constant
|
||||
* idle noeat
|
||||
"0-9A-Fa-f_" hexfloat
|
||||
"pP" ppart
|
||||
|
||||
:ppart Constant
|
||||
* idle noeat
|
||||
"0-9+\-" pnum
|
||||
|
||||
:pnum Constant
|
||||
* idle noeat
|
||||
"0-9_" pnum
|
||||
|
||||
:decimal Constant
|
||||
* idle noeat
|
||||
"0-9_" decimal
|
||||
"eE" epart
|
||||
"." maybe_float
|
||||
|
||||
:maybe_float Constant
|
||||
* idle noeat recolor=-2
|
||||
"." decimal_point_1 recolor=-2
|
||||
"eE" epart
|
||||
"0-9_" float
|
||||
|
||||
:float Constant
|
||||
* idle noeat
|
||||
"eE" epart
|
||||
"0-9_" float
|
||||
|
||||
:epart Constant
|
||||
* idle noeat
|
||||
"0-9+\-" enum
|
||||
|
||||
:enum Constant
|
||||
* idle noeat
|
||||
"0-9_" enum
|
||||
|
||||
# Strings
|
||||
|
||||
:string String string
|
||||
* string
|
||||
"\"" idle
|
||||
"\\" string_escape recolor=-1
|
||||
|
||||
:string_escape StringEscape string
|
||||
* string
|
||||
"(" string call=.swift(paren) recolor=-2
|
||||
"u" string_maybe_uni
|
||||
|
||||
:string_maybe_uni StringEscape string
|
||||
* string
|
||||
"{" string_uni
|
||||
|
||||
:string_uni StringEscape string
|
||||
* string_uni
|
||||
"}" string
|
||||
|
||||
# Identifiers
|
||||
|
||||
:ident Idle
|
||||
* idle noeat strings
|
||||
"class" storage
|
||||
"deinit" kw
|
||||
"enum" storage
|
||||
"extension" storage
|
||||
"func" storage
|
||||
"import" stmt
|
||||
"init" kw
|
||||
"inout" storage
|
||||
"internal" modifier
|
||||
"let" kw
|
||||
"operator" kw
|
||||
"private" modifier
|
||||
"protocol" storage
|
||||
"public" modifier
|
||||
"static" modifier
|
||||
"struct" storage
|
||||
"subscript" kw
|
||||
"typealias" storage
|
||||
"var" kw
|
||||
"break" stmt
|
||||
"case" label
|
||||
"continue" loop
|
||||
"default" label
|
||||
"defer" stmt
|
||||
"do" stmt
|
||||
"else" cond
|
||||
"fallthrough" stmt
|
||||
"for" loop
|
||||
"guard" kw
|
||||
"if" cond
|
||||
"in" kw
|
||||
"repeat" loop
|
||||
"return" stmt
|
||||
"switch" cond
|
||||
"where" kw
|
||||
"while" loop
|
||||
"as" kw
|
||||
"catch" stmt
|
||||
"dynamicType" kw
|
||||
"false" bool
|
||||
"is" kw
|
||||
"nil" lit
|
||||
"rethrows" modifier
|
||||
"super" kw
|
||||
"self" kw
|
||||
"Self" type
|
||||
"throw" stmt
|
||||
"throws" modifier
|
||||
"true" bool
|
||||
"try" kw
|
||||
"__COLUMN__" kw
|
||||
"__FILE__" kw
|
||||
"__FUNCTION__" kw
|
||||
"__LINE__" kw
|
||||
"_" kw
|
||||
"associativity" kw
|
||||
"convenience" kw
|
||||
"dynamic" kw
|
||||
"didSet" kw
|
||||
"final" storage
|
||||
"get" kw
|
||||
"infix" kw
|
||||
"indirect" kw
|
||||
"lazy" storage
|
||||
"left" kw
|
||||
"mutating" storage
|
||||
"none" kw
|
||||
"nonmutating" storage
|
||||
"open" storage
|
||||
"optional" kw
|
||||
"override" storage
|
||||
"postfix" kw
|
||||
"precedence" kw
|
||||
"prefix" kw
|
||||
"Protocol" builtin
|
||||
"required" kw
|
||||
"right" kw
|
||||
"set" kw
|
||||
"Type" builtin
|
||||
"unowned" kw
|
||||
"weak" kw
|
||||
"willSet" kw
|
||||
|
||||
"String" type
|
||||
"Int" type
|
||||
"Int8" type
|
||||
"Int16" type
|
||||
"Int32" type
|
||||
"Int64" type
|
||||
"UInt" type
|
||||
"UInt8" type
|
||||
"UInt16" type
|
||||
"UInt32" type
|
||||
"UInt64" type
|
||||
"Float" type
|
||||
"Double" type
|
||||
"Bool" type
|
||||
"Character" type
|
||||
"Optional" type
|
||||
done
|
||||
"$\c" ident
|
||||
|
||||
:kw Keyword
|
||||
* idle noeat
|
||||
|
||||
:bool Boolean
|
||||
* idle noeat
|
||||
|
||||
:lit Constant
|
||||
* idle noeat
|
||||
|
||||
:oper Operator
|
||||
* idle noeat
|
||||
|
||||
:storage StorageClass
|
||||
* idle noeat
|
||||
|
||||
:modifier Modifier
|
||||
* idle noeat
|
||||
|
||||
:label Label
|
||||
* idle noeat
|
||||
|
||||
:loop Loop
|
||||
* idle noeat
|
||||
|
||||
:cond Conditional
|
||||
* idle noeat
|
||||
|
||||
:stmt Statement
|
||||
* idle noeat
|
||||
|
||||
:builtin Builtin
|
||||
* idle noeat
|
||||
|
||||
:type Type
|
||||
* idle noeat
|
||||
|
||||
.end
|
||||
|
||||
# Recursive block comments
|
||||
|
||||
.subr block_comment
|
||||
|
||||
:idle Comment comment
|
||||
* idle
|
||||
"*" maybe_done
|
||||
"/" maybe_recur
|
||||
"BFHNTX" idle noeat call=comment_todo.comment_todo()
|
||||
|
||||
:maybe_done Comment comment
|
||||
* idle noeat
|
||||
"/" idle return
|
||||
|
||||
:maybe_recur Comment comment
|
||||
* idle noeat
|
||||
"*" idle call=.block_comment()
|
||||
|
||||
.end
|
||||
Reference in New Issue
Block a user