manual

package
v0.1.7 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package manual implements a human-owned root provider. Unlike the upstream providers, it resolves nothing over the network: its value is whatever the target line already carries, published under the marker's id so followers and side values track it coherently. clover never rewrites a manual line - a person owns the value - so the provider exists to anchor a dependency graph at a value no registry knows about.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct{}

Provider is a human-owned root. It resolves to the value already on its target line and publishes it under the marker's id for followers, contacting no upstream. There is no selection stage - the value changes only when a person edits the line - so clover leaves the line untouched and never bumps it.

func New

func New() *Provider

New returns the manual provider.

func (*Provider) Anchor

func (p *Provider) Anchor()

Anchor marks the provider as line-anchored: clover reads its value from the target line and skips discovery and selection.

func (*Provider) Describe

func (p *Provider) Describe(provider.Resource) string

Describe returns a human-readable label for a resource.

func (*Provider) Discover

Discover is never called: clover short-circuits an anchored provider before discovery, resolving the value from the target line instead.

func (*Provider) Keys

func (p *Provider) Keys() []provider.Key

Keys reports the directive keys manual accepts. It declares none of its own - a manual root is configured entirely with the common vocabulary (id to publish the value, find to pin which token on an ambiguous line is the value).

func (*Provider) Name

func (p *Provider) Name() string

Name identifies the provider.

func (*Provider) Resource

func (p *Provider) Resource(d directive.Directive) (provider.Resource, error)

Resource validates the directive. A manual root is pointless without an id to publish under - it neither rewrites its line nor contacts an upstream - so the id is required; nothing else is needed from an upstream.

Jump to

Keyboard shortcuts

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