
This commit includes updates that affects the build, testing, and deployment of Tile38. - The root level build.sh has been broken up into multiple scripts and placed in the "scripts" directory. - The vendor directory has been updated to follow the Go modules rules, thus `make` should work on isolated environments. Also some vendored packages may have been updated to a later version, if needed. - The Makefile has been updated to allow for making single binaries such as `make tile38-server`. There is some scaffolding during the build process, so from now on all binaries should be made using make. For example, to run a development version of the tile38-cli binary, do this: make tile38-cli && ./tile38-cli not this: go run cmd/tile38-cli/main.go - Travis.CI docker push script has been updated to address a change to Docker's JSON repo meta output, which in turn fixes a bug where new Tile38 versions were not being properly pushed to Docker
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
// +build !windows,!linux,!darwin,!openbsd,!freebsd,!netbsd
|
|
|
|
package liner
|
|
|
|
import (
|
|
"bufio"
|
|
"errors"
|
|
"os"
|
|
)
|
|
|
|
// State represents an open terminal
|
|
type State struct {
|
|
commonState
|
|
}
|
|
|
|
// Prompt displays p, and then waits for user input. Prompt does not support
|
|
// line editing on this operating system.
|
|
func (s *State) Prompt(p string) (string, error) {
|
|
return s.promptUnsupported(p)
|
|
}
|
|
|
|
// PasswordPrompt is not supported in this OS.
|
|
func (s *State) PasswordPrompt(p string) (string, error) {
|
|
return "", errors.New("liner: function not supported in this terminal")
|
|
}
|
|
|
|
// NewLiner initializes a new *State
|
|
//
|
|
// Note that this operating system uses a fallback mode without line
|
|
// editing. Patches welcome.
|
|
func NewLiner() *State {
|
|
var s State
|
|
s.r = bufio.NewReader(os.Stdin)
|
|
return &s
|
|
}
|
|
|
|
// Close returns the terminal to its previous mode
|
|
func (s *State) Close() error {
|
|
return nil
|
|
}
|
|
|
|
// TerminalSupported returns false because line editing is not
|
|
// supported on this platform.
|
|
func TerminalSupported() bool {
|
|
return false
|
|
}
|
|
|
|
type noopMode struct{}
|
|
|
|
func (n noopMode) ApplyMode() error {
|
|
return nil
|
|
}
|
|
|
|
// TerminalMode returns a noop InputModeSetter on this platform.
|
|
func TerminalMode() (ModeApplier, error) {
|
|
return noopMode{}, nil
|
|
}
|