瀏覽代碼

fix: resolve [pasted lines] when passing paste as arguments for command (#2333)

Aiden Cline 5 月之前
父節點
當前提交
dac821229e
共有 1 個文件被更改,包括 14 次插入3 次删除
  1. 14 3
      packages/tui/internal/components/chat/editor.go

+ 14 - 3
packages/tui/internal/components/chat/editor.go

@@ -489,11 +489,22 @@ func (m *editorComponent) Submit() (tea.Model, tea.Cmd) {
 
 
 	var cmds []tea.Cmd
 	var cmds []tea.Cmd
 	if strings.HasPrefix(value, "/") {
 	if strings.HasPrefix(value, "/") {
-		value = value[1:]
-		commandName := strings.Split(value, " ")[0]
+		// Expand attachments in the value to get actual content
+		expandedValue := value
+		attachments := m.textarea.GetAttachments()
+		for _, att := range attachments {
+			if att.Type == "text" && att.Source != nil {
+				if textSource, ok := att.Source.(*attachment.TextSource); ok {
+					expandedValue = strings.Replace(expandedValue, att.Display, textSource.Value, 1)
+				}
+			}
+		}
+
+		expandedValue = expandedValue[1:] // Remove the "/"
+		commandName := strings.Split(expandedValue, " ")[0]
 		command := m.app.Commands[commands.CommandName(commandName)]
 		command := m.app.Commands[commands.CommandName(commandName)]
 		if command.Custom {
 		if command.Custom {
-			args := strings.TrimPrefix(value, command.PrimaryTrigger()+" ")
+			args := strings.TrimPrefix(expandedValue, command.PrimaryTrigger()+" ")
 			cmds = append(
 			cmds = append(
 				cmds,
 				cmds,
 				util.CmdHandler(app.SendCommand{Command: string(command.Name), Args: args}),
 				util.CmdHandler(app.SendCommand{Command: string(command.Name), Args: args}),