features

package
v1.8.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package features provides a searchable catalog of CalcMark features for help systems, autocompletion, and documentation generation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alias

type Alias struct {
	Name      string // Alternative name (e.g., "average of", "round trip time")
	Parseable bool   // true if this alias works as input syntax, false if search-only
	Example   string // Concrete NL example for autosuggest (e.g., "average of 1, 2, 3")
}

Alias represents an alternative name for a feature, with a flag indicating whether it can be used as input syntax (Parseable) or is search-only.

type Category

type Category string

Category represents a type of CalcMark feature.

const (
	CategoryFunction    Category = "function"
	CategoryUnit        Category = "unit"
	CategoryKeyword     Category = "keyword"
	CategoryOperator    Category = "operator"
	CategoryDate        Category = "date"
	CategoryNetwork     Category = "network"
	CategoryStorage     Category = "storage"
	CategoryCompression Category = "compression"
	CategoryGrowth      Category = "growth"
	CategoryFrontmatter Category = "frontmatter"
)

type Feature

type Feature struct {
	Name        string   // Primary name (e.g., "avg", "meter", "today")
	Category    Category // Type of feature
	Syntax      string   // Usage syntax (e.g., "avg(a, b, c)")
	Description string   // Human-readable description
	Aliases     []Alias  // Alternative names/spellings
	Example     string   // Example usage (function-call form for help display)
	NLExample   string   // Natural language example for autosuggest (e.g., "100 MB/s over 1 day")
}

Feature represents a single CalcMark feature that users can discover.

func (Feature) Match

func (f Feature) Match(query string) bool

Match checks if a query matches this feature (case-insensitive prefix match).

type Registry

type Registry struct {
	// contains filtered or unexported fields
}

Registry holds all discoverable CalcMark features.

func NewRegistry

func NewRegistry() *Registry

NewRegistry creates a registry with all CalcMark features.

func (*Registry) All

func (r *Registry) All() []Feature

All returns all features.

func (*Registry) ByCategory

func (r *Registry) ByCategory(cat Category) []Feature

ByCategory returns all features of a specific category.

func (*Registry) Categories

func (r *Registry) Categories() []Category

Categories returns all available category names.

func (*Registry) Search

func (r *Registry) Search(query string) []Feature

Search finds features matching a query string (prefix match on name or aliases).

Jump to

Keyboard shortcuts

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