From 81391621745580b3e5d2a4b4c50d1bb60e4bfcad Mon Sep 17 00:00:00 2001 From: JiXieShi Date: Sat, 23 May 2026 21:56:45 +0800 Subject: [PATCH] refactor: move all app code to internal/termapp and entry to cmd/ Consolidate remaining package main files into internal/termapp for clean separation: cmd/serialterminal/ is the sole entry point. Update .goreleaser.yaml to build from ./cmd/serialterminal. Co-Authored-By: Claude Opus 4.7 --- .goreleaser.yaml | 3 ++- cmd/serialterminal/main.go | 7 +++++++ app.go => internal/termapp/app.go | 2 +- app_test.go => internal/termapp/app_test.go | 2 +- command.go => internal/termapp/command.go | 2 +- command_test.go => internal/termapp/command_test.go | 2 +- config.go => internal/termapp/config.go | 2 +- config_test.go => internal/termapp/config_test.go | 2 +- escape_test.go => internal/termapp/escape_test.go | 2 +- main.go => internal/termapp/main.go | 4 ++-- main_other.go => internal/termapp/main_other.go | 2 +- main_windows.go => internal/termapp/main_windows.go | 2 +- mutual.go => internal/termapp/mutual.go | 2 +- tui_hotkeys.go => internal/termapp/tui_hotkeys.go | 2 +- tui_model.go => internal/termapp/tui_model.go | 2 +- tui_panels.go => internal/termapp/tui_panels.go | 2 +- tui_render.go => internal/termapp/tui_render.go | 2 +- tui_test.go => internal/termapp/tui_test.go | 2 +- 18 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 cmd/serialterminal/main.go rename app.go => internal/termapp/app.go (99%) rename app_test.go => internal/termapp/app_test.go (99%) rename command.go => internal/termapp/command.go (99%) rename command_test.go => internal/termapp/command_test.go (99%) rename config.go => internal/termapp/config.go (93%) rename config_test.go => internal/termapp/config_test.go (99%) rename escape_test.go => internal/termapp/escape_test.go (99%) rename main.go => internal/termapp/main.go (99%) rename main_other.go => internal/termapp/main_other.go (76%) rename main_windows.go => internal/termapp/main_windows.go (94%) rename mutual.go => internal/termapp/mutual.go (91%) rename tui_hotkeys.go => internal/termapp/tui_hotkeys.go (99%) rename tui_model.go => internal/termapp/tui_model.go (99%) rename tui_panels.go => internal/termapp/tui_panels.go (99%) rename tui_render.go => internal/termapp/tui_render.go (99%) rename tui_test.go => internal/termapp/tui_test.go (99%) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index a39e2fc..c891360 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -17,7 +17,8 @@ before: # - go generate ./... builds: - - env: + - main: ./cmd/serialterminal + env: - CGO_ENABLED=0 goos: - linux diff --git a/cmd/serialterminal/main.go b/cmd/serialterminal/main.go new file mode 100644 index 0000000..caae043 --- /dev/null +++ b/cmd/serialterminal/main.go @@ -0,0 +1,7 @@ +package main + +import "github.com/jixishi/SerialTerminalForWindowsTerminal/internal/termapp" + +func main() { + termapp.Run() +} diff --git a/app.go b/internal/termapp/app.go similarity index 99% rename from app.go rename to internal/termapp/app.go index ec204f0..5241732 100644 --- a/app.go +++ b/internal/termapp/app.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "bytes" diff --git a/app_test.go b/internal/termapp/app_test.go similarity index 99% rename from app_test.go rename to internal/termapp/app_test.go index d630042..50ad0f3 100644 --- a/app_test.go +++ b/internal/termapp/app_test.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "io" diff --git a/command.go b/internal/termapp/command.go similarity index 99% rename from command.go rename to internal/termapp/command.go index d8c92aa..20d2f82 100644 --- a/command.go +++ b/internal/termapp/command.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "encoding/hex" diff --git a/command_test.go b/internal/termapp/command_test.go similarity index 99% rename from command_test.go rename to internal/termapp/command_test.go index abeecaa..a309e73 100644 --- a/command_test.go +++ b/internal/termapp/command_test.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "io" diff --git a/config.go b/internal/termapp/config.go similarity index 93% rename from config.go rename to internal/termapp/config.go index d671981..2edad96 100644 --- a/config.go +++ b/internal/termapp/config.go @@ -1,4 +1,4 @@ -package main +package termapp import ( appconfig "github.com/jixishi/SerialTerminalForWindowsTerminal/internal/config" diff --git a/config_test.go b/internal/termapp/config_test.go similarity index 99% rename from config_test.go rename to internal/termapp/config_test.go index c262727..ee6d062 100644 --- a/config_test.go +++ b/internal/termapp/config_test.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "path/filepath" diff --git a/escape_test.go b/internal/termapp/escape_test.go similarity index 99% rename from escape_test.go rename to internal/termapp/escape_test.go index f15f09f..7dc51e8 100644 --- a/escape_test.go +++ b/internal/termapp/escape_test.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "testing" diff --git a/main.go b/internal/termapp/main.go similarity index 99% rename from main.go rename to internal/termapp/main.go index 0d975f5..3e57172 100644 --- a/main.go +++ b/internal/termapp/main.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "fmt" @@ -21,7 +21,7 @@ func init() { flag.Init(cfg) } -func main() { +func Run() { defer func() { if r := recover(); r != nil { fmt.Fprintf(os.Stderr, "fatal: %v\n", r) diff --git a/main_other.go b/internal/termapp/main_other.go similarity index 76% rename from main_other.go rename to internal/termapp/main_other.go index 2660e3b..ec4cefd 100644 --- a/main_other.go +++ b/internal/termapp/main_other.go @@ -1,5 +1,5 @@ //go:build !windows -package main +package termapp func enableVTInput(fd int) {} diff --git a/main_windows.go b/internal/termapp/main_windows.go similarity index 94% rename from main_windows.go rename to internal/termapp/main_windows.go index f9089a1..4f43c45 100644 --- a/main_windows.go +++ b/internal/termapp/main_windows.go @@ -1,6 +1,6 @@ //go:build windows -package main +package termapp import ( "golang.org/x/sys/windows" diff --git a/mutual.go b/internal/termapp/mutual.go similarity index 91% rename from mutual.go rename to internal/termapp/mutual.go index 66d6e5a..82205ae 100644 --- a/mutual.go +++ b/internal/termapp/mutual.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "io" diff --git a/tui_hotkeys.go b/internal/termapp/tui_hotkeys.go similarity index 99% rename from tui_hotkeys.go rename to internal/termapp/tui_hotkeys.go index 1a41f46..3704596 100644 --- a/tui_hotkeys.go +++ b/internal/termapp/tui_hotkeys.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "strings" diff --git a/tui_model.go b/internal/termapp/tui_model.go similarity index 99% rename from tui_model.go rename to internal/termapp/tui_model.go index 73d7562..a47516b 100644 --- a/tui_model.go +++ b/internal/termapp/tui_model.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "fmt" diff --git a/tui_panels.go b/internal/termapp/tui_panels.go similarity index 99% rename from tui_panels.go rename to internal/termapp/tui_panels.go index 13760cc..3293896 100644 --- a/tui_panels.go +++ b/internal/termapp/tui_panels.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "fmt" diff --git a/tui_render.go b/internal/termapp/tui_render.go similarity index 99% rename from tui_render.go rename to internal/termapp/tui_render.go index 39b69da..ad6bf04 100644 --- a/tui_render.go +++ b/internal/termapp/tui_render.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "strings" diff --git a/tui_test.go b/internal/termapp/tui_test.go similarity index 99% rename from tui_test.go rename to internal/termapp/tui_test.go index 47582a8..4cea772 100644 --- a/tui_test.go +++ b/internal/termapp/tui_test.go @@ -1,4 +1,4 @@ -package main +package termapp import ( "strings"