8 Commits

Author SHA1 Message Date
augustus
51d55bb102 Fix panic on Ctrl+Arrow
I often hit fn+arrow up / down to page up / down. If I accidentally
hit ctrl gomu panics.

Investigated it today and the issue is the rune extraction -- it assumes
we'll always have Ctrl+<rune> but in the case of an arrow key we have
Ctrl+Up or Ctrl+Down.

Essentially this simply checks if the regex found any matches, if not we
return not result akin to a failed map lookup. I considered raising an
error, but that would be just as annoying as a panic when I fat finger
Ctrl :)

```golang
panic: runtime error: index out of range [0] with length 0 [recovered]
	panic: runtime error: index out of range [0] with length 0

goroutine 1 [running]:
github.com/rivo/tview.(*Application).Run.func1()
	/home/augustus/go/pkg/mod/github.com/rivo/tview@v0.0.0-20210312174852-ae9464cc3598/application.go:243 +0x4d
panic({0xadb840, 0xc00076a000})
	/usr/local/go/src/runtime/panic.go:1038 +0x215
github.com/issadarkthing/gomu/anko.extractCtrlRune({0xc00003cc90, 0x9})
	/home/augustus/go/src/github.com/issadarkthing/gomu/anko/anko.go:216 +0x75
github.com/issadarkthing/gomu/anko.(*Anko).KeybindExists(0xb23243, {0xb2591b, 0x6}, 0xc00007e040)
	/home/augustus/go/src/github.com/issadarkthing/gomu/anko/anko.go:158 +0x78
main.start.func4(0xc00007e040)
	/home/augustus/go/src/github.com/issadarkthing/gomu/start.go:516 +0x14b
github.com/rivo/tview.(*Application).Run(0xc00023e2a0)
	/home/augustus/go/pkg/mod/github.com/rivo/tview@v0.0.0-20210312174852-ae9464cc3598/application.go:318 +0x6d2
main.start(0xc00023e2a0, {0xc00028e840, 0xc00003d4b6, 0xc00028e850, 0xc00003d4b7})
	/home/augustus/go/src/github.com/issadarkthing/gomu/start.go:546 +0xceb
main.main()
	/home/augustus/go/src/github.com/issadarkthing/gomu/main.go:21 +0x10e
```
2022-07-02 17:07:55 +01:00
raziman
3eb0e7c5ed add Playlist, Queue and Player module 2021-03-21 16:05:23 +08:00
raziman
fbd59e7d30 allow Get{Int,String,Bool} to access symbol inside Module 2021-02-18 10:20:37 +08:00
raziman
8e62af32a8 add anko keybinding test 2021-02-17 17:08:39 +08:00
raziman
25cbf166ea add support for ctrl and alt keybindings 2021-02-17 15:23:08 +08:00
raziman
a70ea6a1e7 add more unit test 2021-02-16 11:06:41 +08:00
raziman
8db951051b add tests 2021-02-15 21:46:33 +08:00
raziman
4a4bcf6f7d add tests for Anko 2021-02-15 20:28:06 +08:00