30 lines
624 B
Go
30 lines
624 B
Go
package feragstring
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
type FeragMessage struct {
|
|
messageStart string
|
|
messageEnd string
|
|
}
|
|
|
|
func (fm *FeragMessage) getMessageStart() string {
|
|
return fmt.Sprintf("%%%s", fm.messageStart)
|
|
}
|
|
|
|
func (fm *FeragMessage) getMessageEnd() string {
|
|
return fmt.Sprintf("%s", fm.messageEnd)
|
|
}
|
|
|
|
type MessageTemplateFunc func(*FeragMessage, string) string
|
|
|
|
func (fm *FeragMessage) MessageTemplate() MessageTemplateFunc {
|
|
return func(fm *FeragMessage, s string) string {
|
|
message := fm.getMessageStart()
|
|
message += s
|
|
message += fm.getMessageEnd()
|
|
return strings.TrimSpace(message) + linebreak
|
|
}
|
|
}
|