mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-01-26 05:37:18 +02:00
34 lines
742 B
Go
34 lines
742 B
Go
package gocui
|
|
|
|
import "time"
|
|
|
|
func (v *View) loaderLines() [][]cell {
|
|
duplicate := make([][]cell, len(v.lines))
|
|
for i := range v.lines {
|
|
if i < len(v.lines)-1 {
|
|
duplicate[i] = make([]cell, len(v.lines[i]))
|
|
copy(duplicate[i], v.lines[i])
|
|
} else {
|
|
duplicate[i] = make([]cell, len(v.lines[i])+2)
|
|
copy(duplicate[i], v.lines[i])
|
|
duplicate[i][len(duplicate[i])-2] = cell{chr: ' '}
|
|
duplicate[i][len(duplicate[i])-1] = Loader()
|
|
}
|
|
}
|
|
|
|
return duplicate
|
|
}
|
|
|
|
// Loader can show a loading animation
|
|
func Loader() cell {
|
|
characters := "|/-\\"
|
|
now := time.Now()
|
|
nanos := now.UnixNano()
|
|
index := nanos / 50000000 % int64(len(characters))
|
|
str := characters[index : index+1]
|
|
chr := []rune(str)[0]
|
|
return cell{
|
|
chr: chr,
|
|
}
|
|
}
|