Skip to content

Commit 092d902

Browse files
author
jneen
committed
use the keywords API for cypher, and use Punctuation not Str::Symbol
1 parent 9e1e4f1 commit 092d902

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

lib/rouge/lexers/cypher.rb

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def self.keywords
4848
rule %r(/\*), Comment::Multiline, :multiline_comments
4949

5050
rule %r([*+\-<>=&|~%^]), Operator
51-
rule %r/[{}),;\[\]]/, Str::Symbol
51+
rule %r/[{}),;\[\]]/, Punctuation
5252

5353
# literal number
5454
rule %r/(\w+)(:)(\s*)(-?[._\d]+)/ do
@@ -59,15 +59,13 @@ def self.keywords
5959
# - "name("
6060
# - "name ("
6161
# - "name ("
62-
rule %r/(\w+)(\s*)(\()/ do |m|
63-
name = m[1].upcase
64-
if self.class.functions.include? name
65-
groups Name::Function, Text::Whitespace, Str::Symbol
66-
elsif self.class.keywords.include? name
67-
groups Keyword, Text::Whitespace, Str::Symbol
68-
else
69-
groups Name, Text::Whitespace, Str::Symbol
70-
end
62+
keywords %r/(\w+)(?=\s*[(])/ do |m|
63+
group 1
64+
transform(&:upcase)
65+
66+
rule :functions, Name::Function
67+
rule :keywords, Keyword
68+
default Name
7169
end
7270

7371
rule %r/:\w+/, Name::Class
@@ -87,7 +85,7 @@ def self.keywords
8785
rule %r([.\w]+:), Name::Property
8886

8987
# remaining "("
90-
rule %r/\(/, Str::Symbol
88+
rule %r/\(/, Punctuation
9189

9290
rule %r/[.\w$]+/ do |m|
9391
match = m[0].upcase

0 commit comments

Comments
 (0)