aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-08-12 00:51:41 +0200
committerRobin Jarry <robin@jarry.cc>2023-11-02 16:30:47 +0100
commit44a55d41ad6b5c61c75456414e13aec94b367b02 (patch)
tree8c82e4a02cda4210d39af99d63865e260f01992d /app
parentc4e6de9d59cc534171fd0ef9fa51995e70a8b32e (diff)
downloadaerc-44a55d41ad6b5c61c75456414e13aec94b367b02.tar.gz
complete: allow setting the completion key binding
Until now, if less than complete-min-chars were entered or if completion-delay had not expired yet, the only way to force trigger completion was to press <tab>. In some cases, <tab> is already bound to another action (for example :next-field in the compose::editor context). This makes forcing the completion impossible. Allow defining a key to trigger manual completion via the new $complete special entry in binds.conf. Leave the default binding to <tab>. Set it to <C-o> in the [compose::editor] to avoid conflicting with the existing <tab> binding. Changelog-added: Customize key to trigger completion with `$complete` in `binds.conf`. Signed-off-by: Robin Jarry <robin@jarry.cc> Reviewed-by: Tim Culverhouse <tim@timculverhouse.com>
Diffstat (limited to 'app')
-rw-r--r--app/compose.go3
-rw-r--r--app/exline.go3
2 files changed, 6 insertions, 0 deletions
diff --git a/app/compose.go b/app/compose.go
index 9ab8206b..bf1d32cb 100644
--- a/app/compose.go
+++ b/app/compose.go
@@ -245,6 +245,7 @@ func (c *Composer) buildComposeHeader(cmpl *completer.Completer) {
cmpl.ForHeader(h),
uiConfig.CompletionDelay,
uiConfig.CompletionMinChars,
+ &config.Binds.Compose.CompleteKey,
)
}
c.editors[h] = e
@@ -277,6 +278,7 @@ func (c *Composer) buildComposeHeader(cmpl *completer.Completer) {
cmpl.ForHeader(h),
uiConfig.CompletionDelay,
uiConfig.CompletionMinChars,
+ &config.Binds.Compose.CompleteKey,
)
}
c.editors[h] = e
@@ -1420,6 +1422,7 @@ func (c *Composer) addEditor(header string, value string, appendHeader bool) str
c.completer.ForHeader(header),
uiConfig.CompletionDelay,
uiConfig.CompletionMinChars,
+ &config.Binds.Compose.CompleteKey,
)
}
c.editors[header] = e
diff --git a/app/exline.go b/app/exline.go
index b941b100..61fc340a 100644
--- a/app/exline.go
+++ b/app/exline.go
@@ -26,6 +26,7 @@ func NewExLine(cmd string, commit func(cmd string), finish func(),
tabcomplete,
config.Ui.CompletionDelay,
config.Ui.CompletionMinChars,
+ &config.Binds.Global.CompleteKey,
)
}
exline := &ExLine{
@@ -43,6 +44,7 @@ func (x *ExLine) TabComplete(tabComplete func(string) ([]string, string)) {
tabComplete,
config.Ui.CompletionDelay,
config.Ui.CompletionMinChars,
+ &config.Binds.Global.CompleteKey,
)
}
@@ -55,6 +57,7 @@ func NewPrompt(prompt string, commit func(text string),
tabcomplete,
config.Ui.CompletionDelay,
config.Ui.CompletionMinChars,
+ &config.Binds.Global.CompleteKey,
)
}
exline := &ExLine{