config

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ActivateGroupID   = "activate"
	DeactivateGroupID = "deactivate"
	LaunchGroupID     = "launch"
	CreationGroupID   = "creation"
)
View Source
const DefaultTimeout = 30 * time.Minute
View Source
const (
	ReservedEnvVarPrefix = "FLOW_"
)

Variables

View Source
var (
	ValidVerbToGroupID = map[string]string{
		"exec":      ActivateGroupID,
		"run":       ActivateGroupID,
		"start":     ActivateGroupID,
		"install":   ActivateGroupID,
		"setup":     ActivateGroupID,
		"delete":    DeactivateGroupID,
		"remove":    DeactivateGroupID,
		"uninstall": DeactivateGroupID,
		"teardown":  DeactivateGroupID,
		"destroy":   DeactivateGroupID,
		"open":      LaunchGroupID,
		"launch":    LaunchGroupID,
		"edit":      LaunchGroupID,
		"show":      LaunchGroupID,
		"view":      LaunchGroupID,
		"render":    LaunchGroupID,
		"process":   LaunchGroupID,
		"transform": LaunchGroupID,
		"generate":  CreationGroupID,
		"add":       CreationGroupID,
		"new":       CreationGroupID,
	}
)

Functions

func NewExecutableID

func NewExecutableID(workspace, namespace, name string) string

func ParseExecutableID

func ParseExecutableID(id string) (workspace, namespace, name string)

func SortedValidVerbs added in v0.1.0

func SortedValidVerbs() []string

func ValidVerbs

func ValidVerbs() []string

Types

type Aliases

type Aliases []string

func (Aliases) HasAlias

func (a Aliases) HasAlias(alias string) bool

type Argument added in v0.1.3

type Argument struct {
	// +docsgen:envKey
	// The name of the environment variable that will be assigned the value.
	EnvKey string `yaml:"envKey"`
	// +docsgen:typeArg
	// The type of the argument. This is used to determine how to parse the value of the argument.
	// String is the default type.
	Type string `yaml:"type"`
	// +docsgen:default
	// The default value of the argument. If the argument is not set, this value will be used.
	Default string `yaml:"default"`
	// +docsgen:required
	// If true, the argument must be set. If false, the default value will be used if the argument is not set.
	Required bool `yaml:"required"`

	// +docsgen:flag
	// The flag to use when setting the argument from the command line.
	// Either `flag` or `pos` must be set, but not both.
	Flag string `yaml:"flag"`
	// +docsgen:pos
	// The position of the argument in the command line arguments. Values start at 1.
	// Either `flag` or `pos` must be set, but not both.
	Pos int `yaml:"pos"`
	// contains filtered or unexported fields
}

func (*Argument) Set added in v0.1.3

func (a *Argument) Set(value string)

func (*Argument) Validate added in v0.1.3

func (a *Argument) Validate() error

func (*Argument) ValidateValue added in v0.1.3

func (a *Argument) ValidateValue() error

func (*Argument) Value added in v0.1.3

func (a *Argument) Value() string

type ArgumentList added in v0.1.3

type ArgumentList []Argument

func (*ArgumentList) SetValues added in v0.1.3

func (al *ArgumentList) SetValues(flagArgs map[string]string, posArgs []string) error

func (*ArgumentList) ToEnvMap added in v0.1.3

func (al *ArgumentList) ToEnvMap() map[string]string

func (*ArgumentList) Validate added in v0.1.3

func (al *ArgumentList) Validate() error

func (*ArgumentList) ValidateValues added in v0.1.3

func (al *ArgumentList) ValidateValues() error

type Collection added in v0.1.0

type Collection interface {
	Items() []CollectionItem
	YAML() (string, error)
	JSON(formatted bool) (string, error)
	Singular() string
	Plural() string
}

type CollectionItem added in v0.1.0

type CollectionItem struct {
	Header      string
	SubHeader   string
	Description string
	Tags        Tags
}

type Entity added in v0.1.0

type Entity interface {
	YAML() (string, error)
	JSON(formatted bool) (string, error)
	Markdown() string
}

type ExecExecutableType

type ExecExecutableType struct {
	ExecutableDirectory   `yaml:",inline"`
	ExecutableEnvironment `yaml:",inline"`

	Command string  `yaml:"cmd,omitempty"`
	File    string  `yaml:"file,omitempty"`
	LogMode LogMode `yaml:"logMode,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecExecutableType) GetLogFields

func (e *ExecExecutableType) GetLogFields() map[string]interface{}

func (*ExecExecutableType) SetLogFields

func (e *ExecExecutableType) SetLogFields(fields map[string]interface{})

type Executable

type Executable struct {
	Verb        Verb           `yaml:"verb,omitempty"`
	Name        string         `yaml:"name,omitempty"`
	Aliases     []string       `yaml:"aliases,omitempty"`
	Tags        Tags           `yaml:"tags,omitempty"`
	Description string         `yaml:"description,omitempty"`
	Visibility  VisibilityType `yaml:"visibility,omitempty"`
	Timeout     time.Duration  `yaml:"timeout,omitempty"`
	// +docsgen:typeExec
	// The type of executable. Only one type can be set.
	Type *ExecutableTypeSpec `yaml:"type,omitempty"`
	// contains filtered or unexported fields
}

func (*Executable) AliasesIDs

func (e *Executable) AliasesIDs() []string

func (*Executable) DefinitionPath

func (e *Executable) DefinitionPath() string

func (*Executable) Env added in v0.1.3

func (*Executable) ID

func (e *Executable) ID() string

func (*Executable) IsExecutableFromWorkspace

func (e *Executable) IsExecutableFromWorkspace(workspace string) bool

IsExecutableFromWorkspace returns true if the executable can be executed from the given workspace.

func (*Executable) IsVisibleFromWorkspace

func (e *Executable) IsVisibleFromWorkspace(workspaceFilter string) bool

IsVisibleFromWorkspace returns true if the executable should be shown in terminal output for the given workspace.

func (*Executable) JSON added in v0.1.0

func (e *Executable) JSON() (string, error)

func (*Executable) Markdown added in v0.1.0

func (e *Executable) Markdown() string

func (*Executable) MergeTags

func (e *Executable) MergeTags(tags Tags)

func (*Executable) MergeVisibility

func (e *Executable) MergeVisibility(visibility VisibilityType)

func (*Executable) NameEquals

func (e *Executable) NameEquals(name string) bool

func (*Executable) Ref

func (e *Executable) Ref() Ref

func (*Executable) SetContext

func (e *Executable) SetContext(workspaceName, workspacePath, namespace, definitionPath string)

func (*Executable) SetDefaults

func (e *Executable) SetDefaults()

func (*Executable) Validate

func (e *Executable) Validate() error

func (*Executable) WorkspacePath

func (e *Executable) WorkspacePath() string

func (*Executable) YAML added in v0.1.0

func (e *Executable) YAML() (string, error)

type ExecutableDefinition

type ExecutableDefinition struct {
	// +docsgen:namespace
	// The namespace of the executable definition. This is used to group executables together.
	// If not set, the executables in the definition will be grouped into the root (*) namespace.
	// Namespaces can be reused across multiple definitions.
	Namespace string `yaml:"namespace,omitempty"`
	Tags      Tags   `yaml:"tags,omitempty"`
	// +docsgen:visibility
	// The visibility of the executables to Flow.
	// If not set, the visibility will default to `public`.
	//
	// `public` executables can be executed and listed from anywhere.
	// `private` executables can be executed and listed only within their own workspace.
	// `internal` executables can be executed within their own workspace but are not listed.
	// `hidden` executables cannot be executed or listed.
	Visibility VisibilityType `yaml:"visibility,omitempty"`
	// +docsgen:executables
	// A list of executables to be defined in the executable definition.
	Executables ExecutableList `yaml:"executables,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecutableDefinition) DefinitionPath

func (d *ExecutableDefinition) DefinitionPath() string

func (*ExecutableDefinition) SetContext

func (d *ExecutableDefinition) SetContext(workspaceName, workspacePath, definitionPath string)

func (*ExecutableDefinition) SetDefaults

func (d *ExecutableDefinition) SetDefaults()

func (*ExecutableDefinition) WorkspacePath

func (d *ExecutableDefinition) WorkspacePath() string

type ExecutableDefinitionList

type ExecutableDefinitionList []*ExecutableDefinition

func (*ExecutableDefinitionList) FilterByNamespace

func (l *ExecutableDefinitionList) FilterByNamespace(namespace string) ExecutableDefinitionList

func (*ExecutableDefinitionList) FilterByTag

type ExecutableDefinitionTemplate added in v0.1.3

type ExecutableDefinitionTemplate struct {
	// +docsgen:data
	// A list of template data to be used when rendering the executable definition.
	Data TemplateData `yaml:"data"`
	// +docsgen:artifacts
	// A list of files to include when copying the template in a new location. The files are copied as-is.
	Artifacts []string `yaml:"artifacts,omitempty"`

	*ExecutableDefinition `yaml:",inline"`
	// contains filtered or unexported fields
}

func (*ExecutableDefinitionTemplate) Location added in v0.1.3

func (t *ExecutableDefinitionTemplate) Location() string

func (*ExecutableDefinitionTemplate) SetContext added in v0.1.3

func (t *ExecutableDefinitionTemplate) SetContext(location string)

func (*ExecutableDefinitionTemplate) Validate added in v0.1.3

func (t *ExecutableDefinitionTemplate) Validate() error

type ExecutableDirectory added in v0.1.3

type ExecutableDirectory struct {
	// +docsgen:dir
	// The directory to execute the command in.
	// If unset, the directory of the executable definition will be used.
	// If set to `f:tmp`, a temporary directory will be created for the process.
	// If prefixed with `./`, the path will be relative to the current working directory.
	// If prefixed with `//`, the path will be relative to the workspace root.
	// Environment variables in the path will be expended at runtime.
	Directory string `yaml:"dir,omitempty"`
}

func (*ExecutableDirectory) ExpandDirectory added in v0.1.3

func (e *ExecutableDirectory) ExpandDirectory(
	logger *io.Logger,
	wsPath, execPath, processTmpDir string,
	env map[string]string,
) (dir string, isTmpDir bool, err error)

type ExecutableEnvironment added in v0.1.3

type ExecutableEnvironment struct {
	// +docsgen:params
	// List of parameters to pass to the executable.
	Parameters ParameterList `yaml:"params,omitempty"`
	// +docgen:args
	// List of arguments to pass to the executable.
	Args ArgumentList `yaml:"args,omitempty"`
}

type ExecutableList

type ExecutableList []*Executable

func (ExecutableList) FilterByNamespace

func (l ExecutableList) FilterByNamespace(ns string) ExecutableList

func (ExecutableList) FilterByTags

func (l ExecutableList) FilterByTags(tags Tags) ExecutableList

func (ExecutableList) FilterByVerb

func (l ExecutableList) FilterByVerb(verb Verb) ExecutableList

func (ExecutableList) FilterByWorkspace

func (l ExecutableList) FilterByWorkspace(ws string) ExecutableList

func (ExecutableList) FindByVerbAndID

func (l ExecutableList) FindByVerbAndID(verb Verb, id string) (*Executable, error)

func (ExecutableList) Items added in v0.1.0

func (l ExecutableList) Items() []*types.CollectionItem

func (ExecutableList) JSON added in v0.1.0

func (l ExecutableList) JSON() (string, error)

func (ExecutableList) Plural added in v0.1.0

func (l ExecutableList) Plural() string

func (ExecutableList) Singular added in v0.1.0

func (l ExecutableList) Singular() string

func (ExecutableList) YAML added in v0.1.0

func (l ExecutableList) YAML() (string, error)

type ExecutableLocationConfig added in v0.1.0

type ExecutableLocationConfig struct {
	// +docsgen:included
	// A list of directories to include in the executable search.
	Included []string `json:"included,omitempty" yaml:"included,omitempty"`
	// +docsgen:excluded
	// A list of directories to exclude from the executable search.
	Excluded []string `json:"excluded,omitempty" yaml:"excluded,omitempty"`
}

type ExecutableTypeSpec

type ExecutableTypeSpec struct {
	// +docsgen:exec
	// Standard executable type. Runs a command/file in a subprocess.
	Exec *ExecExecutableType `yaml:"exec,omitempty"`
	// +docsgen:launch
	// Launches an application or opens a URI.
	Launch *LaunchExecutableType `yaml:"launch,omitempty"`
	// +docsgen:request
	// Makes an HTTP request.
	Request *RequestExecutableType `yaml:"request,omitempty"`
	// +docsgen:render
	// Renders a Markdown template with provided data. Requires the Interactive UI.
	Render *RenderExecutableType `yaml:"render,omitempty"`
	// +docsgen:serial
	// Runs a list of executables in serial.
	Serial *SerialExecutableType `yaml:"serial,omitempty"`
	// +docsgen:parallel
	// Runs a list of executables in parallel.
	Parallel *ParallelExecutableType `yaml:"parallel,omitempty"`
}

type GitConfig

type GitConfig struct {
	Enabled bool `json:"enabled" yaml:"enabled"`

	// +docsgen:pullOnSync
	// Whether to pull the latest changes from the remote when syncing.
	PullOnSync bool `json:"pullOnSync,omitempty" yaml:"pullOnSync,omitempty"`
}

type InteractiveConfig added in v0.1.0

type InteractiveConfig struct {
	Enabled bool `json:"enabled" yaml:"enabled"`
	// +docsgen:notify
	// Whether to send a desktop notification when a command completes.
	NotifyOnCompletion bool `json:"notify" yaml:"notify"`
	// +docsgen:sound
	// Whether to play a sound when a command completes.
	SoundOnCompletion bool `json:"sound" yaml:"sound"`
}

type LaunchExecutableType

type LaunchExecutableType struct {
	ExecutableEnvironment `yaml:",inline"`

	App  string `yaml:"app,omitempty"`
	URI  string `yaml:"uri,omitempty"`
	Wait bool   `yaml:"wait,omitempty"`
}

type LogMode

type LogMode string
const (
	NoLogMode         LogMode = "none"
	StructuredLogMode LogMode = "structured"
	RawLogMode        LogMode = "raw"
)

type ParallelExecutableType

type ParallelExecutableType struct {
	ExecutableEnvironment `yaml:",inline"`

	ExecutableRefs []Ref `yaml:"refs,omitempty"`
	MaxThreads     int   `yaml:"maxThreads,omitempty"`
	FailFast       bool  `yaml:"failFast,omitempty"`
}

type Parameter

type Parameter struct {
	// +docsgen:text
	// A static value to be passed to the executable.
	Text string `yaml:"text"`
	// +docsgen:prompt
	// A prompt to be displayed to the user when collecting an input value.
	Prompt string `yaml:"prompt"`
	// +docsgen:secretRef
	// A reference to a secret to be passed to the executable.
	SecretRef string `yaml:"secretRef"`
	// +docsgen:envKey
	// The name of the environment variable that will be assigned the value.
	EnvKey string `yaml:"envKey"`
}

+docsgen:param A parameter is a value that can be passed to an executable and all of its sub-executables. Only one of `text`, `secretRef`, or `prompt` must be set. Specifying more than one will result in an error.

func (*Parameter) Validate

func (p *Parameter) Validate() error

type ParameterList

type ParameterList []Parameter

type Ref

type Ref string

+docsgen:ref A reference to an executable. The format is `<verb> <workspace>/<namespace>:<executable name>`. For example, `exec ws/ns:my-flow`.

The workspace and namespace are optional. If the workspace is not specified, the current workspace will be used. If the namespace is not specified, the current namespace will be used.

func NewRef

func NewRef(id string, verb Verb) Ref

func (Ref) Equals

func (r Ref) Equals(other Ref) bool

func (Ref) GetID

func (r Ref) GetID() string

func (Ref) GetVerb

func (r Ref) GetVerb() Verb

func (Ref) String

func (r Ref) String() string

func (Ref) Validate

func (r Ref) Validate() error

type RenderExecutableType added in v0.1.0

type RenderExecutableType struct {
	ExecutableDirectory   `yaml:",inline"`
	ExecutableEnvironment `yaml:",inline"`

	TemplateFile     string `yaml:"templateFile,omitempty"`
	TemplateDataFile string `yaml:"templateDataFile,omitempty"`
}

type RequestExecutableType added in v0.1.0

type RequestExecutableType struct {
	ExecutableEnvironment `yaml:",inline"`

	Method  string            `yaml:"method,omitempty"`
	URL     string            `yaml:"url,omitempty"`
	Body    string            `yaml:"body,omitempty"`
	Headers map[string]string `yaml:"headers,omitempty"`
	Timeout time.Duration     `yaml:"timeout,omitempty"`

	ResponseFile      *RequestResponseFile `yaml:"responseFile,omitempty"`
	TransformResponse string               `yaml:"transformResponse,omitempty"`
	LogResponse       bool                 `yaml:"logResponse,omitempty"`
	ValidStatusCodes  []int                `yaml:"validStatusCodes,omitempty"`
}

type RequestResponseFile added in v0.1.0

type RequestResponseFile struct {
	ExecutableDirectory `yaml:",inline"`

	Filename string `yaml:"filename,omitempty"`
	SaveAs   string `yaml:"saveAs,omitempty"`
}

type SerialExecutableType

type SerialExecutableType struct {
	ExecutableEnvironment `yaml:",inline"`

	// +docsgen:refs
	// List of executables references
	ExecutableRefs []Ref `yaml:"refs,omitempty"`
	FailFast       bool  `yaml:"failFast,omitempty"`
}

type Tags

type Tags []string

+docsgen:tags A list of tags. Tags can be used with list commands to filter returned data.

func (Tags) ContextString added in v0.1.0

func (t Tags) ContextString() string

func (Tags) HasAnyTag

func (t Tags) HasAnyTag(tags Tags) bool

func (Tags) HasTag

func (t Tags) HasTag(tag string) bool

func (Tags) PreviewString added in v0.1.0

func (t Tags) PreviewString() string

func (Tags) String added in v0.1.0

func (t Tags) String() string

type TemplateData added in v0.1.3

type TemplateData []TemplateDataEntry

func (*TemplateData) MapInterface added in v0.1.3

func (t *TemplateData) MapInterface() map[string]interface{}

func (*TemplateData) Set added in v0.1.3

func (t *TemplateData) Set(key, value string)

func (*TemplateData) Validate added in v0.1.3

func (t *TemplateData) Validate() error

func (*TemplateData) ValidateValues added in v0.1.3

func (t *TemplateData) ValidateValues() error

type TemplateDataEntry added in v0.1.3

type TemplateDataEntry struct {
	// +docsgen:key
	// The key to associate the data with. This is used as the key in the template data map.
	Key string `yaml:"key"`
	// +docsgen:prompt
	// A prompt to be displayed to the user when collecting an input value.
	Prompt string `yaml:"prompt"`
	// +docsgen:default
	// The default value to use if the template data is not set.
	Default string `yaml:"default"`
	// +docsgen:required
	// If true, the template data must be set. If false, the default value will be used if the template data is not set.
	Required bool `yaml:"required"`
	// contains filtered or unexported fields
}

func (*TemplateDataEntry) Set added in v0.1.3

func (t *TemplateDataEntry) Set(value string)

func (*TemplateDataEntry) Validate added in v0.1.3

func (t *TemplateDataEntry) Validate() error

func (*TemplateDataEntry) ValidateValue added in v0.1.3

func (t *TemplateDataEntry) ValidateValue() error

func (*TemplateDataEntry) Value added in v0.1.3

func (t *TemplateDataEntry) Value() string

type UserConfig

type UserConfig struct {
	// +docsgen:workspaces
	// Map of workspace names to their paths.
	Workspaces map[string]string `json:"workspaces" yaml:"workspaces"`
	// +docsgen:currentWorkspace
	// The name of the current workspace. This should match a key in the `workspaces` map.
	CurrentWorkspace string `json:"currentWorkspace" yaml:"currentWorkspace"`
	// +docsgen:workspaceMode
	// The mode of the workspace. This can be either `fixed` or `dynamic`.
	// In `fixed` mode, the current workspace used at runtime is always the one set in the currentWorkspace config field.
	// In `dynamic` mode, the current workspace used at runtime is determined by the current directory.
	// If the current directory is within a workspace, that workspace is used.
	WorkspaceMode WorkspaceMode `json:"workspaceMode" yaml:"workspaceMode"`
	// +docsgen:currentNamespace
	// The name of the current namespace. This is not required to be set.
	CurrentNamespace string `json:"currentNamespace" yaml:"currentNamespace"`
	// +docsgen:interactive
	// Configurations for the interactive UI.
	Interactive *InteractiveConfig `json:"interactive" yaml:"interactive"`
	// +docsgen:templates
	// A map of executable definition template names to their paths.
	Templates map[string]string `json:"templates,omitempty" yaml:"templates,omitempty"`
}

func (*UserConfig) JSON added in v0.1.0

func (c *UserConfig) JSON() (string, error)

func (*UserConfig) Markdown added in v0.1.0

func (c *UserConfig) Markdown() string

func (*UserConfig) Validate

func (c *UserConfig) Validate() error

func (*UserConfig) YAML added in v0.1.0

func (c *UserConfig) YAML() (string, error)

type Verb

type Verb string

+docsgen:verb Keywords that describe the action an executable performs. While executables are configured with a single verb, the verb can be aliased to related verbs. For example, the `exec` verb can replaced with "run" or "start" when referencing an executable. This allows users to use the verb that best describes the action they are performing.

**Activation verbs**: `exec`, `run`, `start`, `install`, `setup` **Deactivation verbs**: `delete`, `remove`, `uninstall`, `teardown`, `destroy` **Launch verbs**: `open`, `launch`, `edit`, `show`, `view`, `render`, `process`, `transform`, `generate`

func RelatedVerbs

func RelatedVerbs(verb Verb) []Verb

func (Verb) Equals

func (v Verb) Equals(other Verb) bool

func (Verb) String

func (v Verb) String() string

func (Verb) Validate

func (v Verb) Validate() error

type VisibilityType

type VisibilityType string
const (
	// VisibilityPublic is executable and visible across all workspaces.
	VisibilityPublic VisibilityType = "public"
	// VisibilityPrivate is executable and visible only within it's own workspace.
	VisibilityPrivate VisibilityType = "private"
	// VisibilityInternal is not visible but can be executed within a workspace.
	VisibilityInternal VisibilityType = "internal"
	// VisibilityHidden is not executable or visible.
	VisibilityHidden VisibilityType = "hidden"
)

func (VisibilityType) IsHidden

func (v VisibilityType) IsHidden() bool

func (VisibilityType) IsInternal

func (v VisibilityType) IsInternal() bool

func (VisibilityType) IsPrivate

func (v VisibilityType) IsPrivate() bool

func (VisibilityType) IsPublic

func (v VisibilityType) IsPublic() bool

func (VisibilityType) String added in v0.1.0

func (v VisibilityType) String() string

type WorkspaceConfig

type WorkspaceConfig struct {
	// +docsgen:displayName
	// The display name of the workspace. This is used in the interactive UI.
	DisplayName string                    `json:"displayName"           yaml:"displayName"`
	Description string                    `json:"description,omitempty" yaml:"description,omitempty"`
	Tags        Tags                      `json:"tags,omitempty"        yaml:"tags,omitempty"`
	Git         *GitConfig                `json:"git,omitempty"         yaml:"git,omitempty"`
	Executables *ExecutableLocationConfig `json:"executables,omitempty" yaml:"executables,omitempty"`
	// contains filtered or unexported fields
}

func DefaultWorkspaceConfig

func DefaultWorkspaceConfig(name string) *WorkspaceConfig

func (*WorkspaceConfig) AssignedName

func (c *WorkspaceConfig) AssignedName() string

func (*WorkspaceConfig) JSON added in v0.1.0

func (c *WorkspaceConfig) JSON() (string, error)

func (*WorkspaceConfig) Location

func (c *WorkspaceConfig) Location() string

func (*WorkspaceConfig) Markdown added in v0.1.0

func (c *WorkspaceConfig) Markdown() string

func (*WorkspaceConfig) SetContext

func (c *WorkspaceConfig) SetContext(name, location string)

func (*WorkspaceConfig) YAML added in v0.1.0

func (c *WorkspaceConfig) YAML() (string, error)

type WorkspaceConfigList added in v0.1.0

type WorkspaceConfigList []WorkspaceConfig

func (WorkspaceConfigList) Items added in v0.1.0

func (WorkspaceConfigList) JSON added in v0.1.0

func (l WorkspaceConfigList) JSON() (string, error)

func (WorkspaceConfigList) Plural added in v0.1.0

func (l WorkspaceConfigList) Plural() string

func (WorkspaceConfigList) Singular added in v0.1.0

func (l WorkspaceConfigList) Singular() string

func (WorkspaceConfigList) YAML added in v0.1.0

func (l WorkspaceConfigList) YAML() (string, error)

type WorkspaceMode added in v0.1.3

type WorkspaceMode string
const (
	WorkspaceModeFixed   WorkspaceMode = "fixed"
	WorkspaceModeDynamic WorkspaceMode = "dynamic"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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