megacheck -> staticcheck
megacheck -> staticcheck

I think the change should be as easy as changing megacheck to staticcheck
I think that using staticcheck should generate one new warning for this code base:

keybinding.go:13:9: should use strings.EqualFold(a, b) instead of strings.ToLower(a) == strings.ToLower(b) (SA6005)

While this isn't a bad recommendation, I don't think many people are familiar with EqualFold. I looked up the explanation of SA6005 and learned that it is more efficient, so maybe it is worth changing the code instead of disabling the warning:

SA6005 – Inefficient string comparison with strings.ToLower or strings.ToUpper
Converting two strings to the same case and comparing them like so

if strings.ToLower(s1) == strings.ToLower(s2) {
    ...
}
is significantly more expensive than comparing them with strings.EqualFold(s1, s2). This is due to memory usage as well as computational complexity.

strings.ToLower will have to allocate memory for the new strings, as well as convert both strings fully, even if they differ on the very first byte. strings.EqualFold, on the other hand, compares the strings one character at a time. It doesn't need to create two intermediate strings and can return as soon as the first non-matching character has been found.

For a more in-depth explanation of this issue, see https://blog.digitalocean.com/how-to-efficiently-compare-strings-in-go/
marcusolsson/tui-go