rouge-ruby/rouge · error · RuntimeError

invalid HTML color: #{$1}

Error message

invalid HTML color: #{$1}

What it means

Error "invalid HTML color: #{$1}" thrown in rouge-ruby/rouge.

Source

Thrown at lib/rouge/tex_theme_renderer.rb:82

    def render_inline_pallete(style, &b)
      gen_inline(style[:fg], &b)
      gen_inline(style[:bg], &b)
    end

    def inline_name(color)
      color =~ /^#(\h+)/ or return nil

      # xcolor does not support 3-character HTML colors,
      # so we convert them here
      case $1.size
      when 6
        $1
      when 3
        # duplicate every character: abc -> aabbcc
        $1.gsub(/\h/, '\0\0')
      else
        raise "invalid HTML color: #{$1}"
      end.upcase
    end

    def gen_inline(name, &b)
      # detect inline colors
      hex = inline_name(name)
      return unless hex

      @gen_inline ||= {}
      @gen_inline[hex] ||= begin
        yield "\\definecolor{#{palette_name(hex)}}{HTML}{#{hex}}%"
      end
    end

    def camelize(name)
      name.gsub(/_(.)/) { $1.upcase }
    end

View on GitHub (pinned to bd7dad7b09)

When it happens

Trigger: Thrown at lib/rouge/tex_theme_renderer.rb:82 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/c25659c4561c49ec. Report an issue: GitHub.