refactor: extract internal/session and eliminate I/O globals

Move serial port, trzsz filter, and pipe lifecycle into
internal/session.SerialSession. Replace 8 global I/O vars
(serialPort, trzszFilter, stdinPipe, stdoutPipe, clientIn,
clientOut, termch, termchOnce) with single sess variable.
Delete utils.go.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
JiXieShi
2026-05-23 21:49:43 +08:00
parent 31dd9da490
commit a1524a7e17
7 changed files with 165 additions and 137 deletions
+4 -9
View File
@@ -1,18 +1,13 @@
package main
import (
"github.com/trzsz/trzsz-go/trzsz"
"go.bug.st/serial"
"io"
"os"
"github.com/jixishi/SerialTerminalForWindowsTerminal/internal/session"
)
var (
serialPort serial.Port
out io.Writer = os.Stdout
trzszFilter *trzsz.TrzszFilter
clientIn *io.PipeReader
stdoutPipe *io.PipeReader
stdinPipe *io.PipeWriter
clientOut *io.PipeWriter
sess *session.SerialSession
out io.Writer = os.Stdout
)