{"record":{"id":"b92db4f847c3b527","repo":"rouge-ruby/rouge","slug":"invalid-color-color-inspect","errorCode":null,"errorMessage":"invalid color: #{color.inspect}","messagePattern":"invalid color: #(.+?)","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"lib/rouge/formatters/terminal_truecolor.rb","lineNumber":26,"sourceCode":"      class TruecolorEscapeSequence < Terminal256::EscapeSequence\n        def style_string\n          @style_string ||= begin\n            out = String.new('')\n            out << escape(['48', '2', *get_rgb(style.bg)]) if style.bg\n            out << escape(['38', '2', *get_rgb(style.fg)]) if style.fg\n            out << escape(['1']) if style[:bold] || style[:italic]\n            out\n          end\n        end\n\n        def get_rgb(color)\n          color = $1 if color =~ /#(\\h+)/\n\n          case color.size\n          when 3 then color.chars.map { |c| c.to_i(16) * 2 }\n          when 6 then color.scan(/../).map { |cc| cc.to_i(16) }\n          else\n            raise \"invalid color: #{color.inspect}\"\n          end\n        end\n      end\n\n      # @override\n      def make_escape_sequence(style)\n        TruecolorEscapeSequence.new(style)\n      end\n    end\n  end\nend\n","sourceCodeStart":8,"sourceCodeEnd":38,"githubUrl":"https://github.com/rouge-ruby/rouge/blob/bd7dad7b0939c556e582a0370686f6fc022c8af5/lib/rouge/formatters/terminal_truecolor.rb#L8-L38","documentation":"Error \"invalid color: #{color.inspect}\" thrown in rouge-ruby/rouge.","triggerScenarios":"Thrown at lib/rouge/formatters/terminal_truecolor.rb:26 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bd7dad7b0939c556e582a0370686f6fc022c8af5","analyzedAt":"2026-08-23T11:34:50.713Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}