Skip to content

Commit 3695feb

Browse files
committed
feat(amp): add msgfmt logic for amp module
1 parent 0811a14 commit 3695feb

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

lib/msgfmt/message_box.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,24 @@ func removeOpencodeMessageBox(msg string) string {
7979
}
8080
return strings.Join(lines, "\n")
8181
}
82+
83+
func removeAmpMessageBox(msg string) string {
84+
lines := strings.Split(msg, "\n")
85+
msgBoxEndFound := false
86+
msgBoxStartIdx := len(lines)
87+
for i := len(lines) - 1; i >= 0; i-- {
88+
line := strings.TrimSpace(lines[i])
89+
if !msgBoxEndFound && strings.HasPrefix(line, "╰") && strings.HasSuffix(line, "╯") {
90+
msgBoxEndFound = true
91+
}
92+
if msgBoxEndFound && strings.HasPrefix(line, "╭") && strings.HasSuffix(line, "╮") {
93+
msgBoxStartIdx = i
94+
break
95+
}
96+
}
97+
formattedMsg := strings.Join(lines[:msgBoxStartIdx], "\n")
98+
if len(formattedMsg) == 0 {
99+
return "Welcome to Amp"
100+
}
101+
return formattedMsg
102+
}

lib/msgfmt/msgfmt.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,13 @@ func formatOpencodeMessage(message string, userInput string) string {
268268
return message
269269
}
270270

271+
func formatAmpMessage(message string, userInput string) string {
272+
message = RemoveUserInput(message, userInput, AgentTypeAmp)
273+
message = removeAmpMessageBox(message)
274+
message = trimEmptyLines(message)
275+
return message
276+
}
277+
271278
func FormatAgentMessage(agentType AgentType, message string, userInput string) string {
272279
switch agentType {
273280
case AgentTypeClaude:
@@ -283,7 +290,7 @@ func FormatAgentMessage(agentType AgentType, message string, userInput string) s
283290
case AgentTypeCopilot:
284291
return formatGenericMessage(message, userInput, agentType)
285292
case AgentTypeAmp:
286-
return formatGenericMessage(message, userInput, agentType)
293+
return formatAmpMessage(message, userInput)
287294
case AgentTypeCursor:
288295
return formatGenericMessage(message, userInput, agentType)
289296
case AgentTypeAuggie:

0 commit comments

Comments
 (0)