| Copyright | (c) Eric Mertens, 2016 |
|---|---|
| License | ISC |
| Maintainer | emertens@gmail.com |
| Safe Haskell | None |
| Language | Haskell2010 |
Client.Commands
Contents
Description
This module renders the lines used in the channel mask list. A mask list can show channel bans, quiets, invites, and exceptions.
- data CommandResult
- execute :: String -> ClientState -> IO CommandResult
- executeUserCommand :: Maybe Text -> String -> ClientState -> IO CommandResult
- commandExpansion :: Maybe Text -> ClientState -> Text -> Maybe Text
- tabCompletion :: Bool -> ClientState -> IO CommandResult
- data Command = Command (ArgumentSpec a) (CommandImpl a)
- commands :: HashMap Text Command
Documentation
data CommandResult Source #
Possible results of running a command
Constructors
| CommandSuccess ClientState | Continue running the client, consume input if command was from input |
| CommandFailure ClientState | Continue running the client, report an error |
| CommandQuit ClientState | Client should close |
Arguments
| :: String | chat or command |
| -> ClientState | |
| -> IO CommandResult |
Interpret the given chat message or command. Leading / indicates a
command. Otherwise if a channel or user query is focused a chat message
will be sent.
executeUserCommand :: Maybe Text -> String -> ClientState -> IO CommandResult Source #
Execute command provided by user, resolve aliases if necessary.
Arguments
| :: Maybe Text | disconnect time |
| -> ClientState | client state |
| -> Text | expansion variable |
| -> Maybe Text | expansion value |
Compute the replacement value for the given expansion variable.
Arguments
| :: Bool | reversed |
| -> ClientState | |
| -> IO CommandResult |
Respond to the TAB key being pressed. This can dispatch to a command specific completion mode when relevant. Otherwise this will complete input based on the users of the channel related to the current buffer.
Commands
Pair of a command and it's argument specification
Constructors
| Command (ArgumentSpec a) (CommandImpl a) |