{"record":{"id":"0ca1c6f6f23dae59","repo":"oxc-project/oxc","slug":"unclosed-markdown-code-block-in-documentation-ple","errorCode":null,"errorMessage":"unclosed markdown code block in documentation, please close all ``` fences","messagePattern":"unclosed markdown code block in documentation, please close all ``` fences","errorType":"exception","errorClass":"syn::Error","httpStatus":null,"severity":"error","filePath":"crates/oxc_macros/src/declare_oxc_lint.rs","lineNumber":211,"sourceCode":"        if !remaining.is_empty() {\n            return Err(Error::new_spanned(\n                remaining,\n                \"unexpected tokens in rule declaration, missing a comma?\",\n            ));\n        }\n\n        let Some(version) = version else {\n            return Err(Error::new(\n                struct_name.span(),\n                \"missing `version = \\\"x.y.z\\\"` or `version = \\\"next\\\"` in `declare_oxc_lint!`\",\n            ));\n        };\n\n        // Validate that any markdown fenced code blocks (```) in rule docs are properly closed.\n        // If the total number of fences found is odd, a block was not closed.\n        #[cfg(feature = \"ruledocs\")]\n        if !backtick_fences_count.is_multiple_of(2) {\n            return Err(Error::new(\n                struct_name.span(),\n                \"unclosed markdown code block in documentation, please close all ``` fences\",\n            ));\n        }\n        #[cfg(feature = \"ruledocs\")]\n        let Some(documentation) = documentation else {\n            return Err(Error::new(\n                struct_name.span(),\n                \"rule documentation must be specified either via doc comments or the `docs` attribute\",\n            ));\n        };\n\n        Ok(Self {\n            name: struct_name,\n            is_tsgolint_rule,\n            plugin,\n            category,\n            fix,","sourceCodeStart":193,"sourceCodeEnd":229,"githubUrl":"https://github.com/oxc-project/oxc/blob/a3d33dda7cb69da23db4fcaa2c0c05de61e760a1/crates/oxc_macros/src/declare_oxc_lint.rs#L193-L229","documentation":"Compile-time error raised inside the declare_oxc_lint! proc-macro (ruledocs feature) after counting markdown fence tokens in the rule's documentation. An odd count means a ``` code block was opened but never closed, which would render broken docs on the website, so the macro aborts expansion.","triggerScenarios":"Thrown at crates/oxc_macros/src/declare_oxc_lint.rs:191 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Close every opened ``` code fence in the rule's doc comments","Ensure fences inside indented or nested doc sections still balance to an even count"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a3d33dda7cb69da23db4fcaa2c0c05de61e760a1","analyzedAt":"2026-08-20T07:01:07.079Z","contentChangedAt":"2026-08-20T07:01:07.079Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}