Use the term package to get tty size since it has a function for it
This commit is contained in:
parent
6a9f3feba2
commit
82d0bd9364
@ -14,7 +14,7 @@ import (
|
|||||||
"github.com/mattn/go-runewidth"
|
"github.com/mattn/go-runewidth"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/term"
|
||||||
|
|
||||||
"kitty"
|
"kitty"
|
||||||
"kitty/tools/utils"
|
"kitty/tools/utils"
|
||||||
@ -22,13 +22,6 @@ import (
|
|||||||
|
|
||||||
var RootCmd *cobra.Command
|
var RootCmd *cobra.Command
|
||||||
|
|
||||||
func GetTTYSize() (*unix.Winsize, error) {
|
|
||||||
if stdout_is_terminal {
|
|
||||||
return unix.IoctlGetWinsize(int(os.Stdout.Fd()), unix.TIOCGWINSZ)
|
|
||||||
}
|
|
||||||
return nil, fmt.Errorf("STDOUT is not a TTY")
|
|
||||||
}
|
|
||||||
|
|
||||||
func key_in_slice(vals []string, key string) bool {
|
func key_in_slice(vals []string, key string) bool {
|
||||||
for _, q := range vals {
|
for _, q := range vals {
|
||||||
if q == key {
|
if q == key {
|
||||||
@ -333,12 +326,14 @@ func full_command_name(cmd *cobra.Command) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func show_usage(cmd *cobra.Command, use_pager bool) error {
|
func show_usage(cmd *cobra.Command, use_pager bool) error {
|
||||||
ws, tty_size_err := GetTTYSize()
|
|
||||||
var output strings.Builder
|
|
||||||
screen_width := 80
|
screen_width := 80
|
||||||
if tty_size_err == nil && ws.Col < 80 {
|
if stdout_is_terminal {
|
||||||
screen_width = int(ws.Col)
|
screen_width, _, tty_size_err := term.GetSize(int(os.Stdout.Fd()))
|
||||||
|
if tty_size_err != nil || screen_width > 80 {
|
||||||
|
screen_width = 80
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
var output strings.Builder
|
||||||
use := cmd.Use
|
use := cmd.Use
|
||||||
idx := strings.Index(use, " ")
|
idx := strings.Index(use, " ")
|
||||||
if idx > -1 {
|
if idx > -1 {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user