File tree Expand file tree Collapse file tree 1 file changed +10
-8
lines changed
Expand file tree Collapse file tree 1 file changed +10
-8
lines changed Original file line number Diff line number Diff line change 2020# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2121# THE SOFTWARE.
2222
23-
2423import string
24+ from typing import TypeVar , Generic , Tuple , Dict
25+
26+ T = TypeVar ("T" )
2527
2628
27- class KeyMap :
28- def __init__ (self , default = "" ) :
29- self .map = {}
29+ class KeyMap ( Generic [ T ]) :
30+ def __init__ (self , default : T ) -> None :
31+ self .map : Dict [ str , T ] = {}
3032 self .default = default
3133
32- def __getitem__ (self , key ) :
34+ def __getitem__ (self , key : str ) -> T :
3335 if not key :
3436 # Unbound key
3537 return self .default
@@ -40,14 +42,14 @@ def __getitem__(self, key):
4042 f"Configured keymap ({ key } ) does not exist in bpython.keys"
4143 )
4244
43- def __delitem__ (self , key ):
45+ def __delitem__ (self , key : str ):
4446 del self .map [key ]
4547
46- def __setitem__ (self , key , value ):
48+ def __setitem__ (self , key : str , value : T ):
4749 self .map [key ] = value
4850
4951
50- cli_key_dispatch = KeyMap (tuple ())
52+ cli_key_dispatch : KeyMap [ Tuple [ str , ...]] = KeyMap (tuple ())
5153urwid_key_dispatch = KeyMap ("" )
5254
5355# fill dispatch with letters
You can’t perform that action at this time.
0 commit comments