--- /dev/null
+".source.factor":
+ "[ expanded":
+ prefix: "“"
+ body: '''
+ [
+ $TM_SELECTED_TEXT$0
+ ]
+ '''
+ "[":
+ prefix: "["
+ body: "[ $TM_SELECTED_TEXT$0 ]"
+ bi:
+ prefix: "bi"
+ body: '''
+
+ [ $1 ]
+ [ $2 ] bi
+ '''
+ cleave:
+ prefix: "cleave"
+ body: '''
+ {
+ [ $1 ]
+ [ $2 ]
+ [ $3 ]
+ [ $4 ]
+ } cleave
+ '''
+ cond:
+ prefix: "cond"
+ body: '''
+ {
+ { [ $1 ] [ $2 ] }
+ { [ $3 ] [ $4 ] }
+ $5} cond
+ '''
+ functor:
+ prefix: "functor"
+ body: '''
+
+ FUNCTOR: $1 ( $2 -- $3 )
+ $4
+ WHERE
+ $0
+ ;FUNCTOR
+
+ '''
+ if:
+ prefix: "if"
+ body: '''
+
+ [ $1 ]
+ [ $2 ] if
+ '''
+ "::":
+ prefix: "::"
+ body: ":: $1 ( $2 -- $3 ) $0 ;"
+ let:
+ prefix: "let"
+ body: "[let $0 ]"
+ spread:
+ prefix: "spread"
+ body: '''
+ {
+ [ $1 ]
+ [ $2 ]
+ [ $3 ]
+ [ $4 ]
+ } spread
+ '''
+ tri:
+ prefix: "tri"
+ body: '''
+
+ [ $1 ]
+ [ $2 ]
+ [ $3 ] tri
+ '''
+ ":":
+ prefix: ":"
+ body: ": $1 ( $2 -- $3 ) $0 ;"
+ "{":
+ prefix: "["
+ body: "{ $TM_SELECTED_TEXT$0 }"