bangs

package
v1.6.2 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2025 License: Unlicense Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handler

func Handler(doAllowNoBang bool, doAllowMultiBang bool, ignoreCharPar string) http.Handler

func ListAllBangs

func ListAllBangs() map[string]Entry

ListAllBangs returns the map of all loaded bang entries.

func Load

func Load(path string) error

Types

type AugmentNoPlaceholderError

type AugmentNoPlaceholderError struct{}

func (AugmentNoPlaceholderError) Error

type BangList

type BangList struct {
	Entries map[string]Entry
	// contains filtered or unexported fields
}

func All

func All() BangList

func (BangList) PrepareInput

func (bl BangList) PrepareInput(input string) ([]*Entry, string, error)

func (BangList) PrepareInputNaive

func (bl BangList) PrepareInputNaive(input string) (*Entry, string, error)

Benchmarked; lookup in precomputed map is faster even in smaller cases

func (BangList) PrepareInputOld

func (bl BangList) PrepareInputOld(input string) (*Entry, string, error)

func (*BangList) UnmarshalYAML

func (bl *BangList) UnmarshalYAML(value *yaml.Node) error

type Entry

type Entry struct {
	Bang        string   `yaml:"bang" json:"bang"`
	Description string   `yaml:"description" json:"description"`
	URL         QueryURL `yaml:"url" json:"url"`
	Category    string   `yaml:"category,omitempty" json:"category,omitempty"`
}

func (Entry) Equals

func (e Entry) Equals(other Entry) bool

func (Entry) Forward

func (e Entry) Forward(query string, w http.ResponseWriter, r *http.Request) error

func (Entry) String

func (e Entry) String() string

type InputHasNoBangError

type InputHasNoBangError string

func (InputHasNoBangError) Error

func (InputHasNoBangError) Error() string

type InputStartsWithIgnoreError

type InputStartsWithIgnoreError string

func (InputStartsWithIgnoreError) Error

type QueryURL

type QueryURL string

func (QueryURL) Augment

func (q QueryURL) Augment(query string) (*url.URL, error)

type Registry

type Registry struct {
	Default QueryURL          `yaml:"default" json:"default"`
	Aliases map[string]string `yaml:"aliases,omitempty" json:"aliases,omitempty"`
	Entries BangList          `yaml:",inline" json:"bangs"`
}

func (*Registry) DefaultForward

func (r *Registry) DefaultForward(query string, w http.ResponseWriter, req *http.Request) error

Jump to

Keyboard shortcuts

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