pub struct MD066FootnoteValidation;Expand description
Rule MD066: Footnote validation - ensure all footnote references have definitions and vice versa
This rule validates footnote usage in markdown documents:
- Detects orphaned footnote references (
[^1]) without corresponding definitions - Detects orphaned footnote definitions (
[^1]: text) that are never referenced
Footnote syntax (common markdown extension, not part of CommonMark):
- Reference:
[^identifier]in text - Definition:
[^identifier]: definition text(can span multiple lines with indentation)
§Examples
Valid:
This has a footnote[^1] that is properly defined.
[^1]: This is the footnote content.Invalid - orphaned reference:
This references[^missing] a footnote that doesn't exist.Invalid - orphaned definition:
[^unused]: This footnote is defined but never referenced.Implementations§
Trait Implementations§
Source§impl Clone for MD066FootnoteValidation
impl Clone for MD066FootnoteValidation
Source§fn clone(&self) -> MD066FootnoteValidation
fn clone(&self) -> MD066FootnoteValidation
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MD066FootnoteValidation
impl Debug for MD066FootnoteValidation
Source§impl Default for MD066FootnoteValidation
impl Default for MD066FootnoteValidation
Source§fn default() -> MD066FootnoteValidation
fn default() -> MD066FootnoteValidation
Returns the “default value” for a type. Read more
Source§impl Rule for MD066FootnoteValidation
impl Rule for MD066FootnoteValidation
fn name(&self) -> &'static str
fn description(&self) -> &'static str
fn check(&self, ctx: &LintContext<'_>) -> LintResult
fn fix(&self, ctx: &LintContext<'_>) -> Result<String, LintError>
fn as_any(&self) -> &dyn Any
Source§fn from_config(_config: &Config) -> Box<dyn Rule>where
Self: Sized,
fn from_config(_config: &Config) -> Box<dyn Rule>where
Self: Sized,
Factory: create a rule from config (if present), or use defaults.
Source§fn should_skip(&self, _ctx: &LintContext<'_>) -> bool
fn should_skip(&self, _ctx: &LintContext<'_>) -> bool
Check if this rule should quickly skip processing based on content
Source§fn category(&self) -> RuleCategory
fn category(&self) -> RuleCategory
Get the category of this rule for selective processing
Source§fn default_config_section(&self) -> Option<(String, Value)>
fn default_config_section(&self) -> Option<(String, Value)>
Returns the rule name and default config table if the rule has config.
If a rule implements this, it MUST be defined on the
impl Rule for ... block,
not just the inherent impl.Source§fn config_aliases(&self) -> Option<HashMap<String, String>>
fn config_aliases(&self) -> Option<HashMap<String, String>>
Returns config key aliases for this rule
This allows rules to accept alternative config key names for backwards compatibility
Source§fn fix_capability(&self) -> FixCapability
fn fix_capability(&self) -> FixCapability
Declares the fix capability of this rule
Source§fn cross_file_scope(&self) -> CrossFileScope
fn cross_file_scope(&self) -> CrossFileScope
Declares cross-file analysis requirements for this rule Read more
Source§fn contribute_to_index(
&self,
_ctx: &LintContext<'_>,
_file_index: &mut FileIndex,
)
fn contribute_to_index( &self, _ctx: &LintContext<'_>, _file_index: &mut FileIndex, )
Contribute data to the workspace index during linting Read more
Source§fn cross_file_check(
&self,
_file_path: &Path,
_file_index: &FileIndex,
_workspace_index: &WorkspaceIndex,
) -> LintResult
fn cross_file_check( &self, _file_path: &Path, _file_index: &FileIndex, _workspace_index: &WorkspaceIndex, ) -> LintResult
Perform cross-file validation after all files have been linted Read more
Auto Trait Implementations§
impl Freeze for MD066FootnoteValidation
impl RefUnwindSafe for MD066FootnoteValidation
impl Send for MD066FootnoteValidation
impl Sync for MD066FootnoteValidation
impl Unpin for MD066FootnoteValidation
impl UnwindSafe for MD066FootnoteValidation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more