store

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 18, 2017 License: BSD-2-Clause Imports: 8 Imported by: 0

Documentation

Overview

Package store abstracts the persistent storage used by elvish.

Index

Constants

View Source
const SchemaVersion = 1

Variables

View Source
var ErrEmptyHOME = errors.New("environment variable HOME is empty")

ErrEmptyHOME is the error returned by EnsureDataDir when the environmental variable HOME is empty.

View Source
var ErrNoMatchingCmd = errors.New("no matching command line")

ErrNoMatchingCmd is the error returned when a LastCmd or FirstCmd query completes with no result.

View Source
var ErrNoVar = errors.New("no such variable")
View Source
var Logger = util.GetLogger("[store] ")

Functions

func DefaultDB

func DefaultDB(dbname string) (*sql.DB, error)

DefaultDB returns the default database for storage.

func EnsureDataDir

func EnsureDataDir() (string, error)

EnsureDataDir ensures Elvish's data directory exists, creating it if necessary. It returns the path to the data directory (never with a trailing slash) and possible error.

func SchemaUpToDate added in v0.5.0

func SchemaUpToDate(db *sql.DB) bool

Types

type Dir

type Dir struct {
	Path  string
	Score float64
}

Dir is an entry in the directory history.

type Store

type Store struct {
	Waits sync.WaitGroup
	// contains filtered or unexported fields
}

Store is the permanent storage backend for elvish.

func NewStore

func NewStore(dbname string) (*Store, error)

NewStore creates a new Store with the default database.

func NewStoreDB

func NewStoreDB(db *sql.DB) (*Store, error)

NewStoreDB creates a new Store with a custom database. The database must be a SQLite database.

func (*Store) AddCmd

func (s *Store) AddCmd(cmd string) error

AddCmd adds a new command to the command history.

func (*Store) AddDir

func (s *Store) AddDir(d string, incFactor float64) error

AddDir adds a directory to the directory history.

func (*Store) Close

func (s *Store) Close() error

func (*Store) Cmd

func (s *Store) Cmd(seq int) (string, error)

Cmd queries the command history item with the specified sequence number.

func (*Store) Cmds

func (s *Store) Cmds(from, upto int) ([]string, error)

func (*Store) DelSharedVar

func (s *Store) DelSharedVar(n string) error

func (*Store) FirstCmd

func (s *Store) FirstCmd(from int, prefix string) (int, string, error)

FirstCmd finds the first command after the given sequence number (inclusive) with the given prefix.

func (*Store) GetSharedVar

func (s *Store) GetSharedVar(n string) (string, error)

func (*Store) IterateCmds added in v0.5.0

func (s *Store) IterateCmds(from, upto int, f func(string) bool) error

func (*Store) LastCmd

func (s *Store) LastCmd(upto int, prefix string) (int, string, error)

LastCmd finds the last command before the given sequence number (exclusive) with the given prefix.

func (*Store) ListDirs

func (s *Store) ListDirs() ([]Dir, error)

ListDirs lists all directories in the directory history. The results are ordered by scores in descending order.

func (*Store) NextCmdSeq

func (s *Store) NextCmdSeq() (int, error)

NextCmdSeq returns the next sequence number of the command history.

func (*Store) SetSharedVar

func (s *Store) SetSharedVar(n, v string) error

Jump to

Keyboard shortcuts

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