analyzer

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package analyzer is the whole-file semantic analyzer. It runs before any task executes (Principle II / FR-012, FR-014) and reports every statically detectable error with a file:line:col span: undefined names, unknown tasks/dependencies, dependency cycles, arity mismatches, duplicate settings, and malformed parameter lists.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Analyze

func Analyze(f *ast.File) diag.List

Analyze validates the file and returns all diagnostics found.

func CheckDocumentation added in v0.3.0

func CheckDocumentation(f *ast.File) diag.List

CheckDocumentation reports a warning (RUNE2010) for every public task that has no documentation comment (spec FR-008a).

It is intentionally SEPARATE from Analyze: this is a warning surfaced by `rune analyze` and the language server, not during normal execution. Keeping it out of Analyze means it never gates a run (warnings never set HasErrors) and never adds noise to `rune` output. The analysis service combines Analyze and CheckDocumentation into a single snapshot.

func CheckSettings added in v0.3.0

func CheckSettings(f *ast.File) diag.List

CheckSettings reports RUNE2008 for any setting whose name is not a recognized Rune setting, consulting the shared language registry so validation and completion agree by construction (spec FR-027 / R9).

Like CheckDocumentation, it is SEPARATE from Analyze: it is surfaced by `rune analyze` and the language server, but not on the execution path, where an unknown setting has always been silently ignored. Keeping it out of Analyze preserves backward compatibility (an existing Runefile with a stray setting keeps running) while still flagging the likely typo in the editor.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL