tmux

package
v0.265.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2025 License: Apache-2.0 Imports: 13 Imported by: 0

README

tmux

Helper functions to orchestrate tmux.

An example usage to orchestrate the input to another binary can be found in the TestTemuxWindow_WaitOutputMatchesRegex defined in TmuxWindow_test.go.

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrTmuxWindowCliPromptNotReady = errors.New("tmux window CLI promptnot ready")

Functions

func IsTmuxKey added in v0.249.0

func IsTmuxKey(input string) (isKey bool)

Returns true if input string is a valid tmux key like "enter". Returns false otherwise.

Types

type TmuxService

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

func GetTmuxOnLocalMachine

func GetTmuxOnLocalMachine() (tmux *TmuxService, err error)

func MustGetTmuxOnLocalMachine

func MustGetTmuxOnLocalMachine() (tmux *TmuxService)

func NewTmuxService

func NewTmuxService() (t *TmuxService)

func (*TmuxService) GetCommandExecutor

func (t *TmuxService) GetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor, err error)

func (*TmuxService) GetSessionByName

func (t *TmuxService) GetSessionByName(name string) (tmuxSession *TmuxSession, err error)

func (*TmuxService) GetWindowByNames

func (t *TmuxService) GetWindowByNames(sessionName string, windowName string) (window *TmuxWindow, err error)

func (*TmuxService) ListSessionNames

func (t *TmuxService) ListSessionNames(verbose bool) (sessionNames []string, err error)

func (*TmuxService) MustGetCommandExecutor

func (t *TmuxService) MustGetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor)

func (*TmuxService) MustGetSessionByName

func (t *TmuxService) MustGetSessionByName(name string) (tmuxSession *TmuxSession)

func (*TmuxService) MustGetWindowByNames

func (t *TmuxService) MustGetWindowByNames(sessionName string, windowName string) (window *TmuxWindow)

func (*TmuxService) MustListSessionNames

func (t *TmuxService) MustListSessionNames(verbose bool) (sessionNames []string)

func (*TmuxService) MustSetCommandExecutor

func (t *TmuxService) MustSetCommandExecutor(commandExecutor commandexecutor.CommandExecutor)

func (*TmuxService) SetCommandExecutor

func (t *TmuxService) SetCommandExecutor(commandExecutor commandexecutor.CommandExecutor) (err error)

type TmuxSession

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

func NewTmuxSession

func NewTmuxSession() (t *TmuxSession)

func (*TmuxSession) Create

func (t *TmuxSession) Create(verbose bool) (err error)

func (*TmuxSession) Delete

func (t *TmuxSession) Delete(verbose bool) (err error)

func (*TmuxSession) Exists

func (t *TmuxSession) Exists(verbose bool) (exists bool, err error)

func (*TmuxSession) GetCommandExecutor

func (t *TmuxSession) GetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor, err error)

func (*TmuxSession) GetName

func (t *TmuxSession) GetName() (name string, err error)

func (*TmuxSession) GetTmux

func (t *TmuxSession) GetTmux() (tmux *TmuxService, err error)

func (*TmuxSession) GetWindowByName

func (t *TmuxSession) GetWindowByName(windowName string) (window *TmuxWindow, err error)

func (*TmuxSession) ListWindowNames

func (t *TmuxSession) ListWindowNames(verbose bool) (windowsNames []string, err error)

func (*TmuxSession) MustCreate

func (t *TmuxSession) MustCreate(verbose bool)

func (*TmuxSession) MustDelete

func (t *TmuxSession) MustDelete(verbose bool)

func (*TmuxSession) MustExists

func (t *TmuxSession) MustExists(verbose bool) (exists bool)

func (*TmuxSession) MustGetCommandExecutor

func (t *TmuxSession) MustGetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor)

func (*TmuxSession) MustGetName

func (t *TmuxSession) MustGetName() (name string)

func (*TmuxSession) MustGetTmux

func (t *TmuxSession) MustGetTmux() (tmux *TmuxService)

func (*TmuxSession) MustGetWindowByName

func (t *TmuxSession) MustGetWindowByName(windowName string) (window *TmuxWindow)

func (*TmuxSession) MustListWindowNames

func (t *TmuxSession) MustListWindowNames(verbose bool) (windowsNames []string)

func (*TmuxSession) MustRecreate

func (t *TmuxSession) MustRecreate(verbose bool)

func (*TmuxSession) MustSetName

func (t *TmuxSession) MustSetName(name string)

func (*TmuxSession) MustSetTmux

func (t *TmuxSession) MustSetTmux(tmux *TmuxService)

func (*TmuxSession) Recreate

func (t *TmuxSession) Recreate(verbose bool) (err error)

func (*TmuxSession) SetName

func (t *TmuxSession) SetName(name string) (err error)

func (*TmuxSession) SetTmux

func (t *TmuxSession) SetTmux(tmux *TmuxService) (err error)

type TmuxWindow

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

func NewTmuxWindow

func NewTmuxWindow() (t *TmuxWindow)

func (*TmuxWindow) Create

func (t *TmuxWindow) Create(verbose bool) (err error)

func (*TmuxWindow) Delete

func (t *TmuxWindow) Delete(verbose bool) (err error)

func (*TmuxWindow) DeleteSession

func (t *TmuxWindow) DeleteSession(verbose bool) (err error)

Delete the tmux session this window belongs to. Will implicitly also kill this window but also any other window in the session.

func (*TmuxWindow) Exists

func (t *TmuxWindow) Exists(verbose bool) (exists bool, err error)

func (*TmuxWindow) GetCommandExecutor

func (t *TmuxWindow) GetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor, err error)

func (*TmuxWindow) GetLatestPaneLine

func (t *TmuxWindow) GetLatestPaneLine() (paneLine string, err error)

func (*TmuxWindow) GetName

func (t *TmuxWindow) GetName() (name string, err error)

func (*TmuxWindow) GetSecondLatestPaneLine

func (t *TmuxWindow) GetSecondLatestPaneLine() (paneLine string, err error)

Since the latest line usually shows the command prompt this command can be used to receive the latest printed line.

func (*TmuxWindow) GetSession

func (t *TmuxWindow) GetSession() (session *TmuxSession, err error)

func (*TmuxWindow) GetSessionAndWindowName

func (t *TmuxWindow) GetSessionAndWindowName() (sessionName string, windowName string, err error)

func (*TmuxWindow) GetSessionName

func (t *TmuxWindow) GetSessionName() (sessionName string, err error)

func (*TmuxWindow) GetShownLines

func (t *TmuxWindow) GetShownLines() (lines []string, err error)

func (*TmuxWindow) GetShownOutput added in v0.250.0

func (t *TmuxWindow) GetShownOutput() (output string, err error)

func (*TmuxWindow) IsOutputMatchingRegex added in v0.250.0

func (t *TmuxWindow) IsOutputMatchingRegex(regex string, verbose bool) (isMatching bool, err error)

func (*TmuxWindow) ListWindowNames

func (t *TmuxWindow) ListWindowNames(verbose bool) (windowNames []string, err error)

func (*TmuxWindow) MustCreate

func (t *TmuxWindow) MustCreate(verbose bool)

func (*TmuxWindow) MustDelete

func (t *TmuxWindow) MustDelete(verbose bool)

func (*TmuxWindow) MustDeleteSession

func (t *TmuxWindow) MustDeleteSession(verbose bool)

func (*TmuxWindow) MustExists

func (t *TmuxWindow) MustExists(verbose bool) (exists bool)

func (*TmuxWindow) MustGetCommandExecutor

func (t *TmuxWindow) MustGetCommandExecutor() (commandExecutor commandexecutor.CommandExecutor)

func (*TmuxWindow) MustGetLatestPaneLine

func (t *TmuxWindow) MustGetLatestPaneLine() (paneLine string)

func (*TmuxWindow) MustGetName

func (t *TmuxWindow) MustGetName() (name string)

func (*TmuxWindow) MustGetSecondLatestPaneLine

func (t *TmuxWindow) MustGetSecondLatestPaneLine() (paneLine string)

func (*TmuxWindow) MustGetSession

func (t *TmuxWindow) MustGetSession() (session *TmuxSession)

func (*TmuxWindow) MustGetSessionAndWindowName

func (t *TmuxWindow) MustGetSessionAndWindowName() (sessionName string, windowName string)

func (*TmuxWindow) MustGetSessionName

func (t *TmuxWindow) MustGetSessionName() (sessionName string)

func (*TmuxWindow) MustGetShownLines

func (t *TmuxWindow) MustGetShownLines() (lines []string)

func (*TmuxWindow) MustIsOutputMatchingRegex added in v0.250.0

func (t *TmuxWindow) MustIsOutputMatchingRegex(regex string, verbose bool) (isMatching bool)

func (*TmuxWindow) MustListWindowNames

func (t *TmuxWindow) MustListWindowNames(verbose bool) (windowNames []string)

func (*TmuxWindow) MustRecreate

func (t *TmuxWindow) MustRecreate(verbose bool)

func (*TmuxWindow) MustRunCommand

func (t *TmuxWindow) MustRunCommand(runCommandOptions *parameteroptions.RunCommandOptions) (commandOutput *commandexecutor.CommandOutput)

func (*TmuxWindow) MustSendKeys

func (t *TmuxWindow) MustSendKeys(toSend []string, verbose bool)

func (*TmuxWindow) MustSetName

func (t *TmuxWindow) MustSetName(name string)

func (*TmuxWindow) MustSetSession

func (t *TmuxWindow) MustSetSession(session *TmuxSession)

func (*TmuxWindow) MustWaitUntilCliPromptReady

func (t *TmuxWindow) MustWaitUntilCliPromptReady(verbose bool)

func (*TmuxWindow) MustWaitUntilOutputMatchesRegex added in v0.250.0

func (t *TmuxWindow) MustWaitUntilOutputMatchesRegex(regex string, timeout time.Duration, verbose bool)

func (*TmuxWindow) Recreate

func (t *TmuxWindow) Recreate(verbose bool) (err error)

func (*TmuxWindow) RunCommand

func (t *TmuxWindow) RunCommand(runCommandOptions *parameteroptions.RunCommandOptions) (commandOutput *commandexecutor.CommandOutput, err error)

func (*TmuxWindow) SendKeys

func (t *TmuxWindow) SendKeys(toSend []string, verbose bool) (err error)

Default use case to send a command is using []string{"command to run", "enter"}. "enter" in this example is detected as enter key by tmux.

func (*TmuxWindow) SetName

func (t *TmuxWindow) SetName(name string) (err error)

func (*TmuxWindow) SetSession

func (t *TmuxWindow) SetSession(session *TmuxSession) (err error)

func (*TmuxWindow) WaitUntilCliPromptReady

func (t *TmuxWindow) WaitUntilCliPromptReady(verbose bool) (err error)

func (*TmuxWindow) WaitUntilOutputMatchesRegex added in v0.250.0

func (t *TmuxWindow) WaitUntilOutputMatchesRegex(regex string, timeout time.Duration, verbose bool) (err error)

Jump to

Keyboard shortcuts

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