rouge-ruby/rouge · error · RuntimeError
no keyword set #{name.inspect} defined - try defining one!
Error message
no keyword set #{name.inspect} defined - try defining one! What it means
Error "no keyword set #{name.inspect} defined - try defining one!" thrown in rouge-ruby/rouge.
Source
Thrown at lib/rouge/regex_lexer.rb:405
states[name.to_sym] ||= begin
defn = state_definitions[name.to_sym] or raise "unknown state: #{name.inspect}"
defn.to_state(self)
end
end
def self.dangerous_alternation_regexp(list)
# rubocop:disable Rouge/NoBuildingAlternationPatternInRegexp
/#{Regexp.union(list)}\b/
# rubocop:enable Rouge/NoBuildingAlternationPatternInRegexp
end
def self.get_keyword_set(name)
@keyword_sets ||= {}
@keyword_sets[name] ||= begin
# don't recurse past the base class
if self == RegexLexer
raise "no keyword set #{name.inspect} defined - try defining one!"
end
# Use memory sharing when applicable. If the method is not overridden,
# it is best to use the superclass method so the cache is shared.
set = if singleton_class.method_defined?(name, false)
public_send(name)
else
superclass.get_keyword_set(name)
end
raise InvalidKeywordSet.new(self) unless set.is_a?(Set)
set
end
end
def inspect_details
yield ' stack:['View on GitHub (pinned to bd7dad7b09)
When it happens
Trigger: Thrown at lib/rouge/regex_lexer.rb:405 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rouge-ruby/rouge@bd7dad7b09 (2026-08-23).
Data as JSON: /api/errors/44b795cf252cb027.
Report an issue: GitHub.