38 lines
580 B
Go
38 lines
580 B
Go
|
package termutil
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
)
|
||
|
|
||
|
type Option func(t *Terminal)
|
||
|
|
||
|
func WithLogFile(path string) Option {
|
||
|
return func(t *Terminal) {
|
||
|
t.logFile, _ = os.Create(path)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func WithTheme(theme *Theme) Option {
|
||
|
return func(t *Terminal) {
|
||
|
t.theme = theme
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func WithShell(shell string) Option {
|
||
|
return func(t *Terminal) {
|
||
|
t.shell = shell
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func WithInitialCommand(cmd string) Option {
|
||
|
return func(t *Terminal) {
|
||
|
t.initialCommand = cmd + "\n"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func WithWindowManipulator(m WindowManipulator) Option {
|
||
|
return func(t *Terminal) {
|
||
|
t.windowManipulator = m
|
||
|
}
|
||
|
}
|