module Yi.Keymap.Vim2.Ex.Types where import Data.Maybe import Yi.Keymap data ExCommand = ExCommand { cmdComplete :: YiM [String] , cmdIsPure :: Bool , cmdAction :: Action , cmdAcceptsRange :: Bool , cmdShow :: String } instance Show ExCommand where show = cmdShow data LineRange = MarkRange String String -- ^ 'a,'b | FullRange -- ^ % | CurrentLineRange stringToExCommand :: [String -> Maybe ExCommand] -> String -> Maybe ExCommand stringToExCommand parsers s = listToMaybe . mapMaybe ($ s) $ parsers