Locates AST ranges whose syntax has plugin-defined or configured DSL semantics.
Summary
Types
@type macro_shape() :: {module() | nil, atom(), non_neg_integer() | :any}
@type source_range() :: %{ start_line: pos_integer(), start_column: pos_integer() | nil, end_line: pos_integer(), end_column: pos_integer() | nil }
Functions
@spec enabled?([module()], [macro_shape()]) :: boolean()
@spec guarded_line?([source_range()], pos_integer()) :: boolean()
@spec guarded_position?([source_range()], pos_integer(), pos_integer() | nil) :: boolean()
@spec ranges(Macro.t(), [module()], [macro_shape()]) :: [source_range()]