From 437f309ab91885b9a2986d4173b01931b6503c39 Mon Sep 17 00:00:00 2001
From: JiXieShi <lydxh935227514@gmail.com>
Date: Fri, 19 Apr 2024 16:08:55 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E5=B9=B3=E5=8F=B0=E6=9E=84=E5=BB=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitignore       |  2 ++
 .goreleaser.yaml | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
 command.go       |  2 ++
 config.go        |  2 ++
 main.go          |  2 --
 5 files changed, 57 insertions(+), 2 deletions(-)
 create mode 100644 .goreleaser.yaml

diff --git a/.gitignore b/.gitignore
index 84c048a..8626dab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
 /build/
+
+dist/
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
new file mode 100644
index 0000000..a00684a
--- /dev/null
+++ b/.goreleaser.yaml
@@ -0,0 +1,51 @@
+# This is an example .goreleaser.yml file with some sensible defaults.
+# Make sure to check the documentation at https://goreleaser.com
+
+# The lines below are called `modelines`. See `:help modeline`
+# Feel free to remove those if you don't want/need to use them.
+# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
+# vim: set ts=2 sw=2 tw=0 fo=cnqoj
+
+version: 1
+
+before:
+  hooks:
+    # You may remove this if you don't use go modules.
+#    - go mod tidy
+    # you may remove this if you don't need go generate
+#    - go generate ./...
+
+builds:
+  - env:
+      - CGO_ENABLED=0
+    goos:
+      - linux
+      - windows
+      - darwin
+
+archives:
+  - format: tar.gz
+    # this name template makes the OS and Arch compatible with the results of `uname`.
+    name_template: >-
+      {{ .ProjectName }}_
+      {{- title .Os }}_
+      {{- if eq .Arch "amd64" }}x86_64
+      {{- else if eq .Arch "386" }}i386
+      {{- else }}{{ .Arch }}{{ end }}
+      {{- if .Arm }}v{{ .Arm }}{{ end }}
+    # use zip for windows archives
+    format_overrides:
+      - goos: windows
+        format: zip
+checksum:
+  name_template: 'checksums.txt'
+
+snapshot:
+  name_template: 'v1.0.0-snapshot'
+
+changelog:
+  sort: asc
+  filters:
+    exclude:
+      - "^docs:"
+      - "^test:"
diff --git a/command.go b/command.go
index 25613a7..45b1ea7 100644
--- a/command.go
+++ b/command.go
@@ -14,6 +14,8 @@ type Command struct {
 	function    func()
 }
 
+var commands []Command
+
 func cmdhelp() {
 	var page = 0
 	fmt.Printf(">-------Help(%v)-------<\n", page)
diff --git a/config.go b/config.go
index e3f44ca..5aca70e 100644
--- a/config.go
+++ b/config.go
@@ -12,3 +12,5 @@ type Config struct {
 	logFilePath string
 	parityBit   int
 }
+
+var config Config
diff --git a/main.go b/main.go
index c616fc4..32307bc 100644
--- a/main.go
+++ b/main.go
@@ -13,8 +13,6 @@ import (
 )
 
 var (
-	config     Config
-	commands   []Command
 	serialPort serial.Port
 	err        error
 	args       []string