{"record":{"id":"0f43ac5191f4bf93","repo":"rouge-ruby/rouge","slug":"rule-used-both-arguments-and-a-block-only-one-is","errorCode":null,"errorMessage":"#rule used both arguments and a block. Only one is supported.","messagePattern":"#rule used both arguments and a block\\. Only one is supported\\.","errorType":"exception","errorClass":"InvalidRule","httpStatus":null,"severity":"error","filePath":"lib/rouge/regex_lexer.rb","lineNumber":177,"sourceCode":"          @group = 0\n          @sets = []\n          instance_eval(&defn)\n        end\n\n        def transform(&b)\n          @mapper = b\n        end\n\n        def group(g)\n          @group = g\n        end\n\n        def rule(keyword_set, *args, &action)\n          unless keyword_set.is_a?(Set) || keyword_set.is_a?(Symbol)\n            raise InvalidKeywordSet.new(@lexer_class)\n          end\n\n          raise InvalidRule if action && args.any?\n          action ||= Rule.make_action(@covering_regex, *args)\n\n          @sets << [keyword_set, action]\n        end\n\n        def default(*args, &block)\n          @default = block || Rule.make_action(@covering_regex, *args)\n        end\n\n        def to_proc\n          mapper = @mapper\n          sets = @sets\n          default = @default\n          group = @group\n\n          proc do |m|\n            match = m[group]\n            match = mapper.call(match) if mapper","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/rouge-ruby/rouge/blob/bd7dad7b0939c556e582a0370686f6fc022c8af5/lib/rouge/regex_lexer.rb#L159-L195","documentation":"Error \"#rule used both arguments and a block. Only one is supported.\" thrown in rouge-ruby/rouge.","triggerScenarios":"Thrown at lib/rouge/regex_lexer.rb:177 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"}