From f2635cd0b989a9ab5c593f48e6b69701b1e06229 Mon Sep 17 00:00:00 2001 From: Andrew Lord Date: Fri, 21 Sep 2018 10:12:41 +0100 Subject: [PATCH] Handle backticked names --- lib/rouge/lexers/kotlin.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/rouge/lexers/kotlin.rb b/lib/rouge/lexers/kotlin.rb index 92baf8d9f9..cbfa22ddc5 100644 --- a/lib/rouge/lexers/kotlin.rb +++ b/lib/rouge/lexers/kotlin.rb @@ -24,8 +24,9 @@ class Kotlin < RegexLexer ) name = %r'@?[_\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Nl}][\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Nl}\p{Nd}\p{Pc}\p{Cf}\p{Mn}\p{Mc}]*' + name_backtick = %r'#{name}|`#{name}`' - id = %r'(#{name}|`#{name}`)' + id = %r'(#{name_backtick})' state :root do rule %r'^\s*\[.*?\]', Name::Attribute @@ -76,10 +77,10 @@ class Kotlin < RegexLexer end state :function do - rule %r'(<)(#{name}(?:(?:,\s*#{name})*))(>)(\s+)' do + rule %r'(<)(#{name_backtick}(?:(?:,\s*#{name_backtick})*))(>)(\s+)' do groups Punctuation, Text, Punctuation, Text end - rule %r'(#{name})(\.)' do + rule %r'(#{name_backtick})(\.)' do groups Name::Class, Punctuation end rule id, Name::Function, :pop!