MCPcopy Create free account
hub / github.com/dbcli/mssql-cli / mssqlcli_bindings

Function mssqlcli_bindings

mssqlcli/key_bindings.py:9–83  ·  view source on GitHub ↗

Custom key bindings for mssqlcli.

(mssql_cli)

Source from the content-addressed store, hash-verified

7
8
9def mssqlcli_bindings(mssql_cli):
10 """
11 Custom key bindings for mssqlcli.
12 """
13 key_bindings = KeyBindings()
14
15 @key_bindings.add(u'f2')
16 def _(event):
17 """
18 Enable/Disable SmartCompletion Mode.
19 """
20 del event # event is unused
21 _logger.debug('Detected F2 key.')
22 mssql_cli.completer.smart_completion = not mssql_cli.completer.smart_completion
23
24 @key_bindings.add(u'f3')
25 def _(event):
26 """
27 Enable/Disable Multiline Mode.
28 """
29 del event # event is unused
30 _logger.debug('Detected F3 key.')
31 mssql_cli.multiline = not mssql_cli.multiline
32
33 @key_bindings.add(u'f4')
34 def _(event):
35 """
36 Toggle between Vi and Emacs mode.
37 """
38 _logger.debug('Detected F4 key.')
39 mssql_cli.vi_mode = not mssql_cli.vi_mode
40 event.app.editing_mode = EditingMode.VI if mssql_cli.vi_mode else EditingMode.EMACS
41
42 @key_bindings.add(u'tab')
43 def _(event):
44 """
45 Force autocompletion at cursor.
46 """
47 _logger.debug('Detected <Tab> key.')
48 b = event.app.current_buffer
49 if b.complete_state:
50 b.complete_next()
51 else:
52 b.start_completion(select_first=True)
53
54 @key_bindings.add(u'c-space')
55 def _(event):
56 """
57 Initialize autocompletion at cursor.
58
59 If the autocompletion menu is not showing, display it with the
60 appropriate completions for the context.
61
62 If the menu is showing, select the next completion.
63 """
64 _logger.debug('Detected <C-Space> key.')
65
66 b = event.app.current_buffer

Callers 1

_build_cliMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected