12
12
// See the License for the specific language governing permissions and
13
13
// limitations under the License.
14
14
15
- package expect
15
+ package console
16
16
17
17
import (
18
18
"bufio"
@@ -23,25 +23,25 @@ import (
23
23
"os"
24
24
"unicode/utf8"
25
25
26
- "github.com/coder/coder/expect /pty"
26
+ "github.com/coder/coder/console /pty"
27
27
)
28
28
29
29
// Console is an interface to automate input and output for interactive
30
30
// applications. Console can block until a specified output is received and send
31
31
// input back on it's tty. Console can also multiplex other sources of input
32
32
// and multiplex its output to other writers.
33
33
type Console struct {
34
- opts ConsoleOpts
34
+ opts Opts
35
35
pty pty.Pty
36
36
runeReader * bufio.Reader
37
37
closers []io.Closer
38
38
}
39
39
40
- // ConsoleOpt allows setting Console options.
41
- type ConsoleOpt func (* ConsoleOpts ) error
40
+ // Opt allows setting Console options.
41
+ type Opt func (* Opts ) error
42
42
43
- // ConsoleOpts provides additional options on creating a Console.
44
- type ConsoleOpts struct {
43
+ // Opts provides additional options on creating a Console.
44
+ type Opts struct {
45
45
Logger * log.Logger
46
46
Stdouts []io.Writer
47
47
ExpectObservers []Observer
@@ -62,33 +62,33 @@ type Observer func(matchers []Matcher, buf string, err error)
62
62
// last writer, writing to it's internal buffer for matching expects.
63
63
// If a listed writer returns an error, that overall write operation stops and
64
64
// returns the error; it does not continue down the list.
65
- func WithStdout (writers ... io.Writer ) ConsoleOpt {
66
- return func (opts * ConsoleOpts ) error {
65
+ func WithStdout (writers ... io.Writer ) Opt {
66
+ return func (opts * Opts ) error {
67
67
opts .Stdouts = append (opts .Stdouts , writers ... )
68
68
return nil
69
69
}
70
70
}
71
71
72
72
// WithLogger adds a logger for Console to log debugging information to. By
73
73
// default Console will discard logs.
74
- func WithLogger (logger * log.Logger ) ConsoleOpt {
75
- return func (opts * ConsoleOpts ) error {
74
+ func WithLogger (logger * log.Logger ) Opt {
75
+ return func (opts * Opts ) error {
76
76
opts .Logger = logger
77
77
return nil
78
78
}
79
79
}
80
80
81
81
// WithExpectObserver adds an ExpectObserver to allow monitoring Expect operations.
82
- func WithExpectObserver (observers ... Observer ) ConsoleOpt {
83
- return func (opts * ConsoleOpts ) error {
82
+ func WithExpectObserver (observers ... Observer ) Opt {
83
+ return func (opts * Opts ) error {
84
84
opts .ExpectObservers = append (opts .ExpectObservers , observers ... )
85
85
return nil
86
86
}
87
87
}
88
88
89
89
// NewConsole returns a new Console with the given options.
90
- func NewConsole (opts ... ConsoleOpt ) (* Console , error ) {
91
- options := ConsoleOpts {
90
+ func NewConsole (opts ... Opt ) (* Console , error ) {
91
+ options := Opts {
92
92
Logger : log .New (ioutil .Discard , "" , 0 ),
93
93
}
94
94
@@ -105,14 +105,14 @@ func NewConsole(opts ...ConsoleOpt) (*Console, error) {
105
105
closers := []io.Closer {consolePty }
106
106
reader := consolePty .Reader ()
107
107
108
- console := & Console {
108
+ cons := & Console {
109
109
opts : options ,
110
110
pty : consolePty ,
111
111
runeReader : bufio .NewReaderSize (reader , utf8 .UTFMax ),
112
112
closers : closers ,
113
113
}
114
114
115
- return console , nil
115
+ return cons , nil
116
116
}
117
117
118
118
// Tty returns an input Tty for accepting input
0 commit comments