roguestar-gl-0.2.2: src/Keymaps/BuiltinKeymaps.hs
module Keymaps.BuiltinKeymaps
(findKeymapOrDefault,
builtin_keymap_names,
builtin_keymaps)
where
import Data.Char
import Data.List
import Keymaps.Keymaps
import Keymaps.NumpadKeymap
import Keymaps.VIKeymap
findKeymapOrDefault :: Maybe KeymapName -> Keymap
findKeymapOrDefault m_keymap_name = fixKeymap $ maybe vi_numpad_keymap id (m_keymap_name >>= (flip lookup builtin_keymaps . (map toLower)))
builtin_keymap_names :: [KeymapName]
builtin_keymap_names = map fst builtin_keymaps
builtin_keymaps :: [(KeymapName, Keymap)]
builtin_keymaps = [
("vi", vi_keymap),
("numpad", numpad_keymap),
("vi+numpad", vi_numpad_keymap)]
vi_numpad_keymap :: Keymap
vi_numpad_keymap = union vi_keymap numpad_keymap