diff options
| author | theimpostor <sahirhoda@gmail.com> | 2023-07-17 20:47:21 -0500 |
|---|---|---|
| committer | theimpostor <sahirhoda@gmail.com> | 2023-07-17 20:47:21 -0500 |
| commit | a81229d9da9fd659496b6e034ffb7905c8b7a02c (patch) | |
| tree | 1c6650e9788d8cc0a88c116faedaeb8f818ea14b | |
| parent | 289d12e096e9dadc0e272ca2106cbaf59a15c2eb (diff) | |
add term info
| -rw-r--r-- | main.go | 50 |
1 files changed, 29 insertions, 21 deletions
@@ -103,6 +103,12 @@ Options: slog.SetDefault(logger) slog.Debug("logging started") + if ti, err := tcell.LookupTerminfo(os.Getenv("TERM")); err != nil { + slog.Error("ERROR: failed to lookup terminfo:", err) + } else { + slog.Debug(fmt.Sprintf("term is: %s, aliases: %v", ti.Name, ti.Aliases)) + } + if !pasteFlag { // copy if len(flag.Args()) > 0 { @@ -111,35 +117,38 @@ Options: fnames = []string{"-"} } - tty, err := opentty() - if err != nil { - slog.Error("ERROR: opentty:", err) - return - } - defer closetty(tty) + slog.Debug("Beginning osc52 copy operation") + func() { + tty, err := opentty() + if err != nil { + slog.Error("ERROR: opentty:", err) + return + } + defer closetty(tty) - // Open buffered output, using default max OSC52 length as buffer size - // TODO limit size - out := bufio.NewWriterSize(tty, 1000000) + // Open buffered output, using default max OSC52 length as buffer size + // TODO limit size + out := bufio.NewWriterSize(tty, 1000000) - // Start OSC52 - slog.Debug("Beginning osc52 copy operation") - fmt.Fprintf(out, "\x1b]52;c;") + // Start OSC52 + fmt.Fprintf(out, "\x1b]52;c;") - b64 := base64.NewEncoder(base64.StdEncoding, out) - for _, fname := range fnames { - encode(fname, b64) - } - b64.Close() + b64 := base64.NewEncoder(base64.StdEncoding, out) + for _, fname := range fnames { + encode(fname, b64) + } + b64.Close() - // End OSC52 - fmt.Fprintf(out, "\a") + // End OSC52 + fmt.Fprintf(out, "\a") - out.Flush() + out.Flush() + }() slog.Debug("Ended osc52") } else { // paste + slog.Debug("Beginning osc52 paste operation") data := func() []byte { tty, err := opentty() if err != nil { @@ -149,7 +158,6 @@ Options: defer closetty(tty) // Start OSC52 - slog.Debug("Beginning osc52 paste operation") fmt.Fprintf(tty, "\x1b]52;c;?\a") ttyReader := bufio.NewReader(tty) |
