mirror of
https://github.com/ilyakooo0/vty.git
synced 2024-11-25 19:22:08 +03:00
inputForConfig: move mode flag documentation to the right place and update it to include enabled flags
This commit is contained in:
parent
c572ad1ac7
commit
95cabe0b87
@ -143,22 +143,8 @@ import Data.Monoid ((<>))
|
||||
-- bytes comes from 'classifyMapForTerm' which is then overridden by
|
||||
-- the the applicable entries from the configuration's 'inputMap'.
|
||||
--
|
||||
-- The terminal device is configured with the attributes:
|
||||
--
|
||||
-- * IXON disabled: disables software flow control on outgoing data.
|
||||
-- This stops the process from being suspended if the output terminal
|
||||
-- cannot keep up.
|
||||
--
|
||||
-- * Raw mode is used for input.
|
||||
--
|
||||
-- * ISIG disabled (enables keyboard combinations that result in
|
||||
-- signals)
|
||||
--
|
||||
-- * ECHO disabled (input is not echoed to the output)
|
||||
--
|
||||
-- * ICANON disabled (canonical mode (line mode) input is not used)
|
||||
--
|
||||
-- * IEXTEN disabled (extended functions are disabled)
|
||||
-- The terminal device's mode flags are configured by the
|
||||
-- 'attributeControl' function.
|
||||
inputForConfig :: Config -> IO Input
|
||||
inputForConfig config@Config{ termName = Just termName
|
||||
, inputFd = Just termFd
|
||||
|
@ -171,6 +171,31 @@ runInputProcessorLoop classifyTable input = do
|
||||
<*> pure (classify classifyTable)
|
||||
runReaderT (evalStateT loopInputProcessor s0) input
|
||||
|
||||
-- | Construct two IO actions: one to configure the terminal for Vty and
|
||||
-- one to restore the terminal mode flags to the values they had at the
|
||||
-- time this function was called.
|
||||
--
|
||||
-- This function constructs a configuration action to clear the
|
||||
-- following terminal mode flags:
|
||||
--
|
||||
-- * IXON disabled: disables software flow control on outgoing data.
|
||||
-- This stops the process from being suspended if the output terminal
|
||||
-- cannot keep up.
|
||||
--
|
||||
-- * Raw mode is used for input.
|
||||
--
|
||||
-- * ISIG (enables keyboard combinations that result in
|
||||
-- signals)
|
||||
--
|
||||
-- * ECHO (input is not echoed to the output)
|
||||
--
|
||||
-- * ICANON (canonical mode (line mode) input is not used)
|
||||
--
|
||||
-- * IEXTEN (extended functions are disabled)
|
||||
--
|
||||
-- The configuration actual also explicitly sets these flags:
|
||||
--
|
||||
-- * ICRNL (input carriage returns are mapped to newlines)
|
||||
attributeControl :: Fd -> IO (IO (), IO ())
|
||||
attributeControl fd = do
|
||||
original <- getTerminalAttributes fd
|
||||
|
Loading…
Reference in New Issue
Block a user