Giter VIP home page Giter VIP logo

Comments (3)

alexdima avatar alexdima commented on September 28, 2024

npm run inspect Elixir.tmlLanguage test.txt

test.txt contents: nonspecial_token 123 :foo "bar"


> [email protected] inspect c:\Alex\src\vscode-textmate
> node scripts/inspect.js "Elixir.tmLanguage" "test.txt"

LOADING GRAMMARElixir.tmLanguage


===========================================
TOKENIZING LINE 1: |nonspecial_token 123 :foo "bar"|

@@scanNext: |nonspecial_token 123 :foo "bar"\n|
  scanning for
   - 2: \b(fn)\b(?!.*->)
   - 156: \b(fn)\b(?=.*->)
   - 5: ^\s*(defmodule)\b
   - 9: ^\s*(defprotocol)\b
   - 13: ^\s*(defimpl)\b
   - 17: ^\s*(def|defmacro)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 30: ^\s*(defp|defmacrop)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 43: @(module|type)?doc (~[a-z])?"""
   - 56: @(module|type)?doc ~[A-Z]"""
   - 57: @(module|type)?doc (~[a-z])?'''
   - 58: @(module|type)?doc ~[A-Z]'''
   - 59: @(module|type)?doc false
   - 60: @(module|type)?doc "
   - 61: (::)
   - 66: (?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![?!:])
   - 67: (?<!\.)\b(and|not|or|when|xor|in|inlist|inbits)\b
   - 68: \b[A-Z]\w*\b
   - 69: \b(nil|true|false)\b(?![?!])
   - 70: \b(__(CALLER|ENV|MODULE|DIR)__)\b(?![?!])
   - 71: (@)[a-zA-Z_]\w*
   - 73: (&)\d+
   - 75: \^[a-z_]\w*
   - 77: \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
   - 78: :'
   - 81: :"
   - 84: (?>''')
   - 87: '
   - 90: (?>""")
   - 93: "
   - 96: ~[a-z](?>""")
   - 99: ~[a-z]\{
   - 102: ~[a-z]\[
   - 105: ~[a-z]\<
   - 108: ~[a-z]\(
   - 111: ~[a-z]([^\w])
   - 114: ~[A-Z](?>""")
   - 117: ~[A-Z]\{
   - 120: ~[A-Z]\[
   - 123: ~[A-Z]\<
   - 126: ~[A-Z]\(
   - 129: ~[A-Z]([^\w])
   - 132: (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
   - 134: (?>[a-zA-Z_][\w@]*(?>[?!])?)(:)(?!:)
   - 136: ^\s*(##).*$\n?
   - 138: (?:^[ \t]+)?(#).*$\n?
   - 140: (?<!\w)\?(\\(x\h{1,2}(?!\h)\b|[^xMC])|[^\s\\])
   - 141: \+=|\-=|\|\|=|~=|&&=
   - 142: ===?|!==?|<=?|>=?
   - 143: (\|\|\||&&&|^^^|<<<|>>>|~~~)
   - 144: (?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b
   - 145: (\*|\+|\-|/)
   - 146: \||\+\+|\-\-|\*\*|\\\\|\<\-|\<\>|\<\<|\>\>|\:\:|\.\.|\|>|~|=>
   - 147: =
   - 148: :
   - 149: \;
   - 150: ,
   - 151: \.
   - 152: \{|\}
   - 153: \[|\]
   - 154: \(|\)
   - 162: ^(?=.*->)((?![^"']*("|')[^"']*->)|(?=.*->[^"']*("|')[^"']*->))((?!.*\([^\)]*->)|(?=[^\(\)]*->)|(?=\s*\(.*\).*->))((?!.*\b(fn)\b)|(?=.*->.*\bfn\b))
  matched MatchRule#143 @ Elixir.tmLanguage:1352 - (\|\|\||&&&|^^^|<<<|>>>|~~~)
  token: |nonspecial_token 123 :foo "bar"\n|
      * source.elixir

@@LINE END RULE STACK CONTAINS 1 RULES:
  * no rule description?

from vscode-textmate.

alexdima avatar alexdima commented on September 28, 2024

@net it appears the regular expression (\|\|\||&&&|^^^|<<<|>>>|~~~) matches nonspecial_token 123 :foo "bar". I believe the special character ^ is somehow kicking in. If I escape the ^ with \^ i.e. (\|\|\||&&&|\^\^\^|<<<|>>>|~~~) things appear to function correctly.

With an image:
image

The tokenization steps:


> [email protected] inspect c:\Alex\src\vscode-textmate
> node scripts/inspect.js "Elixir.tmLanguage" "test.txt"

LOADING GRAMMARElixir.tmLanguage


===========================================
TOKENIZING LINE 1: |nonspecial_token 123 :foo "bar"|

@@scanNext: |nonspecial_token 123 :foo "bar"\n|
  scanning for
   - 2: \b(fn)\b(?!.*->)
   - 156: \b(fn)\b(?=.*->)
   - 5: ^\s*(defmodule)\b
   - 9: ^\s*(defprotocol)\b
   - 13: ^\s*(defimpl)\b
   - 17: ^\s*(def|defmacro)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 30: ^\s*(defp|defmacrop)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 43: @(module|type)?doc (~[a-z])?"""
   - 56: @(module|type)?doc ~[A-Z]"""
   - 57: @(module|type)?doc (~[a-z])?'''
   - 58: @(module|type)?doc ~[A-Z]'''
   - 59: @(module|type)?doc false
   - 60: @(module|type)?doc "
   - 61: (::)
   - 66: (?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![?!:])
   - 67: (?<!\.)\b(and|not|or|when|xor|in|inlist|inbits)\b
   - 68: \b[A-Z]\w*\b
   - 69: \b(nil|true|false)\b(?![?!])
   - 70: \b(__(CALLER|ENV|MODULE|DIR)__)\b(?![?!])
   - 71: (@)[a-zA-Z_]\w*
   - 73: (&)\d+
   - 75: \^[a-z_]\w*
   - 77: \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
   - 78: :'
   - 81: :"
   - 84: (?>''')
   - 87: '
   - 90: (?>""")
   - 93: "
   - 96: ~[a-z](?>""")
   - 99: ~[a-z]\{
   - 102: ~[a-z]\[
   - 105: ~[a-z]\<
   - 108: ~[a-z]\(
   - 111: ~[a-z]([^\w])
   - 114: ~[A-Z](?>""")
   - 117: ~[A-Z]\{
   - 120: ~[A-Z]\[
   - 123: ~[A-Z]\<
   - 126: ~[A-Z]\(
   - 129: ~[A-Z]([^\w])
   - 132: (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
   - 134: (?>[a-zA-Z_][\w@]*(?>[?!])?)(:)(?!:)
   - 136: ^\s*(##).*$\n?
   - 138: (?:^[ \t]+)?(#).*$\n?
   - 140: (?<!\w)\?(\\(x\h{1,2}(?!\h)\b|[^xMC])|[^\s\\])
   - 141: \+=|\-=|\|\|=|~=|&&=
   - 142: ===?|!==?|<=?|>=?
   - 143: (\|\|\||&&&|\^\^\^|<<<|>>>|~~~)
   - 144: (?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b
   - 145: (\*|\+|\-|/)
   - 146: \||\+\+|\-\-|\*\*|\\\\|\<\-|\<\>|\<\<|\>\>|\:\:|\.\.|\|>|~|=>
   - 147: =
   - 148: :
   - 149: \;
   - 150: ,
   - 151: \.
   - 152: \{|\}
   - 153: \[|\]
   - 154: \(|\)
   - 162: ^(?=.*->)((?![^"']*("|')[^"']*->)|(?=.*->[^"']*("|')[^"']*->))((?!.*\([^\)]*->)|(?=[^\(\)]*->)|(?=\s*\(.*\).*->))((?!.*\b(fn)\b)|(?=.*->.*\bfn\b))
  token: |nonspecial_token |
      * source.elixir
  matched MatchRule#77 @ Elixir.tmLanguage:666 - \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
  token: |123|
      * source.elixir
      * constant.numeric.elixir

@@scanNext: | :foo "bar"\n|
  scanning for
   - 2: \b(fn)\b(?!.*->)
   - 156: \b(fn)\b(?=.*->)
   - 5: ^\s*(defmodule)\b
   - 9: ^\s*(defprotocol)\b
   - 13: ^\s*(defimpl)\b
   - 17: ^\s*(def|defmacro)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 30: ^\s*(defp|defmacrop)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 43: @(module|type)?doc (~[a-z])?"""
   - 56: @(module|type)?doc ~[A-Z]"""
   - 57: @(module|type)?doc (~[a-z])?'''
   - 58: @(module|type)?doc ~[A-Z]'''
   - 59: @(module|type)?doc false
   - 60: @(module|type)?doc "
   - 61: (::)
   - 66: (?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![?!:])
   - 67: (?<!\.)\b(and|not|or|when|xor|in|inlist|inbits)\b
   - 68: \b[A-Z]\w*\b
   - 69: \b(nil|true|false)\b(?![?!])
   - 70: \b(__(CALLER|ENV|MODULE|DIR)__)\b(?![?!])
   - 71: (@)[a-zA-Z_]\w*
   - 73: (&)\d+
   - 75: \^[a-z_]\w*
   - 77: \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
   - 78: :'
   - 81: :"
   - 84: (?>''')
   - 87: '
   - 90: (?>""")
   - 93: "
   - 96: ~[a-z](?>""")
   - 99: ~[a-z]\{
   - 102: ~[a-z]\[
   - 105: ~[a-z]\<
   - 108: ~[a-z]\(
   - 111: ~[a-z]([^\w])
   - 114: ~[A-Z](?>""")
   - 117: ~[A-Z]\{
   - 120: ~[A-Z]\[
   - 123: ~[A-Z]\<
   - 126: ~[A-Z]\(
   - 129: ~[A-Z]([^\w])
   - 132: (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
   - 134: (?>[a-zA-Z_][\w@]*(?>[?!])?)(:)(?!:)
   - 136: ^\s*(##).*$\n?
   - 138: (?:^[ \t]+)?(#).*$\n?
   - 140: (?<!\w)\?(\\(x\h{1,2}(?!\h)\b|[^xMC])|[^\s\\])
   - 141: \+=|\-=|\|\|=|~=|&&=
   - 142: ===?|!==?|<=?|>=?
   - 143: (\|\|\||&&&|\^\^\^|<<<|>>>|~~~)
   - 144: (?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b
   - 145: (\*|\+|\-|/)
   - 146: \||\+\+|\-\-|\*\*|\\\\|\<\-|\<\>|\<\<|\>\>|\:\:|\.\.|\|>|~|=>
   - 147: =
   - 148: :
   - 149: \;
   - 150: ,
   - 151: \.
   - 152: \{|\}
   - 153: \[|\]
   - 154: \(|\)
   - 162: ^(?=.*->)((?![^"']*("|')[^"']*->)|(?=.*->[^"']*("|')[^"']*->))((?!.*\([^\)]*->)|(?=[^\(\)]*->)|(?=\s*\(.*\).*->))((?!.*\b(fn)\b)|(?=.*->.*\bfn\b))
  token: | |
      * source.elixir
  matched MatchRule#132 @ Elixir.tmLanguage:1256 - (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
  token: |:|
      * source.elixir
      * constant.other.symbol.elixir
      * punctuation.definition.constant.elixir
  token: |foo|
      * source.elixir
      * constant.other.symbol.elixir

@@scanNext: | "bar"\n|
  scanning for
   - 2: \b(fn)\b(?!.*->)
   - 156: \b(fn)\b(?=.*->)
   - 5: ^\s*(defmodule)\b
   - 9: ^\s*(defprotocol)\b
   - 13: ^\s*(defimpl)\b
   - 17: ^\s*(def|defmacro)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 30: ^\s*(defp|defmacrop)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 43: @(module|type)?doc (~[a-z])?"""
   - 56: @(module|type)?doc ~[A-Z]"""
   - 57: @(module|type)?doc (~[a-z])?'''
   - 58: @(module|type)?doc ~[A-Z]'''
   - 59: @(module|type)?doc false
   - 60: @(module|type)?doc "
   - 61: (::)
   - 66: (?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![?!:])
   - 67: (?<!\.)\b(and|not|or|when|xor|in|inlist|inbits)\b
   - 68: \b[A-Z]\w*\b
   - 69: \b(nil|true|false)\b(?![?!])
   - 70: \b(__(CALLER|ENV|MODULE|DIR)__)\b(?![?!])
   - 71: (@)[a-zA-Z_]\w*
   - 73: (&)\d+
   - 75: \^[a-z_]\w*
   - 77: \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
   - 78: :'
   - 81: :"
   - 84: (?>''')
   - 87: '
   - 90: (?>""")
   - 93: "
   - 96: ~[a-z](?>""")
   - 99: ~[a-z]\{
   - 102: ~[a-z]\[
   - 105: ~[a-z]\<
   - 108: ~[a-z]\(
   - 111: ~[a-z]([^\w])
   - 114: ~[A-Z](?>""")
   - 117: ~[A-Z]\{
   - 120: ~[A-Z]\[
   - 123: ~[A-Z]\<
   - 126: ~[A-Z]\(
   - 129: ~[A-Z]([^\w])
   - 132: (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
   - 134: (?>[a-zA-Z_][\w@]*(?>[?!])?)(:)(?!:)
   - 136: ^\s*(##).*$\n?
   - 138: (?:^[ \t]+)?(#).*$\n?
   - 140: (?<!\w)\?(\\(x\h{1,2}(?!\h)\b|[^xMC])|[^\s\\])
   - 141: \+=|\-=|\|\|=|~=|&&=
   - 142: ===?|!==?|<=?|>=?
   - 143: (\|\|\||&&&|\^\^\^|<<<|>>>|~~~)
   - 144: (?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b
   - 145: (\*|\+|\-|/)
   - 146: \||\+\+|\-\-|\*\*|\\\\|\<\-|\<\>|\<\<|\>\>|\:\:|\.\.|\|>|~|=>
   - 147: =
   - 148: :
   - 149: \;
   - 150: ,
   - 151: \.
   - 152: \{|\}
   - 153: \[|\]
   - 154: \(|\)
   - 162: ^(?=.*->)((?![^"']*("|')[^"']*->)|(?=.*->[^"']*("|')[^"']*->))((?!.*\([^\)]*->)|(?=[^\(\)]*->)|(?=\s*\(.*\).*->))((?!.*\b(fn)\b)|(?=.*->.*\bfn\b))
  token: | |
      * source.elixir
  pushing BeginEndRule#93 @ Elixir.tmLanguage:837 - "
  token: |"|
      * source.elixir
      * string.quoted.double.elixir
      * punctuation.definition.string.begin.elixir

@@scanNext: |bar"\n|
  scanning for
   - -1: "
   - 45: #\{(\})
   - 48: #\{
   - 55: \\(x[\da-fA-F]{1,2}|.)
  popping BeginEndRule#93 @ Elixir.tmLanguage:837 - "
  token: |bar|
      * source.elixir
      * string.quoted.double.elixir
  token: |"|
      * source.elixir
      * string.quoted.double.elixir
      * punctuation.definition.string.end.elixir

@@scanNext: |\n|
  scanning for
   - 2: \b(fn)\b(?!.*->)
   - 156: \b(fn)\b(?=.*->)
   - 5: ^\s*(defmodule)\b
   - 9: ^\s*(defprotocol)\b
   - 13: ^\s*(defimpl)\b
   - 17: ^\s*(def|defmacro)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 30: ^\s*(defp|defmacrop)\s+((?>[a-zA-Z_]\w*(?>\.|::))?(?>[a-zA-Z_]\w*(?>[?!]|=(?!>))?|===?|>[>=]?|<=>|<[<=]?|[%&`/\|]|\*\*?|=?~|[-+]@?|\[\]=?))((\()|\s*)
   - 43: @(module|type)?doc (~[a-z])?"""
   - 56: @(module|type)?doc ~[A-Z]"""
   - 57: @(module|type)?doc (~[a-z])?'''
   - 58: @(module|type)?doc ~[A-Z]'''
   - 59: @(module|type)?doc false
   - 60: @(module|type)?doc "
   - 61: (::)
   - 66: (?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![?!:])
   - 67: (?<!\.)\b(and|not|or|when|xor|in|inlist|inbits)\b
   - 68: \b[A-Z]\w*\b
   - 69: \b(nil|true|false)\b(?![?!])
   - 70: \b(__(CALLER|ENV|MODULE|DIR)__)\b(?![?!])
   - 71: (@)[a-zA-Z_]\w*
   - 73: (&)\d+
   - 75: \^[a-z_]\w*
   - 77: \b(0x\h(?>_?\h)*|\d(?>_?\d)*(\.(?![^[:space:][:digit:]])(?>_?\d)*)?([eE][-+]?\d(?>_?\d)*)?|0b[01]+|0o[0-7]+)\b
   - 78: :'
   - 81: :"
   - 84: (?>''')
   - 87: '
   - 90: (?>""")
   - 93: "
   - 96: ~[a-z](?>""")
   - 99: ~[a-z]\{
   - 102: ~[a-z]\[
   - 105: ~[a-z]\<
   - 108: ~[a-z]\(
   - 111: ~[a-z]([^\w])
   - 114: ~[A-Z](?>""")
   - 117: ~[A-Z]\{
   - 120: ~[A-Z]\[
   - 123: ~[A-Z]\<
   - 126: ~[A-Z]\(
   - 129: ~[A-Z]([^\w])
   - 132: (?<!:)(:)(?>[a-zA-Z_][\w@]*(?>[?!]|=(?![>=]))?|\<\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\-|\|>|=>|~|~=|=|/|\\\\|\*\*?|\.\.?\.?|>=?|<=?|&&?&?|\+\+?|\-\-?|\|\|?\|?|\!|@|\%?\{\}|%|\[\]|\^(\^\^)?)
   - 134: (?>[a-zA-Z_][\w@]*(?>[?!])?)(:)(?!:)
   - 136: ^\s*(##).*$\n?
   - 138: (?:^[ \t]+)?(#).*$\n?
   - 140: (?<!\w)\?(\\(x\h{1,2}(?!\h)\b|[^xMC])|[^\s\\])
   - 141: \+=|\-=|\|\|=|~=|&&=
   - 142: ===?|!==?|<=?|>=?
   - 143: (\|\|\||&&&|\^\^\^|<<<|>>>|~~~)
   - 144: (?<=[ \t])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b
   - 145: (\*|\+|\-|/)
   - 146: \||\+\+|\-\-|\*\*|\\\\|\<\-|\<\>|\<\<|\>\>|\:\:|\.\.|\|>|~|=>
   - 147: =
   - 148: :
   - 149: \;
   - 150: ,
   - 151: \.
   - 152: \{|\}
   - 153: \[|\]
   - 154: \(|\)
   - 162: ^(?=.*->)((?![^"']*("|')[^"']*->)|(?=.*->[^"']*("|')[^"']*->))((?!.*\([^\)]*->)|(?=[^\(\)]*->)|(?=\s*\(.*\).*->))((?!.*\b(fn)\b)|(?=.*->.*\bfn\b))
  no more matches.
  token: |\n|
      * source.elixir

@@LINE END RULE STACK CONTAINS 1 RULES:
  * no rule description?

from vscode-textmate.

alexdima avatar alexdima commented on September 28, 2024

elixir-editors/elixir-tmbundle#125 is now fixed

from vscode-textmate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.