Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #################################################################
- ## Iro
- ################################################################
- ##
- ## * Press Ctrl + '+'/'-' To Zoom in
- ## * Press Ctrl + S to save and recalculate...
- ## * Documents are saved to web storage.
- ## * Only one save slot supported.
- ## * Matches cannot span lines.
- ## * Unicode chars must be defined in \u0000 to \uffff format.
- ## * All matches must be contained by a single group ( ... )
- ## * Look behinds not permitted, (?<= or (?<!
- ## * Look forwards are permitted (?= or (?!
- ## * Constants are defined as __my_const = (......)
- ## * The \= format allows unescaped regular expressions
- ## * Constants referenced by match \= $${__my_const}
- ## * Constants can reference other constants
- ## * You are free to delete all the default scopes.
- ## * Twitter : ainslec , Web: http://eeyo.io/iro
- ##
- ################################################################
- name = mysample
- file_extensions [] = mysample;
- ################################################################
- ## Constants
- ################################################################
- __MY_CONSTANT \= (\b[a-z][a-z0-9]*)
- ################################################################
- ## Styles
- ################################################################
- styles [] {
- .comment : style {
- color = light_green
- italic = true
- ace_scope = comment
- textmate_scope = comment
- pygments_scope = Comment
- }
- .keyword : style {
- color = cyan
- ace_scope = keyword
- textmate_scope = keyword
- pygments_scope = Keyword
- }
- .numeric : style {
- color = gold
- ace_scope = constant.numeric
- textmate_scope = constant.numeric
- pygments_scope = Number
- }
- .punctuation : style {
- color = red_2
- ace_scope = punctuation
- textmate_scope = punctuation
- pygments_scope = Punctuation
- }
- .text : style {
- color = brown
- ace_scope = text
- textmate_scope = text
- pygments_scope = String
- }
- .illegal : style {
- color = white
- background_color = red
- ace_scope = invalid
- textmate_scope = invalid
- pygments_scope = Generic.Error
- }
- }
- #################################################
- ## Parse contexts
- #################################################
- contexts [] {
- ##############################################
- ## Main Context - Entry point context
- ##############################################
- main : context {
- : pattern {
- regex \= $${__MY_CONSTANT}
- styles [] = .keyword;
- }
- : include "numeric" ;
- : inline_push {
- regex \= (\{)
- styles [] = .punctuation;
- : pop {
- regex \= (\})
- styles [] = .punctuation;
- }
- : include "main" ;
- }
- : pattern {
- regex \= (;)
- styles [] = .punctuation;
- }
- : inline_push {
- regex \= (\")(?=h)
- styles [] = .punctuation;
- default_style = .text
- : pop {
- regex \= (\")
- styles [] = .punctuation;
- }
- }
- : inline_push {
- regex \= (\()
- styles [] = .punctuation;
- : pop {
- regex \= (\))
- styles [] = .punctuation;
- }
- : include "numeric" ;
- : pattern {
- regex \= (,)
- styles [] = .punctuation;
- }
- }
- : include "multi_line_comment" ;
- : pattern {
- regex \= (//.*)
- styles [] = .comment;
- }
- : pattern {
- regex \= ([^\s])
- styles [] = .illegal;
- }
- }
- #################################################
- ## End of Contexts
- #################################################
- ###########################################
- ## Numeric Context
- ###########################################
- numeric : context {
- : pattern {
- regex \= (\b\d+)
- styles [] = .numeric;
- }
- }
- ###########################################
- ## Multi Line Comment Context
- ###########################################
- multi_line_comment : context {
- description = multiline
- : inline_push {
- regex \= (/\*)
- styles [] = .comment;
- default_style = .comment
- : pop {
- regex \= (\*/)
- styles [] = .comment;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement