cmd

package
v1.9.8 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2019 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigDir              = ".config"
	CSVQConfigDir          = "csvq"
	EnvFileName            = "csvq_env.json"
	PreloadCommandFileName = "csvqrc"

	HiddenPrefix = '.'
)
View Source
const (
	VariableSign            = "@"
	FlagSign                = "@@"
	EnvironmentVariableSign = "@%"
	RuntimeInformationSign  = "@#"
)
View Source
const (
	RepositoryFlag              = "REPOSITORY"
	TimezoneFlag                = "TIMEZONE"
	DatetimeFormatFlag          = "DATETIME_FORMAT"
	WaitTimeoutFlag             = "WAIT_TIMEOUT"
	ImportFormatFlag            = "IMPORT_FORMAT"
	DelimiterFlag               = "DELIMITER"
	DelimiterPositionsFlag      = "DELIMITER_POSITIONS"
	JsonQueryFlag               = "JSON_QUERY"
	EncodingFlag                = "ENCODING"
	NoHeaderFlag                = "NO_HEADER"
	WithoutNullFlag             = "WITHOUT_NULL"
	FormatFlag                  = "FORMAT"
	WriteEncodingFlag           = "WRITE_ENCODING"
	WriteDelimiterFlag          = "WRITE_DELIMITER"
	WriteDelimiterPositionsFlag = "WRITE_DELIMITER_POSITIONS"
	WithoutHeaderFlag           = "WITHOUT_HEADER"
	LineBreakFlag               = "LINE_BREAK"
	EncloseAll                  = "ENCLOSE_ALL"
	JsonEscape                  = "JSON_ESCAPE"
	PrettyPrintFlag             = "PRETTY_PRINT"
	EastAsianEncodingFlag       = "EAST_ASIAN_ENCODING"
	CountDiacriticalSignFlag    = "COUNT_DIACRITICAL_SIGN"
	CountFormatCodeFlag         = "COUNT_FORMAT_CODE"
	ColorFlag                   = "COLOR"
	QuietFlag                   = "QUIET"
	CPUFlag                     = "CPU"
	StatsFlag                   = "STATS"
)
View Source
const (
	CsvExt      = ".csv"
	TsvExt      = ".tsv"
	JsonExt     = ".json"
	LtsvExt     = ".ltsv"
	GfmExt      = ".md"
	OrgExt      = ".org"
	SqlExt      = ".sql"
	CsvqProcExt = ".cql"
	TextExt     = ".txt"
)
View Source
const (
	NoEffect         = ""
	LableEffect      = "label"
	NumberEffect     = "number"
	StringEffect     = "string"
	BooleanEffect    = "boolean"
	TernaryEffect    = "ternary"
	DatetimeEffect   = "datetime"
	NullEffect       = "null"
	ObjectEffect     = "object"
	AttributeEffect  = "attribute"
	IdentifierEffect = "identifier"
	ValueEffect      = "value"
	EmphasisEffect   = "emphasis"
	PromptEffect     = "prompt"
	ErrorEffect      = "error"
	WarnEffect       = "warn"
	NoticeEffect     = "notice"
)
View Source
const DefaultEnvJson = `` /* 4061-byte string literal not displayed */
View Source
const DelimitAutomatically = "SPACES"

Variables

View Source
var FormatLiteral = map[Format]string{
	CSV:   "CSV",
	TSV:   "TSV",
	FIXED: "FIXED",
	JSON:  "JSON",
	LTSV:  "LTSV",
	GFM:   "GFM",
	ORG:   "ORG",
	TEXT:  "TEXT",
}
View Source
var ImportFormats = []Format{
	CSV,
	TSV,
	FIXED,
	JSON,
	LTSV,
}
View Source
var JsonEscapeTypeLiteral = map[txjson.EscapeType]string{
	txjson.Backslash:        "BACKSLASH",
	txjson.HexDigits:        "HEX",
	txjson.AllWithHexDigits: "HEXALL",
}
View Source
var (
	TestTime time.Time // For Tests

)

Functions

func AppendStrIfNotExist added in v1.6.0

func AppendStrIfNotExist(list []string, elem string) []string

func EnclosedEnvironmentVariableSymbol added in v1.7.0

func EnclosedEnvironmentVariableSymbol(s string) string

func EnvironmentVariableSymbol added in v1.7.0

func EnvironmentVariableSymbol(s string) string

func Error added in v1.6.0

func Error(s string) string

func EscapeIdentifier added in v1.5.3

func EscapeIdentifier(s string) string

func EscapeString added in v0.8.0

func EscapeString(s string) string

func FlagSymbol added in v1.6.0

func FlagSymbol(s string) string

func FormatInt added in v1.5.3

func FormatInt(i int, thousandsSeparator string) string

func FormatNumber added in v1.5.3

func FormatNumber(f float64, precision int, decimalPoint string, thousandsSeparator string, decimalSeparator string) string

func GetCSVQConfigDirFilePath added in v1.6.0

func GetCSVQConfigDirFilePath(filename string) string

func GetConfigDirFilePath added in v1.6.0

func GetConfigDirFilePath(filename string) string

func GetCurrentDirFilePath added in v1.6.0

func GetCurrentDirFilePath(filename string) string

func GetDefaultNumberOfCPU added in v1.8.0

func GetDefaultNumberOfCPU() int

func GetHomeDirFilePath added in v1.6.0

func GetHomeDirFilePath(filename string) string

func GetLocation

func GetLocation() *time.Location

func GetPalette added in v1.6.0

func GetPalette() *color.Palette

func GetRand

func GetRand() *rand.Rand

func GetSpecialFilePath added in v1.6.0

func GetSpecialFilePath(filename string) []string

func IsReadableFromPipeOrRedirection added in v0.8.0

func IsReadableFromPipeOrRedirection(fp *os.File) bool

func JsonEscapeTypeToString added in v1.6.1

func JsonEscapeTypeToString(escapeType txjson.EscapeType) string

func LoadPalette added in v1.9.3

func LoadPalette(env *Environment) (err error)

func MustBeEnclosed added in v1.7.0

func MustBeEnclosed(s string) bool

func Notice added in v1.6.0

func Notice(s string) string

func Now

func Now() time.Time

func ParseDelimiter added in v1.5.0

func ParseDelimiter(s string) (rune, error)

func ParseDelimiterPositions added in v1.9.0

func ParseDelimiterPositions(s string) ([]int, bool, error)

func ParseEncoding

func ParseEncoding(s string) (text.Encoding, error)

func ParseJsonEscapeType added in v1.6.1

func ParseJsonEscapeType(s string) (txjson.EscapeType, error)

func ParseLineBreak added in v1.5.0

func ParseLineBreak(s string) (text.LineBreak, error)

func QuoteIdentifier added in v1.5.3

func QuoteIdentifier(s string) string

func QuoteString added in v1.5.3

func QuoteString(s string) string

func RuneWidth added in v1.6.0

func RuneWidth(r rune, flags *Flags) int

func RuntimeInformationSymbol added in v1.7.0

func RuntimeInformationSymbol(s string) string

func TextWidth added in v1.6.0

func TextWidth(s string, flags *Flags) int

func UnescapeIdentifier added in v1.5.3

func UnescapeIdentifier(s string) string

func UnescapeString added in v0.1.5

func UnescapeString(s string) string

func VariableSymbol added in v1.7.0

func VariableSymbol(s string) string

func Warn added in v1.6.0

func Warn(s string) string

Types

type Environment added in v1.6.0

type Environment struct {
	DatetimeFormat       []string            `json:"datetime_format"`
	InteractiveShell     InteractiveShell    `json:"interactive_shell"`
	EnvironmentVariables map[string]string   `json:"environment_variables"`
	Palette              color.PaletteConfig `json:"palette"`
}

func NewEnvironment added in v1.9.3

func NewEnvironment(ctx context.Context, defaultWaitTimeout time.Duration, retryDelay time.Duration) (*Environment, error)

func (*Environment) Load added in v1.9.3

func (e *Environment) Load(ctx context.Context, defaultWaitTimeout time.Duration, retryDelay time.Duration) (err error)

func (*Environment) Merge added in v1.6.0

func (e *Environment) Merge(e2 *Environment)

type Flags

type Flags struct {
	// Common Settings
	Repository     string
	Location       string
	DatetimeFormat []string

	// Must be updated from Transaction
	WaitTimeout float64

	// For Import
	ImportFormat       Format
	Delimiter          rune
	DelimiterPositions []int
	SingleLine         bool
	JsonQuery          string
	Encoding           text.Encoding
	NoHeader           bool
	WithoutNull        bool

	// For Export
	Format                  Format
	WriteEncoding           text.Encoding
	WriteDelimiter          rune
	WriteDelimiterPositions []int
	WriteAsSingleLine       bool
	WithoutHeader           bool
	LineBreak               text.LineBreak
	EncloseAll              bool
	JsonEscape              txjson.EscapeType
	PrettyPrint             bool

	// For Calculation of String Width
	EastAsianEncoding    bool
	CountDiacriticalSign bool
	CountFormatCode      bool

	// ANSI Color Sequence
	Color bool

	// System Use
	Quiet bool
	CPU   int
	Stats bool
}

func NewFlags added in v1.9.3

func NewFlags(env *Environment) *Flags

func (*Flags) SetCPU added in v1.6.0

func (f *Flags) SetCPU(i int)

func (*Flags) SetColor added in v1.6.0

func (f *Flags) SetColor(b bool)

func (*Flags) SetCountDiacriticalSign added in v1.6.0

func (f *Flags) SetCountDiacriticalSign(b bool)

func (*Flags) SetCountFormatCode added in v1.6.0

func (f *Flags) SetCountFormatCode(b bool)

func (*Flags) SetDatetimeFormat added in v1.6.0

func (f *Flags) SetDatetimeFormat(s string)

func (*Flags) SetDelimiter added in v1.6.0

func (f *Flags) SetDelimiter(s string) error

func (*Flags) SetDelimiterPositions added in v1.9.0

func (f *Flags) SetDelimiterPositions(s string) error

func (*Flags) SetEastAsianEncoding added in v1.6.0

func (f *Flags) SetEastAsianEncoding(b bool)

func (*Flags) SetEncloseAll added in v1.6.0

func (f *Flags) SetEncloseAll(b bool)

func (*Flags) SetEncoding added in v1.6.0

func (f *Flags) SetEncoding(s string) error

func (*Flags) SetFormat added in v1.6.0

func (f *Flags) SetFormat(s string, outfile string) error

func (*Flags) SetImportFormat added in v1.9.0

func (f *Flags) SetImportFormat(s string) error

func (*Flags) SetJsonEscape added in v1.6.1

func (f *Flags) SetJsonEscape(s string) error

func (*Flags) SetJsonQuery added in v1.6.0

func (f *Flags) SetJsonQuery(s string)

func (*Flags) SetLineBreak added in v1.6.0

func (f *Flags) SetLineBreak(s string) error

func (*Flags) SetLocation added in v1.6.0

func (f *Flags) SetLocation(s string) error

func (*Flags) SetNoHeader added in v1.6.0

func (f *Flags) SetNoHeader(b bool)

func (*Flags) SetPrettyPrint added in v1.6.0

func (f *Flags) SetPrettyPrint(b bool)

func (*Flags) SetQuiet added in v1.6.0

func (f *Flags) SetQuiet(b bool)

func (*Flags) SetRepository added in v1.6.0

func (f *Flags) SetRepository(s string) error

func (*Flags) SetStats added in v1.6.0

func (f *Flags) SetStats(b bool)

func (*Flags) SetWaitTimeout added in v1.6.0

func (f *Flags) SetWaitTimeout(t float64)

func (*Flags) SetWithoutHeader added in v1.6.0

func (f *Flags) SetWithoutHeader(b bool)

func (*Flags) SetWithoutNull added in v1.6.0

func (f *Flags) SetWithoutNull(b bool)

func (*Flags) SetWriteDelimiter added in v1.6.0

func (f *Flags) SetWriteDelimiter(s string) error

func (*Flags) SetWriteDelimiterPositions added in v1.9.0

func (f *Flags) SetWriteDelimiterPositions(s string) error

func (*Flags) SetWriteEncoding added in v1.6.0

func (f *Flags) SetWriteEncoding(s string) error

type Format

type Format int
const (
	AutoSelect Format = -1 + iota
	CSV
	TSV
	FIXED
	JSON
	LTSV
	GFM
	ORG
	TEXT
)

func ParseFormat added in v1.5.0

func ParseFormat(s string, et txjson.EscapeType) (Format, txjson.EscapeType, error)

func (Format) String added in v1.1.0

func (f Format) String() string

type InteractiveShell added in v1.6.0

type InteractiveShell struct {
	HistoryFile      string `json:"history_file"`
	HistoryLimit     *int   `json:"history_limit"`
	Prompt           string `json:"prompt"`
	ContinuousPrompt string `json:"continuous_prompt"`
	Completion       *bool  `json:"completion"`
	KillWholeLine    *bool  `json:"kill_whole_line"`
	ViMode           *bool  `json:"vi_mode"`
}

Jump to

Keyboard shortcuts

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