Added helper function to expand a slice to a given length

master
Aadhavan Srinivasan 2 weeks ago
parent 11f7f1d746
commit 20fbd20994

@ -10,7 +10,9 @@ var digitChars = []rune{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}
var wordChars = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_") var wordChars = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_")
var LBRACKET rune = 0xF0000 var LBRACKET rune = 0xF0000
var RBRACKET rune = 0xF0001 var RBRACKET rune = 0xF0001
var ANY_CHAR rune = 0xF0002 // Represents any character - used for states where the allChars flag is on. var ANY_CHAR rune = 0xF0002 // Represents any character - used for states where the allChars flag is on.
var LPAREN_CHAR rune = 0xF0003 // Parentheses in regex are concatenated with this - it acts as a pseudio-parentheses
var RPAREN_CHAR rune = 0xF0004
// Returns true if str[idx] and str[idx-1] are separated by a word boundary. // Returns true if str[idx] and str[idx-1] are separated by a word boundary.
func isWordBoundary(str []rune, idx int) bool { func isWordBoundary(str []rune, idx int) bool {
@ -121,3 +123,10 @@ func genRange(start, end int) []int {
func allCases(r rune) []rune { func allCases(r rune) []rune {
return []rune{unicode.ToLower(r), unicode.ToUpper(r), unicode.ToTitle(r)} return []rune{unicode.ToLower(r), unicode.ToUpper(r), unicode.ToTitle(r)}
} }
// Expands a slice to the given length
func expandSlice[T any](slc []T, newSize int) []T {
toRet := make([]T, newSize)
copy(toRet, slc)
return toRet
}

Loading…
Cancel
Save