rouge-ruby/rouge · error

duplicate lexer tag/alias: #{name}

Error message

duplicate lexer tag/alias: #{name}

What it means

Error "duplicate lexer tag/alias: #{name}" thrown in rouge-ruby/rouge.

Source

Thrown at lib/rouge/lexer.rb:231

        (defined? @debug_enabled) ? true : false
      end

      # Determine if a lexer has a method named +:detect?+ defined in its
      # singleton class.
      def detectable?
        return @detectable if defined?(@detectable)
        @detectable = singleton_methods(false).include?(:detect?)
      end

    protected
      # @private
      def register(name, lexer)
        # reset an existing list of lexers
        @all = nil if defined?(@all)
        name = name.to_s

        if registry.key?(name)
          Kernel.warn("duplicate lexer tag/alias: #{name}")
        end

        registry[name.to_s] = lexer
      end

      def lazy_procs
        @lazy_procs ||= []
      end

    public
      def eager_load!
        return if @_loaded
        @_loaded = true

        superclass.eager_load! unless superclass == Lexer

        lazy_procs.each { |b| instance_eval(&b) }

View on GitHub (pinned to bd7dad7b09)

When it happens

Trigger: Thrown at lib/rouge/lexer.rb:231 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/14dadc107dab28cd. Report an issue: GitHub.