14.2. Repo-level lint configuration
The lint_config module loads {get_das_root()}/.lint_config (a TOML
file with a [rules] table of booleans) and folds it into a
disabled_codes set consumed by the three lint pass-macros
(daslib/lint, daslib/perf_lint, daslib/style_lint), by the
standalone runner utils/lint/main.das, and by the MCP lint tool.
seed_default_disabled seeds the canonical default-off rule set
(currently STYLE005) before the file is read.
All functions and symbols are in “lint_config” module, use require to get access to it.
require daslib/lint_config
14.2.1. Structures
- LintIssue
- Fields:
code : string - < rule id (“LINT002”, “PERF018”, “STYLE005”); “” when the message carries none
message : string - < message text without the position suffix; may be multi-line (instanced-from chains)
file : string - < source file as spelled by the compiler; “” when the location has no file info
line : int - < 1-based start line
column : int - < 0-based start column (byte offset — the LineInfo convention)
last_line : int - < 1-based end line; 0 when unknown
last_column : int - < 0-based end column (byte offset, end-exclusive)
14.2.2. Configuration
- build_lint_macro_disabled(prog: ProgramPtr ): table<string, void>
def build_lint_macro_disabled (prog: ProgramPtr) : table<string, void>
- Arguments:
prog : ProgramPtr
- load_lint_config(disabled_codes: table<string, void> )
def load_lint_config (var disabled_codes: table<string, void>)
- Arguments:
disabled_codes : table<string;void>
- load_lint_config_from_path(path: string; disabled_codes: table<string, void> )
def load_lint_config_from_path (path: string; var disabled_codes: table<string, void>)
- Arguments:
path : string
disabled_codes : table<string;void>
- seed_default_disabled(disabled_codes: table<string, void> )
def seed_default_disabled (var disabled_codes: table<string, void>)
- Arguments:
disabled_codes : table<string;void>
14.2.3. Structured findings
- make_lint_issue(message: string; at: LineInfo ): LintIssue
def make_lint_issue (message: string; at: LineInfo) : LintIssue
- Arguments:
message : string
at : LineInfo