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:
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: