lib/rouge/lexers/sed.rb in rouge-3.4.1 vs lib/rouge/lexers/sed.rb in rouge-3.5.0
- old
+ new
@@ -15,39 +15,39 @@
return true if text.shebang? 'sed'
end
class Regex < RegexLexer
state :root do
- rule /\\./, Str::Escape
- rule /\[/, Punctuation, :brackets
- rule /[$^.*]/, Operator
- rule /[()]/, Punctuation
- rule /./, Str::Regex
+ rule %r/\\./, Str::Escape
+ rule %r/\[/, Punctuation, :brackets
+ rule %r/[$^.*]/, Operator
+ rule %r/[()]/, Punctuation
+ rule %r/./, Str::Regex
end
state :brackets do
- rule /\^/ do
+ rule %r/\^/ do
token Punctuation
goto :brackets_int
end
rule(//) { goto :brackets_int }
end
state :brackets_int do
# ranges
- rule /.-./, Name::Variable
- rule /\]/, Punctuation, :pop!
- rule /./, Str::Regex
+ rule %r/.-./, Name::Variable
+ rule %r/\]/, Punctuation, :pop!
+ rule %r/./, Str::Regex
end
end
class Replacement < RegexLexer
state :root do
- rule /\\./m, Str::Escape
- rule /&/, Operator
- rule /[^\\&]+/m, Text
+ rule %r/\\./m, Str::Escape
+ rule %r/&/, Operator
+ rule %r/[^\\&]+/m, Text
end
end
def regex
@regex ||= Regex.new(options)
@@ -58,11 +58,11 @@
end
start { regex.reset!; replacement.reset! }
state :whitespace do
- rule /\s+/m, Text
+ rule %r/\s+/m, Text
rule(/#.*?\n/) { token Comment; reset_stack }
rule(/\n/) { token Text; reset_stack }
rule(/;/) { token Punctuation; reset_stack }
end
@@ -74,11 +74,11 @@
state :command do
mixin :whitespace
# subst and transliteration
- rule /(s)(.)(#{edot}*?)(\2)(#{edot}*?)(\2)/m do |m|
+ rule %r/(s)(.)(#{edot}*?)(\2)(#{edot}*?)(\2)/m do |m|
token Keyword, m[1]
token Punctuation, m[2]
delegate regex, m[3]
token Punctuation, m[4]
delegate replacement, m[5]
@@ -86,11 +86,11 @@
goto :flags
end
- rule /(y)(.)(#{edot}*?)(\2)(#{edot}*?)(\2)/m do |m|
+ rule %r/(y)(.)(#{edot}*?)(\2)(#{edot}*?)(\2)/m do |m|
token Keyword, m[1]
token Punctuation, m[2]
delegate replacement, m[3]
token Punctuation, m[4]
delegate replacement, m[5]
@@ -98,45 +98,45 @@
pop!
end
# commands that take a text segment as an argument
- rule /([aic])(\s*)/ do
+ rule %r/([aic])(\s*)/ do
groups Keyword, Text; goto :text
end
- rule /[pd]/, Keyword
+ rule %r/[pd]/, Keyword
# commands that take a number argument
- rule /([qQl])(\s+)(\d+)/i do
+ rule %r/([qQl])(\s+)(\d+)/i do
groups Keyword, Text, Num
pop!
end
# no-argument commands
- rule /[={}dDgGhHlnpPqx]/, Keyword, :pop!
+ rule %r/[={}dDgGhHlnpPqx]/, Keyword, :pop!
# commands that take a filename argument
- rule /([rRwW])(\s+)(\S+)/ do
+ rule %r/([rRwW])(\s+)(\S+)/ do
groups Keyword, Text, Name
pop!
end
# commands that take a label argument
- rule /([:btT])(\s+)(\S+)/ do
+ rule %r/([:btT])(\s+)(\S+)/ do
groups Keyword, Text, Name::Label
pop!
end
end
state :addr_range do
mixin :whitespace
### address ranges ###
addr_tok = Keyword::Namespace
- rule /\d+/, addr_tok
- rule /[$,~+!]/, addr_tok
+ rule %r/\d+/, addr_tok
+ rule %r/[$,~+!]/, addr_tok
rule %r((/)((?:\\.|.)*?)(/)) do |m|
token addr_tok, m[1]; delegate regex, m[2]; token addr_tok, m[3]
end
@@ -149,21 +149,21 @@
rule(//) { push :command }
end
state :text do
- rule /[^\\\n]+/, Str
- rule /\\\n/, Str::Escape
- rule /\\/, Str
- rule /\n/, Text, :pop!
+ rule %r/[^\\\n]+/, Str
+ rule %r/\\\n/, Str::Escape
+ rule %r/\\/, Str
+ rule %r/\n/, Text, :pop!
end
state :flags do
- rule /[gp]+/, Keyword, :pop!
+ rule %r/[gp]+/, Keyword, :pop!
# writing to a file with the subst command.
# who'da thunk...?
- rule /([wW])(\s+)(\S+)/ do
+ rule %r/([wW])(\s+)(\S+)/ do
token Keyword; token Text; token Name
end
rule(//) { pop! }
end