File: Mathlib/Tactic/Linter/Lint.lean

full_name: Std.Tactic.Lint.structureInType
code: /--
Linter that checks whether a structure should be in Prop.
-/
@[env_linter] def structureInType : Linter 
goal: Std.Tactic.Lint.Linter

full_name: Std.Tactic.Lint.deprecatedNoSince
code: /-- Linter that check that all `deprecated` tags come with `since` dates. -/
@[env_linter] def deprecatedNoSince : Linter 
goal: Std.Tactic.Lint.Linter

full_name: Mathlib.Linter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.457
code: /--
The `dupNamespace` linter is set on by default.  Lean emits a warning on any declaration that
contains the same namespace at least twice consecutively.

For instance, `Nat.Nat.foo` and `One.two.two` trigger a warning, while `Nat.One.Nat` does not.

*Note.*
This linter will not detect duplication in namespaces of autogenerated declarations
(other than the one whose `declId` is present in the source declaration).
-/
register_option linter.dupNamespace : Bool := {
  defValue := true
  descr := "enable the duplicated namespace linter"
}
goal: IO (Lean.Option Bool)

full_name: Mathlib.Linter.linter.dupNamespace
code: /--
The `dupNamespace` linter is set on by default.  Lean emits a warning on any declaration that
contains the same namespace at least twice consecutively.

For instance, `Nat.Nat.foo` and `One.two.two` trigger a warning, while `Nat.One.Nat` does not.

*Note.*
This linter will not detect duplication in namespaces of autogenerated declarations
(other than the one whose `declId` is present in the source declaration).
-/
register_option linter.dupNamespace : Bool := {
  defValue := true
  descr := "enable the duplicated namespace linter"
}
goal: Lean.Option Bool

full_name: Mathlib.Linter.DupNamespaceLinter.getLinterDupNamespace
code: /-- Gets the value of the `linter.dupNamespace` option. -/
def getLinterDupNamespace (o : Options) : Bool 
goal: Bool

full_name: Mathlib.Linter.DupNamespaceLinter.getIds
code: /-- `getIds stx` extracts the `declId` nodes from the `Syntax` `stx`.
If `stx` is an `alias` or an `export`, then it extracts an `ident`, instead of a `declId`. -/
partial
def getIds : Syntax → Array Syntax
  
goal: Lean.Syntax → Array Lean.Syntax

full_name: Mathlib.Linter.DupNamespaceLinter.dupNamespace
code: @[inherit_doc linter.dupNamespace]
def dupNamespace : Linter 
goal: Lean.Linter

full_name: Mathlib.Linter.DupNamespaceLinter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.999
code: initialize addLinter dupNamespace
goal: IO Unit

full_name: Mathlib.Linter.linter.missingEnd
code: /-- The "missing end" linter emits a warning on non-closed `section`s and `namespace`s.
It allows the "outermost" `noncomputable section` to be left open (whether or not it is named).
-/
register_option linter.missingEnd : Bool := {
  defValue := true
  descr := "enable the missing end linter"
}
goal: Lean.Option Bool

full_name: Mathlib.Linter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.1019
code: /-- The "missing end" linter emits a warning on non-closed `section`s and `namespace`s.
It allows the "outermost" `noncomputable section` to be left open (whether or not it is named).
-/
register_option linter.missingEnd : Bool := {
  defValue := true
  descr := "enable the missing end linter"
}
goal: IO (Lean.Option Bool)

full_name: Mathlib.Linter.MissingEnd.getLinterHash
code: /-- Gets the value of the `linter.missingEnd` option. -/
def getLinterHash (o : Options) : Bool 
goal: Bool

full_name: Mathlib.Linter.MissingEnd.missingEndLinter
code: @[inherit_doc Mathlib.Linter.linter.missingEnd]
def missingEndLinter : Linter 
goal: Lean.Linter

full_name: Mathlib.Linter.MissingEnd.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.1442
code: initialize addLinter missingEndLinter
goal: IO Unit

full_name: Mathlib.Linter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.1461
code: /--
The `cdot` linter flags uses of the "cdot" `·` that are achieved by typing a character
different from `·`.
For instance, a "plain" dot `.` is allowed syntax, but is flagged by the linter. -/
register_option linter.cdot : Bool := {
  defValue := true
  descr := "enable the `cdot` linter"
}
goal: IO (Lean.Option Bool)

full_name: Mathlib.Linter.linter.cdot
code: /--
The `cdot` linter flags uses of the "cdot" `·` that are achieved by typing a character
different from `·`.
For instance, a "plain" dot `.` is allowed syntax, but is flagged by the linter. -/
register_option linter.cdot : Bool := {
  defValue := true
  descr := "enable the `cdot` linter"
}
goal: Lean.Option Bool

full_name: Mathlib.Linter.isCDot?
code: /-- `isCDot? stx` checks whether `stx` is a `Syntax` node corresponding to a `cdot` typed with
the character `·`. -/
def isCDot? : Syntax → Bool
  
goal: Lean.Syntax → Bool

full_name: Mathlib.Linter.findCDot
code: /--
`findCDot stx` extracts from `stx` the syntax nodes of `kind` `Lean.Parser.Term.cdot` or `cdotTk`. -/
partial
def findCDot : Syntax → Array Syntax
  
goal: Lean.Syntax → Array Lean.Syntax

full_name: Mathlib.Linter.unwanted_cdot
code: /-- `unwanted_cdot stx` returns an array of syntax atoms within `stx`
corresponding to `cdot`s that are not written with the character `·`.
This is precisely what the `cdot` linter flags.
-/
def unwanted_cdot (stx : Syntax) : Array Syntax 
goal: Array Lean.Syntax

full_name: Mathlib.Linter.CDotLinter.getLinterHash
code: /-- Gets the value of the `linter.generic` option. -/
def getLinterHash (o : Options) : Bool 
goal: Bool

full_name: Mathlib.Linter.CDotLinter.cdotLinter
code: @[inherit_doc linter.cdot]
def cdotLinter : Linter 
goal: Lean.Linter

full_name: Mathlib.Linter.CDotLinter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.2100
code: initialize addLinter cdotLinter
goal: IO Unit

full_name: Mathlib.Linter.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.2118
code: /-- The "longLine" linter emits a warning on lines longer than 100 characters.
We allow lines containing URLs to be longer, though. -/
register_option linter.longLine : Bool := {
  defValue := true
  descr := "enable the longLine linter"
}
goal: IO (Lean.Option Bool)

full_name: Mathlib.Linter.linter.longLine
code: /-- The "longLine" linter emits a warning on lines longer than 100 characters.
We allow lines containing URLs to be longer, though. -/
register_option linter.longLine : Bool := {
  defValue := true
  descr := "enable the longLine linter"
}
goal: Lean.Option Bool

full_name: Mathlib.Linter.LongLine.getLinterHash
code: /-- Gets the value of the `linter.longLine` option. -/
def getLinterHash (o : Options) : Bool 
goal: Bool

full_name: Mathlib.Linter.LongLine.longLineLinter
code: @[inherit_doc Mathlib.Linter.linter.longLine]
def longLineLinter : Linter 
goal: Lean.Linter

full_name: Mathlib.Linter.LongLine.initFn._@.Mathlib.Tactic.Linter.Lint._hyg.2776
code: initialize addLinter longLineLinter
goal: IO Unit