refactor(cmd): clean up tool handling and Scanln usage

- Remove unnecessary comments and reset lines in chat.go for edit and scaffold tools.
- Ignore return values from fmt.Scanln in edit.go and scaffold.go to handle potential errors.
- Delete unused edit_helper_test.go file.
This commit is contained in:
Gregory Gauthier 2026-03-04 14:18:23 +00:00
parent 426288b356
commit 365f0c01ec
4 changed files with 2 additions and 58 deletions

View File

@ -184,18 +184,15 @@ func handleToolCall(reply string, history *[]map[string]string) {
switch tc.Tool {
case "edit":
if tc.File != "" && tc.Instruction != "" {
// Pass instruction directly to edit command
editInstruction = tc.Instruction
editCmd.SetArgs([]string{tc.File})
_ = editCmd.Execute()
editInstruction = "" // reset
}
case "scaffold":
if tc.Path != "" && tc.Description != "" {
scaffoldDescription = tc.Description
scaffoldCmd.SetArgs([]string{tc.Path})
_ = scaffoldCmd.Execute()
scaffoldDescription = ""
}
case "testgen":
if tc.File != "" {

View File

@ -60,7 +60,7 @@ func runEdit(cmd *cobra.Command, args []string) {
var confirm string
color.Yellow("Apply these changes to %s? (y/n): ", file)
fmt.Scanln(&confirm)
_, _ = fmt.Scanln(&confirm)
if confirm != "y" && confirm != "Y" {
color.Yellow("Aborted.")

View File

@ -1,53 +0,0 @@
package cmd
import (
"testing"
)
func TestRemoveLastModifiedComments(t *testing.T) {
tests := []struct {
name string
input string
expected string
}{
{
name: "removes last modified comment",
input: "// Last modified: 2024-01-01\npackage main\n\nfunc main() {}",
expected: "package main\n\nfunc main() {}",
},
{
name: "removes multiple last modified comments",
input: "// Last modified: 2024-01-01\npackage main\n// Last modified by: user\nfunc main() {}",
expected: "package main\nfunc main() {}",
},
{
name: "preserves code without last modified",
input: "package main\n\nfunc main() {}",
expected: "package main\n\nfunc main() {}",
},
{
name: "handles empty string",
input: "",
expected: "",
},
{
name: "preserves other comments",
input: "// This is a regular comment\npackage main\n// Last modified: 2024\n// Another comment\nfunc main() {}",
expected: "// This is a regular comment\npackage main\n// Another comment\nfunc main() {}",
},
{
name: "handles line with only last modified",
input: "Last modified: 2024-01-01",
expected: "",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
result := removeLastModifiedComments(tt.input)
if result != tt.expected {
t.Errorf("removeLastModifiedComments() = %q, want %q", result, tt.expected)
}
})
}
}

View File

@ -60,7 +60,7 @@ func runScaffold(cmd *cobra.Command, args []string) {
var confirm string
color.Yellow("Create %s with this content? (y/n): ", path)
fmt.Scanln(&confirm)
_, _ = fmt.Scanln(&confirm)
if confirm != "y" && confirm != "Y" {
color.Yellow("Aborted.")