-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A command-line kanban board/task manager
--   
--   Please see the README on GitHub at
--   <a>https://github.com/smallhadroncollider/taskell#readme</a>
@package taskell
@version 1.4.0.0

module Data.Taskell.Date

-- | The Modified Julian Day is a standard count of days, with zero being
--   the day 1858-11-17.
data Day
data Deadline
Passed :: Deadline
Today :: Deadline
Tomorrow :: Deadline
ThisWeek :: Deadline
Plenty :: Deadline
type DeadlineFn = Day -> Deadline
dayToText :: Day -> Day -> Text
dayToOutput :: Day -> Text
textToDay :: Text -> Maybe Day
utcToLocalDay :: TimeZone -> UTCTime -> Day
currentDay :: IO Day
deadline :: Day -> Day -> Deadline
instance GHC.Classes.Eq Data.Taskell.Date.Deadline
instance GHC.Show.Show Data.Taskell.Date.Deadline

module Data.Taskell.Seq
extract :: Int -> Seq a -> Maybe (Seq a, a)
shiftBy :: Int -> Int -> Seq a -> Maybe (Seq a)

module Data.Taskell.Subtask.Internal
data Subtask
Subtask :: Text -> Bool -> Subtask
[_name] :: Subtask -> Text
[_complete] :: Subtask -> Bool
type Update = Subtask -> Subtask
name :: Lens' Subtask Text
complete :: Lens' Subtask Bool
blank :: Subtask
new :: Text -> Bool -> Subtask
toggle :: Update
instance GHC.Classes.Eq Data.Taskell.Subtask.Internal.Subtask
instance GHC.Show.Show Data.Taskell.Subtask.Internal.Subtask

module Data.Taskell.Subtask
data Subtask
type Update = Subtask -> Subtask
new :: Text -> Bool -> Subtask
blank :: Subtask
name :: Lens' Subtask Text
complete :: Lens' Subtask Bool
toggle :: Update

module Data.Taskell.Task.Internal
data Task
Task :: Text -> Maybe Text -> Seq Subtask -> Maybe Day -> Task
[_name] :: Task -> Text
[_description] :: Task -> Maybe Text
[_subtasks] :: Task -> Seq Subtask
[_due] :: Task -> Maybe Day
type Update = Task -> Task
subtasks :: Lens' Task (Seq Subtask)
name :: Lens' Task Text
due :: Lens' Task (Maybe Day)
description :: Lens' Task (Maybe Text)
blank :: Task
new :: Text -> Task
setDescription :: Text -> Update
maybeAppend :: Text -> Maybe Text -> Maybe Text
appendDescription :: Text -> Update
setDue :: Text -> Update
getSubtask :: Int -> Task -> Maybe Subtask
addSubtask :: Subtask -> Update
hasSubtasks :: Task -> Bool
updateSubtask :: Int -> Update -> Update
removeSubtask :: Int -> Update
countSubtasks :: Task -> Int
countCompleteSubtasks :: Task -> Int
contains :: Text -> Task -> Bool
isBlank :: Task -> Bool
instance GHC.Classes.Eq Data.Taskell.Task.Internal.Task
instance GHC.Show.Show Data.Taskell.Task.Internal.Task

module Data.Taskell.Task
data Task
type Update = Task -> Task
name :: Lens' Task Text
description :: Lens' Task (Maybe Text)
due :: Lens' Task (Maybe Day)
subtasks :: Lens' Task (Seq Subtask)
blank :: Task
new :: Text -> Task
setDescription :: Text -> Update
appendDescription :: Text -> Update
setDue :: Text -> Update
getSubtask :: Int -> Task -> Maybe Subtask
addSubtask :: Subtask -> Update
hasSubtasks :: Task -> Bool
updateSubtask :: Int -> Update -> Update
removeSubtask :: Int -> Update
countSubtasks :: Task -> Int
countCompleteSubtasks :: Task -> Int
contains :: Text -> Task -> Bool
isBlank :: Task -> Bool

module Data.Taskell.List.Internal
data List
List :: Text -> Seq Task -> List
[_title] :: List -> Text
[_tasks] :: List -> Seq Task
type Update = List -> List
title :: Lens' List Text
tasks :: Lens' List (Seq Task)
create :: Text -> Seq Task -> List
empty :: Text -> List
new :: Update
count :: List -> Int
newAt :: Int -> Update
append :: Task -> Update
extract :: Int -> List -> Maybe (List, Task)
updateFn :: Int -> Update -> Update
update :: Int -> Task -> Update
move :: Int -> Int -> List -> Maybe List
deleteTask :: Int -> Update
getTask :: Int -> List -> Maybe Task
searchFor :: Text -> Update
instance GHC.Classes.Eq Data.Taskell.List.Internal.List
instance GHC.Show.Show Data.Taskell.List.Internal.List

module Data.Taskell.List
data List
title :: Lens' List Text
tasks :: Lens' List (Seq Task)
create :: Text -> Seq Task -> List
empty :: Text -> List
new :: Update
count :: List -> Int
newAt :: Int -> Update
append :: Task -> Update
extract :: Int -> List -> Maybe (List, Task)
updateFn :: Int -> Update -> Update
update :: Int -> Task -> Update
move :: Int -> Int -> List -> Maybe List
deleteTask :: Int -> Update
getTask :: Int -> List -> Maybe Task
searchFor :: Text -> Update

module Data.Taskell.Lists.Internal
type Lists = Seq List
type Update = Lists -> Lists
initial :: Lists
updateLists :: Int -> List -> Update
count :: Int -> Lists -> Int
get :: Lists -> Int -> Maybe List
changeList :: (Int, Int) -> Lists -> Int -> Maybe Lists
newList :: Text -> Update
delete :: Int -> Update
exists :: Int -> Lists -> Bool
shiftBy :: Int -> Int -> Lists -> Maybe Lists
search :: Text -> Update
appendToLast :: Task -> Update
analyse :: Text -> Lists -> Text

module Data.Taskell.Lists
type Lists = Seq List
initial :: Lists
updateLists :: Int -> List -> Update
count :: Int -> Lists -> Int
get :: Lists -> Int -> Maybe List
changeList :: (Int, Int) -> Lists -> Int -> Maybe Lists
newList :: Text -> Update
delete :: Int -> Update
exists :: Int -> Lists -> Bool
shiftBy :: Int -> Int -> Lists -> Maybe Lists
search :: Text -> Update
appendToLast :: Task -> Update
analyse :: Text -> Lists -> Text

module IO.Config.Markdown
data Config
Config :: Text -> Text -> Text -> Text -> Text -> Config
[titleOutput] :: Config -> Text
[taskOutput] :: Config -> Text
[descriptionOutput] :: Config -> Text
[dueOutput] :: Config -> Text
[subtaskOutput] :: Config -> Text
defaultConfig :: Config
parser :: IniParser Config

module IO.HTTP.Trello.ChecklistItem
data ChecklistItem
checklistItemToSubTask :: ChecklistItem -> Subtask
checkItems :: Iso' ChecklistWrapper [ChecklistItem]
instance Data.Aeson.Types.FromJSON.FromJSON IO.HTTP.Trello.ChecklistItem.ChecklistWrapper
instance GHC.Show.Show IO.HTTP.Trello.ChecklistItem.ChecklistWrapper
instance GHC.Classes.Eq IO.HTTP.Trello.ChecklistItem.ChecklistWrapper
instance Data.Aeson.Types.FromJSON.FromJSON IO.HTTP.Trello.ChecklistItem.ChecklistItem
instance GHC.Show.Show IO.HTTP.Trello.ChecklistItem.ChecklistItem
instance GHC.Classes.Eq IO.HTTP.Trello.ChecklistItem.ChecklistItem

module IO.HTTP.Trello.List
data List
cards :: Lens' List [Card]
setCards :: List -> [Card] -> List
listToList :: TimeZone -> List -> List
instance Data.Aeson.Types.FromJSON.FromJSON IO.HTTP.Trello.List.List
instance GHC.Show.Show IO.HTTP.Trello.List.List
instance GHC.Classes.Eq IO.HTTP.Trello.List.List

module IO.HTTP.GitHub
type GitHubToken = Text
type GitHubIdentifier = Text
getNextLink :: [ByteString] -> Maybe Text
getLists :: GitHubIdentifier -> ReaderGitHubToken (Either Text Lists)

module UI.Field
data Field
Field :: Text -> Int -> Field
[_text] :: Field -> Text
[_cursor] :: Field -> Int
blankField :: Field
event :: Event -> Field -> Field
updateCursor :: Int -> Field -> Field
backspace :: Field -> Field
insertCharacter :: Char -> Field -> Field
insertText :: Text -> Field -> Field
cursorPosition :: [Text] -> Int -> Int -> (Int, Int)
getText :: Field -> Text
textToField :: Text -> Field
field :: Field -> Widget ResourceName
widgetFromMaybe :: Widget ResourceName -> Maybe Field -> Widget ResourceName
textField :: Text -> Widget ResourceName
wrap :: Int -> Text -> ([Text], Int)
spl' :: [Text] -> Char -> [Text]
spl :: Text -> [Text]
combine :: Int -> ([Text], Int) -> Text -> ([Text], Int)
append :: Text -> [Text] -> [Text]
instance GHC.Show.Show UI.Field.Field
instance GHC.Classes.Eq UI.Field.Field

module Events.State.Types.Mode
data DetailMode
DetailNormal :: DetailMode
DetailInsert :: Field -> DetailMode
data DetailItem
DetailItem :: Int -> DetailItem
DetailDescription :: DetailItem
DetailDate :: DetailItem
data ModalType
Help :: ModalType
MoveTo :: ModalType
Detail :: DetailItem -> DetailMode -> ModalType
data InsertType
ITask :: InsertType
IList :: InsertType
data InsertMode
IEdit :: InsertMode
ICreate :: InsertMode
data Mode
Normal :: Mode
Insert :: InsertType -> InsertMode -> Field -> Mode
Modal :: ModalType -> Mode
Search :: Bool -> Field -> Mode
Shutdown :: Mode
instance GHC.Show.Show Events.State.Types.Mode.Mode
instance GHC.Classes.Eq Events.State.Types.Mode.Mode
instance GHC.Show.Show Events.State.Types.Mode.InsertMode
instance GHC.Classes.Eq Events.State.Types.Mode.InsertMode
instance GHC.Show.Show Events.State.Types.Mode.InsertType
instance GHC.Classes.Eq Events.State.Types.Mode.InsertType
instance GHC.Show.Show Events.State.Types.Mode.ModalType
instance GHC.Classes.Eq Events.State.Types.Mode.ModalType
instance GHC.Show.Show Events.State.Types.Mode.DetailItem
instance GHC.Classes.Eq Events.State.Types.Mode.DetailItem
instance GHC.Show.Show Events.State.Types.Mode.DetailMode
instance GHC.Classes.Eq Events.State.Types.Mode.DetailMode

module Events.State.Types
type Pointer = (Int, Int)
data State
State :: Mode -> Lists -> [(Pointer, Lists)] -> Pointer -> FilePath -> Maybe Lists -> State
[_mode] :: State -> Mode
[_lists] :: State -> Lists
[_history] :: State -> [(Pointer, Lists)]
[_current] :: State -> Pointer
[_path] :: State -> FilePath
[_io] :: State -> Maybe Lists
path :: Lens' State FilePath
mode :: Lens' State Mode
lists :: Lens' State Lists
io :: Lens' State (Maybe Lists)
history :: Lens' State [(Pointer, Lists)]
current :: Lens' State Pointer
type Stateful = State -> Maybe State
instance GHC.Show.Show Events.State.Types.State
instance GHC.Classes.Eq Events.State.Types.State

module IO.Keyboard.Types
data Binding
BChar :: Char -> Binding
BKey :: Text -> Binding
type Bindings = [(Binding, Text)]
type Actions = Map Text Stateful
type BoundActions = Map Event Stateful
bindingToText :: Binding -> Text
bindingsToText :: Bindings -> Text -> [Text]
bindingToEvent :: Binding -> Maybe Event
instance GHC.Show.Show IO.Keyboard.Types.Binding
instance GHC.Classes.Ord IO.Keyboard.Types.Binding
instance GHC.Classes.Eq IO.Keyboard.Types.Binding

module IO.Keyboard.Parser
lexeme :: Parser a -> Parser a
commentP :: Parser ()
stripComments :: Parser a -> Parser a
word :: Parser Text
keyP :: Parser Binding
charP :: Parser Binding
bindingP :: Parser [Binding]
line :: Parser [(Binding, Text)]
bindingsP :: Parser Bindings
bindings :: Text -> Either Text Bindings

module IO.Keyboard
generate :: Bindings -> Actions -> BoundActions

module IO.Config
data Config
Config :: Config -> Config -> Config -> Config -> Config -> Config
[general] :: Config -> Config
[layout] :: Config -> Config
[markdown] :: Config -> Config
[trello] :: Config -> Config
[github] :: Config -> Config
defaultConfig :: Config
directoryName :: FilePath
legacyConfigPath :: IO FilePath
xdgDefaultConfig :: IO FilePath
xdgConfigPath :: IO FilePath
getDir :: IO FilePath
themePath :: FilePath -> FilePath
configPath :: FilePath -> FilePath
bindingsPath :: FilePath -> FilePath
setup :: IO Config
create :: FilePath -> ByteString -> IO ()
configParser :: IniParser Config
getConfig :: IO Config
getBindings :: IO Bindings
generateAttrMap :: IO AttrMap

module IO.Markdown.Internal
trimTilde :: Text -> Text
addSubItem :: Text -> Lists -> Lists
addDescription :: Text -> Lists -> Lists
addDue :: Text -> Lists -> Lists
prefix :: Config -> Text -> (Config -> Text) -> (Text -> Lists -> Lists) -> Maybe (Lists -> Lists)
matches :: [(Config -> Text, Text -> Lists -> Lists)]
start :: Config -> (Lists, [Int]) -> (Text, Int) -> (Lists, [Int])
decodeError :: String -> Maybe Word8 -> Maybe Char
parse :: Config -> ByteString -> Either Text Lists
subtaskStringify :: Config -> Text -> Subtask -> Text
descriptionStringify :: Config -> Text -> Text
dueStringify :: Config -> Day -> Text
nameStringify :: Config -> Text -> Text
taskStringify :: Config -> Text -> Task -> Text
listStringify :: Config -> Text -> List -> Text
stringify :: Config -> Lists -> ByteString

module IO.Taskell
type ReaderConfig a = ReaderT Config IO a
data Next
Output :: Text -> Next
Load :: FilePath -> Lists -> Next
Exit :: Next
parseArgs :: [Text] -> ReaderConfig Next
load :: ReaderConfig Next
loadFile :: Text -> ReaderConfig Next
loadRemote :: (token -> FilePath -> ReaderConfig Next) -> token -> Text -> ReaderConfig Next
loadTrello :: TrelloBoardID -> Text -> ReaderConfig Next
loadGitHub :: GitHubIdentifier -> Text -> ReaderConfig Next
fileInfo :: Text -> ReaderConfig Next
createRemote :: (Config -> Maybe token) -> Text -> (token -> ReaderT token IO (Either Text Lists)) -> token -> FilePath -> ReaderConfig Next
createTrello :: TrelloBoardID -> FilePath -> ReaderConfig Next
createGitHub :: GitHubIdentifier -> FilePath -> ReaderConfig Next
exists :: Text -> ReaderConfig (Maybe FilePath)
fileExists :: FilePath -> ReaderConfig Bool
promptCreate :: FilePath -> ReaderConfig Bool
createPath :: FilePath -> ReaderConfig ()
writeData :: Config -> Lists -> FilePath -> IO ()
readData :: FilePath -> ReaderConfig (Either Text Lists)

module Events.State
continue :: State -> State
write :: Stateful
countCurrent :: State -> Int
normalise :: State -> State
create :: FilePath -> Lists -> State
quit :: Stateful
startEdit :: Stateful
startCreate :: Stateful
createListStart :: Stateful
editListStart :: Stateful
deleteCurrentList :: Stateful
clearItem :: Stateful
above :: Stateful
below :: Stateful
bottom :: Stateful
previous :: Stateful
next :: Stateful
left :: Stateful
right :: Stateful
up :: Stateful
down :: Stateful
moveLeft :: Stateful
moveRight :: Stateful
delete :: Stateful
selectList :: Char -> Stateful
listLeft :: Stateful
listRight :: Stateful
undo :: Stateful
store :: Stateful
searchMode :: Stateful
searchEntered :: Stateful
createList :: Stateful
removeBlank :: Stateful
newItem :: Stateful
normalMode :: Stateful
finishTask :: Stateful
finishListTitle :: Stateful
showHelp :: Stateful
showMoveTo :: Stateful
moveTo :: Char -> Stateful
getCurrentList :: State -> Int
getCurrentTask :: State -> Maybe Task
setCurrentTask :: Task -> Stateful

module App

-- | Sets up Brick
go :: Config -> State -> IO ()
