lib/rouge/lexers/janet.rb in rouge-3.23.0 vs lib/rouge/lexers/janet.rb in rouge-3.24.0

- old
+ new

@@ -112,11 +112,11 @@ else Name::Function end end - punctuation = %r/[_!@$%^&*+=~<>.?\/-]/o + punctuation = %r/[_!$%^&*+=~<>.?\/-]/o symbol = %r/([[:alpha:]]|#{punctuation})([[:word:]]|#{punctuation}|:)*/o state :root do rule %r/#.*?$/, Comment::Single rule %r/\s+/m, Text::Whitespace @@ -141,24 +141,23 @@ rule %r/@?"/, Str::Double, :string rule %r/@?(`+).*?\1/m, Str::Heredoc rule %r/\(/, Punctuation, :function - rule %r/(')([\(\[])/ do + rule %r/(')(@?[(\[{])/ do groups Operator, Punctuation push :quote end - rule %r/(~)([\(\[])/ do + rule %r/(~)(@?[(\[{])/ do groups Operator, Punctuation push :quasiquote end rule %r/[\#~,';\|]/, Operator - rule %r/@?[({\[]/, Punctuation, :push - rule %r/[)}\]]/, Punctuation, :pop! + rule %r/@?[(){}\[\]]/, Punctuation rule symbol, Name end state :string do @@ -167,10 +166,12 @@ rule %r/\\./, Str::Escape rule %r/[^"\\]+/, Str::Double end state :function do + rule %r/[\)]/, Punctuation, :pop! + rule symbol do |m| case m[0] when "quote" token Keyword goto :quote @@ -185,22 +186,22 @@ mixin :root end state :quote do - rule %r/[\(\[]/, Punctuation, :push - rule symbol, Str::Symbol + rule %r/[(\[{]/, Punctuation, :push + rule %r/[)\]}]/, Punctuation, :pop! + rule symbol, Str::Escape mixin :root end state :quasiquote do rule %r/(,)(\()/ do groups Operator, Punctuation push :function end rule %r/(\()(\s*)(unquote)(\s+)(\()/ do groups Punctuation, Text, Keyword, Text, Punctuation - push :root push :function end rule %r/(,)(#{symbol})/ do groups Operator, Name