1{-# LANGUAGE OverloadedStrings #-} 2module Matterhorn.HelpTopics 3 ( helpTopics 4 , lookupHelpTopic 5 , themeHelpTopic 6 , mainHelpTopic 7 ) 8where 9 10import Prelude () 11import Matterhorn.Prelude 12 13import Matterhorn.Types 14 15 16helpTopics :: [HelpTopic] 17helpTopics = 18 [ mainHelpTopic 19 , scriptHelpTopic 20 , themeHelpTopic 21 , keybindingHelpTopic 22 , syntaxHighlightingHelpTopic 23 ] 24 25mainHelpTopic :: HelpTopic 26mainHelpTopic = 27 HelpTopic "main" "This help page" MainHelp HelpText 28 29scriptHelpTopic :: HelpTopic 30scriptHelpTopic = 31 HelpTopic "scripts" "Help on available scripts" ScriptHelp ScriptHelpText 32 33themeHelpTopic :: HelpTopic 34themeHelpTopic = 35 HelpTopic "themes" "Help on color themes" ThemeHelp ThemeHelpText 36 37keybindingHelpTopic :: HelpTopic 38keybindingHelpTopic = 39 HelpTopic "keybindings" "Help on overriding keybindings" 40 KeybindingHelp KeybindingHelpText 41 42syntaxHighlightingHelpTopic :: HelpTopic 43syntaxHighlightingHelpTopic = 44 HelpTopic "syntax" "Help on syntax highlighing" 45 SyntaxHighlightHelp SyntaxHighlightHelpText 46 47lookupHelpTopic :: Text -> Maybe HelpTopic 48lookupHelpTopic topic = 49 listToMaybe $ filter ((== topic) . helpTopicName) helpTopics 50