fix(macro-prompts): preserve outer quotes (#2076)

Previously if you had a macro prompt such as the following, the modal title would display `Question`, not `"Question"`. However, in other projects (Klipperscreen and Fluidd), they will preserve those outer quotes and they will be included in the title. This change makes Mainsail consistent with the other implementations.
This commit is contained in:
Branden Cash 2024-12-10 14:28:50 -07:00 committed by GitHub
parent ed8992e8d0
commit 7affc455f2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -61,8 +61,7 @@ export default class TheMacroPrompt extends Mixins(BaseMixin) {
private checkpointEvent: ServerStateEvent | null = null
private currentPrompt: ServerStateEventPrompt[] = []
// regex that extracts the type and message, omitting the wrapping double quotes of the message (if any)
private promptMessageExp =
/^\/\/ action:prompt_(?<type>[^\s]+) *(?:(?<quote>['"])(?<msg1>.*)\k<quote>|(?<msg2>.*))\s*$/
private promptMessageExp = /^\/\/ action:prompt_(?<type>[^\s]+) *(?<msg>.*)$/
get events() {
return this.$store.state.server.events
@ -95,7 +94,7 @@ export default class TheMacroPrompt extends Mixins(BaseMixin) {
break
}
const message = (match?.groups?.msg1 || match?.groups?.msg2 || '').trim()
const message = (match?.groups?.msg || '').trim()
// prepend the event to prompt events found in this chunk
promptEvents.unshift({