on master help sign in
rename ClassifyTable to ClassifyTableV1
commit4fae6a290b0a5d106c47ee68205f39ed284ef347 authorCorey O'Connor <coreyoconnor@gmail.com> dateSun 17 Nov 2013, 20:59 (13 years ago) parent3a57dac
5 files changed+16−15
install_examples+1 src/Graphics/Vty/Input/Data.hs+9−9 src/Graphics/Vty/Input/Internal.hs+3−3 src/Graphics/Vty/Input/Terminfo.hs+1−1 test/VerifyUsingMockInput.hs+2−2
install_examples+1
@@ -1,3 +1,4 @@
11#!/bin/bash
2+set -ex
23cabal install
34(cd test && cabal install)
src/Graphics/Vty/Input/Data.hs+9−9
@@ -82,14 +82,14 @@ nav_keys_1 =
8282 ]
8383
8484-- | VT 100 (?) encoding for ins, del, pageup, pagedown, home, end
85−nav_keys_2 :: ClassifyTable
85+nav_keys_2 :: ClassifyTableV1
8686nav_keys_2 =
8787 let k n s = ("\ESC["++show n++"~",(s,[]))
8888 in zipWith k [2::Int,3,5,6,1,4]
8989 [KIns,KDel,KPageUp,KPageDown,KHome,KEnd]
9090
9191-- | VT 100 (?) encoding for ctrl + ins, del, pageup, pagedown, home, end
92−nav_keys_3 :: ClassifyTable
92+nav_keys_3 :: ClassifyTableV1
9393nav_keys_3 =
9494 let k n s = ("\ESC["++show n++";5~",(s,[MCtrl]))
9595 in zipWith k [2::Int,3,5,6,1,4]
@@ -102,7 +102,7 @@ nav_keys_3 =
102102--
103103-- TODO: resolve
104104-- 1. start at ' '. The earlier characters are all ctrl_char_keys
105−simple_chars :: ClassifyTable
105+simple_chars :: ClassifyTableV1
106106simple_chars = [(x:[],(KASCII x,[])) | x <- [' ' .. toEnum 0xC1]]
107107
108108-- | VT 100 (?) encoding for shift plus function keys
@@ -114,7 +114,7 @@ simple_chars = [(x:[],(KASCII x,[])) | x <- [' ' .. toEnum 0xC1]]
114114-- ``meta mode'' on and off, they can be given as smm and rmm."
115115--
116116-- That is more complex than below. I cannot fault the original author for just hard coding a table.
117−function_keys_1 :: ClassifyTable
117+function_keys_1 :: ClassifyTableV1
118118function_keys_1 =
119119 let f ff nrs m = [ ("\ESC["++show n++"~",(KFun (n-(nrs!!0)+ff), m)) | n <- nrs ] in
120120 concat [f 1 [25,26] [MShift], f 3 [28,29] [MShift], f 5 [31..34] [MShift] ]
@@ -128,12 +128,12 @@ function_keys_1 =
128128-- the same as ESC should examine km and current encoding.
129129-- 3. stopped enumeration at '~' instead of '\DEL'. The latter is mapped to KBS by
130130-- special_support_keys.
131−function_keys_2 :: ClassifyTable
131+function_keys_2 :: ClassifyTableV1
132132function_keys_2 = [ ('\ESC':[x],(KASCII x,[MMeta])) | x <- '\t':[' ' .. '~'],
133133 x /= '[']
134134
135135-- | Ctrl+Char
136−ctrl_char_keys :: ClassifyTable
136+ctrl_char_keys :: ClassifyTableV1
137137ctrl_char_keys =
138138 [ ([toEnum x],(KASCII y,[MCtrl]))
139139 | (x,y) <- zip ([0..31]) ('@':['a'..'z']++['['..'_']),
@@ -143,14 +143,14 @@ ctrl_char_keys =
143143-- | Ctrl+Meta+Char
144144--
145145-- TODO: CTRL-i is the same as tab thing
146−ctrl_meta_keys :: ClassifyTable
146+ctrl_meta_keys :: ClassifyTableV1
147147ctrl_meta_keys =
148148 [ ('\ESC':[toEnum x],(KASCII y,[MMeta,MCtrl])) | (x,y) <- zip [0..31] ('@':['a'..'z']++['['..'_']),
149149 y /= 'i'
150150 ]
151151
152152-- | Special support
153−special_support_keys :: ClassifyTable
153+special_support_keys :: ClassifyTableV1
154154special_support_keys =
155155 [ -- special support for ESC
156156 ("\ESC",(KEsc,[])) , ("\ESC\ESC",(KEsc,[MMeta]))
@@ -161,7 +161,7 @@ special_support_keys =
161161 ]
162162
163163-- | classify table for ANSI terminals
164−ansi_classify_table :: [ClassifyTable]
164+ansi_classify_table :: [ClassifyTableV1]
165165ansi_classify_table =
166166 [ nav_keys_0
167167 , nav_keys_1
src/Graphics/Vty/Input/Internal.hs+3−3
@@ -47,7 +47,7 @@ inputToEventThread classifier inputChannel eventChannel = loop []
4747 MisPfx k m s -> writeChan eventChannel (EvKey k m) >> loop s
4848 Valid k m -> writeChan eventChannel (EvKey k m) >> loop ""
4949
50−compile :: ClassifyTable -> [Char] -> KClass
50+compile :: ClassifyTableV1 -> [Char] -> KClass
5151compile table = cl' where
5252 -- take all prefixes and create a set of these
5353 prefix_set = S.fromList $ concatMap (init . inits . fst) $ table
@@ -71,7 +71,7 @@ compile table = cl' where
7171 ++ "input not a prefix nor contains any event data "
7272 ++ show input_block
7373
74−classify, classifyTab :: ClassifyTable -> [Char] -> KClass
74+classify, classifyTab :: ClassifyTableV1 -> [Char] -> KClass
7575
7676-- As soon as
7777classify _table "\xFFFD" = EndLoop
@@ -98,7 +98,7 @@ utf8Length c
9898 | c < 0xF0 = 3
9999 | otherwise = 4
100100
101−initInputForFd :: Int -> ClassifyTable -> Fd -> IO (Chan Event, IO ())
101+initInputForFd :: Int -> ClassifyTableV1 -> Fd -> IO (Chan Event, IO ())
102102initInputForFd escDelay classify_table input_fd = do
103103 inputChannel <- newChan
104104 eventChannel <- newChan
src/Graphics/Vty/Input/Terminfo.hs+1−1
@@ -9,7 +9,7 @@ caps_classify_table :: Terminal -> [(String,Event)] -> [(String,Event)]
99caps_classify_table terminal table = [(x,y) | (Just x,y) <- map extract_cap table]
1010 where extract_cap = first (getCapability terminal . tiGetStr)
1111
12−classify_table_for_term :: Terminal -> ClassifyTable
12+classify_table_for_term :: Terminal -> ClassifyTableV1
1313classify_table_for_term term =
1414 let caps_legacy_table = map_to_legacy_table $ caps_classify_table term keys_from_caps_table
1515 in concat $ caps_legacy_table : ansi_classify_table
test/VerifyUsingMockInput.hs+2−2
@@ -101,7 +101,7 @@ compare_events input_spec expected_events out_events = compare_events' expected_
101101 printf "received events %s\n" (show out_events) :: IO ()
102102 return False
103103
104−assert_events_from_syn_input :: ClassifyTable -> InputSpec -> ExpectedSpec -> IO Bool
104+assert_events_from_syn_input :: ClassifyTableV1 -> InputSpec -> ExpectedSpec -> IO Bool
105105assert_events_from_syn_input table input_spec expected_events = do
106106 let max_duration = sum [t | Delay t <- input_spec] + min_detectable_delay
107107 event_count = length expected_events
@@ -126,7 +126,7 @@ assert_events_from_syn_input table input_spec expected_events = do
126126 out_events <- reverse <$> readIORef events_ref
127127 compare_events input_spec expected_events out_events
128128
129−assert_events_from_input_block :: ClassifyTable -> InputSpec -> ExpectedSpec -> IO Bool
129+assert_events_from_input_block :: ClassifyTableV1 -> InputSpec -> ExpectedSpec -> IO Bool
130130assert_events_from_input_block table input_spec expected_events = do
131131 let classifier = classify table
132132 max_duration = sum [t | Delay t <- input_spec] + min_detectable_delay