summaryrefslogtreecommitdiff
path: root/vendor/github.com/charmbracelet/x/cellbuf/utils.go
blob: b0452fa9a7e54d49daa804a14458a64ac8b0c7f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package cellbuf

import (
	"strings"
)

// Height returns the height of a string.
func Height(s string) int {
	return strings.Count(s, "\n") + 1
}

func min(a, b int) int { //nolint:predeclared
	if a > b {
		return b
	}
	return a
}

func max(a, b int) int { //nolint:predeclared
	if a > b {
		return a
	}
	return b
}

func clamp(v, low, high int) int {
	if high < low {
		low, high = high, low
	}
	return min(high, max(low, v))
}

func abs(a int) int {
	if a < 0 {
		return -a
	}
	return a
}