1
0
Fork 0
golang-forgejo-forgejo-reply/utilities.go
Daniel Baumann b1c5a31457
Adding upstream version 1.0.2.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-18 13:52:48 +02:00

43 lines
972 B
Go

package reply
import "strings"
// equivalent of "".slice!
func stringSliceBang(s string, i int) string {
return strings.Join(sliceSliceBang(strings.Split(s, ""), i), "")
}
// equivalent of [].slice!
func sliceSliceBang(slice []string, i int) []string {
return append(slice[:i], slice[i+1:]...)
}
// equivalent of "abc"[0] = "x"
func stringReplaceChar(in string, r rune, i int) string {
out := []rune(in)
out[i] = r
return string(out)
}
// equivalent of Ruby ""[start..end]
// .. is inclusive
// ... is exclusive
func sliceString(text string, start int, end int) string {
var builder strings.Builder
for i := start; i <= end; i++ {
builder.WriteString(string(text[i]))
}
return builder.String()
}
// equivalent of Ruby [][start..end]
// .. is inclusive
// ... is exclusive
func sliceArray(lines []string, start int, end int) []string {
newLines := []string{}
for i := start; i <= end; i++ {
newLines = append(newLines, lines[i])
}
return newLines
}