term: fix divide by 0 error on empty delimiter
parent
2e29e09b1b
commit
5c9cbae10d
|
@ -32,9 +32,10 @@ pub fn fail_message(s string) string {
|
||||||
|
|
||||||
// h_divider returns a horizontal divider line with a dynamic width,
|
// h_divider returns a horizontal divider line with a dynamic width,
|
||||||
// that depends on the current terminal settings.
|
// that depends on the current terminal settings.
|
||||||
|
// If an empty string is passed in, print enough spaces to make a new line
|
||||||
pub fn h_divider(divider string) string {
|
pub fn h_divider(divider string) string {
|
||||||
cols,_ := get_terminal_size()
|
cols,_ := get_terminal_size()
|
||||||
result := divider.repeat(1 + (cols / divider.len))
|
result := if divider.len > 0 { divider.repeat(1 + (cols / divider.len)) } else { " ".repeat(1 + cols) }
|
||||||
return result[0..cols]
|
return result[0..cols]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +50,7 @@ pub fn header(text, divider string) string {
|
||||||
tlimit := if cols > text.len + 2 + 2 * divider.len { text.len } else { cols - 3 - 2 * divider.len }
|
tlimit := if cols > text.len + 2 + 2 * divider.len { text.len } else { cols - 3 - 2 * divider.len }
|
||||||
tlimit_alligned := if (tlimit % 2) != (cols % 2) { tlimit + 1 } else { tlimit }
|
tlimit_alligned := if (tlimit % 2) != (cols % 2) { tlimit + 1 } else { tlimit }
|
||||||
tstart := (cols - tlimit_alligned) / 2
|
tstart := (cols - tlimit_alligned) / 2
|
||||||
ln := divider.repeat(1 + cols / divider.len)[0..cols]
|
ln := if divider.len > 0 { divider.repeat(1 + cols / divider.len)[0..cols] } else { " ".repeat(1 + cols) }
|
||||||
return ln[0..tstart] + ' ' + text[0..tlimit] + ' ' + ln[tstart + tlimit + 2..cols]
|
return ln[0..tstart] + ' ' + text[0..tlimit] + ' ' + ln[tstart + tlimit + 2..cols]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue