{"record":{"id":"14dadc107dab28cd","repo":"rouge-ruby/rouge","slug":"duplicate-lexer-tag-alias-name","errorCode":null,"errorMessage":"duplicate lexer tag/alias: #{name}","messagePattern":"duplicate lexer tag/alias: #(.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"lib/rouge/lexer.rb","lineNumber":231,"sourceCode":"        (defined? @debug_enabled) ? true : false\n      end\n\n      # Determine if a lexer has a method named +:detect?+ defined in its\n      # singleton class.\n      def detectable?\n        return @detectable if defined?(@detectable)\n        @detectable = singleton_methods(false).include?(:detect?)\n      end\n\n    protected\n      # @private\n      def register(name, lexer)\n        # reset an existing list of lexers\n        @all = nil if defined?(@all)\n        name = name.to_s\n\n        if registry.key?(name)\n          Kernel.warn(\"duplicate lexer tag/alias: #{name}\")\n        end\n\n        registry[name.to_s] = lexer\n      end\n\n      def lazy_procs\n        @lazy_procs ||= []\n      end\n\n    public\n      def eager_load!\n        return if @_loaded\n        @_loaded = true\n\n        superclass.eager_load! unless superclass == Lexer\n\n        lazy_procs.each { |b| instance_eval(&b) }\n","sourceCodeStart":213,"sourceCodeEnd":249,"githubUrl":"https://github.com/rouge-ruby/rouge/blob/bd7dad7b0939c556e582a0370686f6fc022c8af5/lib/rouge/lexer.rb#L213-L249","documentation":"Error \"duplicate lexer tag/alias: #{name}\" thrown in rouge-ruby/rouge.","triggerScenarios":"Thrown at lib/rouge/lexer.rb:231 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"}