starcode

package
v0.1.0-dev.20260817193007 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package starcode provides Starlark source file capture with glob pattern matching, .gitignore awareness.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct {
	op.ProviderBase
	Root string
}

Provider performs Starlark source capture.

+devlore:access=immediate

func NewProvider

func NewProvider(ctx *op.RuntimeEnvironment) *Provider

NewProvider creates a starcode provider bound to the given runtime environment, rooted at the environment's Root when present.

func (*Provider) Capture

func (p *Provider) Capture(pattern string, includeGitignored bool) (*Sources, error)

Capture collects Starlark source files matching the given pattern.

If includeGitignored is true, files excluded by .gitignore rules are still captured.

Parameters:

  • `pattern`: the glob pattern to match (supports **).
  • `includeGitignored`: when true, include files excluded by .gitignore rules.

Returns:

  • `*Sources`: the captured file set with root and sorted paths.
  • `error`: non-nil if the root directory cannot be resolved or the walk fails.

+devlore:defaults includeGitignored=false

type Sources

type Sources struct {
	Root  string   // absolute root directory
	Files []string // absolute paths, sorted
}

Sources holds a captured set of Starlark source files.

func (*Sources) Analyze

Analyze performs a combined analysis of all captured files.

+devlore:struct_param cfg=staranalysis.AnalysisConfig

Parameters:

  • `cfg`: the analysis configuration.

Returns:

  • `*staranalysis.AnalysisReport`: the combined analysis report.
  • `error`: non-nil if analysis fails.

func (*Sources) Count

func (s *Sources) Count() int

Count returns the number of captured files.

Returns:

  • `int`: the file count.

func (*Sources) Index

func (s *Sources) Index(withDocstrings, withGlobals bool) (*starindex.Index, error)

Index parses all captured files and extracts functions, loads, and globals.

If withDocstrings is true, function docstrings are extracted. If withGlobals is true, top-level assignments are captured.

Parameters:

  • `withDocstrings`: when true, extract function docstrings.
  • `withGlobals`: when true, capture top-level assignments.

Returns:

  • `*starindex.Index`: the parsed index with functions, loads, and globals.
  • `error`: non-nil if parsing fails.

+devlore:defaults withDocstrings=true,withGlobals=true

func (*Sources) Paths

func (s *Sources) Paths() []string

Paths returns the file paths relative to Root.

Returns:

  • `[]string`: relative paths for all captured files.

func (*Sources) Stats

func (s *Sources) Stats(withBytes, withLOC bool) (*starstats.Stats, error)

Stats computes line and byte statistics for all captured files.

If withBytes is true, byte counts are included. If withLOC is true, line counts (LOC, SLOC, comments, blanks) are included.

Parameters:

  • `withBytes`: when true, include byte counts.
  • `withLOC`: when true, include line counts (LOC, SLOC, comments, blanks).

Returns:

  • `*starstats.Stats`: the computed statistics.
  • `error`: non-nil if stat computation fails.

+devlore:defaults withBytes=true,withLOC=true

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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