<lexer> <config> <name>Org Mode</name> <alias>org</alias> <alias>orgmode</alias> <filename>*.org</filename> <mime_type>text/org</mime_type> </config> <rules> <state name="root"> <rule pattern="^# .*$"> <token type="Comment"/> </rule> <rule pattern="^(\*)( COMMENT)( .*)$"> <bygroups> <token type="GenericHeading"/> <token type="NameEntity"/> <token type="GenericStrong"/> </bygroups> </rule> <rule pattern="^(\*\*+)( COMMENT)( .*)$"> <bygroups> <token type="GenericSubheading"/> <token type="NameEntity"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^(\*)( DONE)( .*)$"> <bygroups> <token type="GenericHeading"/> <token type="LiteralStringRegex"/> <token type="GenericStrong"/> </bygroups> </rule> <rule pattern="^(\*\*+)( DONE)( .*)$"> <bygroups> <token type="GenericSubheading"/> <token type="LiteralStringRegex"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^(\*)( TODO)( .*)$"> <bygroups> <token type="GenericHeading"/> <token type="Error"/> <token type="GenericStrong"/> </bygroups> </rule> <rule pattern="^(\*\*+)( TODO)( .*)$"> <bygroups> <token type="GenericSubheading"/> <token type="Error"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^(\*)( .+?)( :[a-zA-Z0-9_@:]+:)$"> <bygroups> <token type="GenericHeading"/> <token type="GenericStrong"/> <token type="GenericEmph"/> </bygroups> </rule> <rule pattern="^(\*)( .+)$"> <bygroups> <token type="GenericHeading"/> <token type="GenericStrong"/> </bygroups> </rule> <rule pattern="^(\*\*+)( .+?)( :[a-zA-Z0-9_@:]+:)$"> <bygroups> <token type="GenericSubheading"/> <token type="Text"/> <token type="GenericEmph"/> </bygroups> </rule> <rule pattern="^(\*\*+)( .+)$"> <bygroups> <token type="GenericSubheading"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^( *)([+-] )(\[[ X]\])( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( +)(\* )(\[[ X]\])( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( *)([+-] )([^ \n]+ ::)( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( +)(\* )([^ \n]+ ::)( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( *)([+-] )(.+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( +)(\* )(.+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( *)([0-9]+[.)])( \[@[0-9]+\])( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <token type="GenericEmph"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="^( *)([0-9]+[.)])( .+)$"> <bygroups> <token type="Text"/> <token type="Keyword"/> <usingself state="inline"/> </bygroups> </rule> <rule pattern="(?i)^( *#\+begin: )([^ ]+)([\w\W]*?\n)([\w\W]*?)(^ *#\+end: *$)"> <bygroups> <token type="Comment"/> <token type="CommentSpecial"/> <token type="Comment"/> <usingself state="inline"/> <token type="Comment"/> </bygroups> </rule> <rule pattern="(?i)^( *#\+begin_comment *\n)([\w\W]*?)(^ *#\+end_comment *$)"> <bygroups> <token type="Comment"/> <token type="Comment"/> <token type="Comment"/> </bygroups> </rule> <rule pattern="(?i)^( *#\+begin_src )([^ \n]+)(.*?\n)([\w\W]*?)(^ *#\+end_src *$)"> <usingbygroup> <sublexer_name_group>2</sublexer_name_group> <code_group>4</code_group> <emitters> <token type="Comment"/> <token type="CommentSpecial"/> <token type="Comment"/> <token type="Text"/> <token type="Comment"/> </emitters> </usingbygroup> </rule> <rule pattern="(?i)^( *#\+begin_export )(\w+)( *\n)([\w\W]*?)(^ *#\+end_export *$)"> <usingbygroup> <sublexer_name_group>2</sublexer_name_group> <code_group>4</code_group> <emitters> <token type="Comment"/> <token type="CommentSpecial"/> <token type="Text"/> <token type="Text"/> <token type="Comment"/> </emitters> </usingbygroup> </rule> <rule pattern="(?i)^( *#\+begin_)(\w+)( *\n)([\w\W]*?)(^ *#\+end_\2)( *$)"> <bygroups> <token type="Comment"/> <token type="Comment"/> <token type="Text"/> <token type="Text"/> <token type="Comment"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^(#\+\w+)(:.*)$"> <bygroups> <token type="CommentSpecial"/> <token type="Comment"/> </bygroups> </rule> <rule pattern="(?i)^( *:\w+: *\n)([\w\W]*?)(^ *:end: *$)"> <bygroups> <token type="Comment"/> <token type="CommentSpecial"/> <token type="Comment"/> </bygroups> </rule> <rule pattern="^(.*)(\\\\)$"> <bygroups> <usingself state="inline"/> <token type="Operator"/> </bygroups> </rule> <rule pattern="(?i)^( *(?:DEADLINE|SCHEDULED): )(<[^<>]+?> *)$"> <bygroups> <token type="Comment"/> <token type="CommentSpecial"/> </bygroups> </rule> <rule pattern="(?i)^( *CLOSED: )(\[[^][]+?\] *)$"> <bygroups> <token type="Comment"/> <token type="CommentSpecial"/> </bygroups> </rule> <rule> <include state="inline"/> </rule> </state> <state name="inline"> <rule pattern="(\s*)(\*[^ \n*][^*]+?[^ \n*]\*)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericStrong"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\s*)(/[^/]+?/)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericEmph"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\s*)(=[^\n=]+?=)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="NameClass"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\s*)(~[^\n~]+?~)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="NameClass"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\s*)(\+[^+]+?\+)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericDeleted"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\s*)(_[^_]+?_)((?=\W|\n|$))"> <bygroups> <token type="Text"/> <token type="GenericUnderline"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(<)([^<>]+?)(>)"> <bygroups> <token type="Text"/> <token type="LiteralString"/> <token type="Text"/> </bygroups> </rule> <rule pattern="[{]{3}[^}]+[}]{3}"> <token type="NameBuiltin"/> </rule> <rule pattern="([^[])(\[fn:)([^]]+?)(\])([^]])"> <bygroups> <token type="Text"/> <token type="NameBuiltinPseudo"/> <token type="LiteralString"/> <token type="NameBuiltinPseudo"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\[\[)([^][]+?)(\]\[)([^][]+)(\]\])"> <bygroups> <token type="Text"/> <token type="NameAttribute"/> <token type="Text"/> <token type="NameTag"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(\[\[)([^][]+?)(\]\])"> <bygroups> <token type="Text"/> <token type="NameAttribute"/> <token type="Text"/> </bygroups> </rule> <rule pattern="(<<)([^<>]+?)(>>)"> <bygroups> <token type="Text"/> <token type="NameAttribute"/> <token type="Text"/> </bygroups> </rule> <rule pattern="^( *)(\|[ -].*?[ -]\|)$"> <bygroups> <token type="Text"/> <token type="LiteralString"/> </bygroups> </rule> <rule pattern="\n"> <token type="Text"/> </rule> <rule pattern="."> <token type="Text"/> </rule> </state> </rules> </lexer>