From: Marlon Richert <marlon.richert@gmail.com>
To: Zsh hackers list <zsh-workers@zsh.org>
Subject: Patch 1/3: Fix prefix insertion logic
Date: Sat, 29 Apr 2023 21:07:35 +0300 [thread overview]
Message-ID: <CAHLkEDsRGPC1KMW9n_-L49mqp4CECdTFbUMK=5rT+NDXS_59QQ@mail.gmail.com> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #1.2: Type: text/html, Size: 96 bytes --]
[-- Attachment #2: 0001-51641-Fix-_prefix-insertion-logic.txt --]
[-- Type: text/plain, Size: 2609 bytes --]
From 6a4f094ebd11e10a03d8c10016a0f6de392022ba Mon Sep 17 00:00:00 2001
From: Marlon Richert <marlon.richert@hibox.tv>
Date: Sat, 29 Apr 2023 19:25:37 +0300
Subject: [PATCH 1/3] 51641: Fix _prefix insertion logic
---
Completion/Base/Completer/_prefix | 9 +--------
Test/Y01completion.ztst | 18 ++++++++++++++++++
Test/comptest | 2 +-
3 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/Completion/Base/Completer/_prefix b/Completion/Base/Completer/_prefix
index 74be5f47d..01739166e 100644
--- a/Completion/Base/Completer/_prefix
+++ b/Completion/Base/Completer/_prefix
@@ -49,14 +49,7 @@ for tmp in "$comp[@]"; do
fi
if [[ "$tmp" != _prefix ]] && "$tmp"; then
- [[ compstate[nmatches] -gt 1 ]] && return 0
- compadd -U -i "$IPREFIX" -I "$ISUFFIX" - "${compstate[unambiguous]%$suf}x"
- compstate[list]=
- if [[ -n $compstate[unambiguous] ]]; then
- compstate[insert]=unambiguous
- else
- compstate[insert]=0
- fi
+ compstate[to_end]=''
return 0
fi
(( _matcher_num++ ))
diff --git a/Test/Y01completion.ztst b/Test/Y01completion.ztst
index f976f9f91..51e246307 100644
--- a/Test/Y01completion.ztst
+++ b/Test/Y01completion.ztst
@@ -63,6 +63,24 @@
>NO:{file1}
>NO:{file2}
+ comptesteval 'tst-insert() { compstate[insert]=1; compstate[list]= }'
+ comptesteval 'comppostfuncs=( tst-insert )'
+ comptest $': dir1\ebf\t'
+0:_prefix with compstate[insert]=1 does not move to end
+>line: {: file1}{dir1}
+
+ comptesteval 'unfunction tst-insert'
+ comptesteval 'comppostfuncs=()'
+ comptest $': dir1\ebf\t\t\t\t'
+0:_prefix inserts unambiguous and does not move to end
+>line: {: file}{dir1}
+>line: {: file}{dir1}
+>DESCRIPTION:{file}
+>FI:{file1}
+>FI:{file2}
+>line: {: file1}{dir1}
+>line: {: file2}{dir1}
+
comptesteval $'zstyle -d \'*\' glob'
comptesteval '_users () { compadd user1 user2 }'
comptest $': ~\t\t\t\t\t'
diff --git a/Test/comptest b/Test/comptest
index 79c69979a..a57f4bcc4 100644
--- a/Test/comptest
+++ b/Test/comptest
@@ -40,7 +40,7 @@ KEYTIMEOUT=1
setopt zle
autoload -U compinit
compinit -u
-zstyle ":completion:*" completer _expand _complete _ignored
+zstyle ":completion:*" completer _expand _complete _prefix _ignored
zstyle ":completion:*:default" list-colors "no=<NO>" "fi=<FI>" "di=<DI>" "ln=<LN>" "pi=<PI>" "so=<SO>" "bd=<BD>" "cd=<CD>" "ex=<EX>" "mi=<MI>" "tc=<TC>" "sp=<SP>" "lc=<LC>" "ec=<EC>\n" "rc=<RC>"
zstyle ":completion:*" group-name ""
zstyle ":completion:*:messages" format "<MESSAGE>%d</MESSAGE>
--
2.39.2 (Apple Git-143)
next reply other threads:[~2023-04-29 18:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-29 18:07 Marlon Richert [this message]
2023-04-29 18:08 ` Patch 2/3: Make dynamic dir completion easier to implement Marlon Richert
2023-04-29 18:09 ` Patch 3/3: Fix subscript completion bugs inside ~[...] Marlon Richert
2023-04-29 18:58 ` Patch 1/3: Fix prefix insertion logic Felipe Contreras
2023-04-29 19:02 ` Marlon Richert
2023-04-29 19:17 ` Bart Schaefer
2023-05-01 21:08 ` Aaron Schrab
2023-05-01 22:03 ` Bart Schaefer
2023-05-05 11:41 ` [PATCH 1/3] Fix _prefix " Marlon Richert
2023-06-07 6:03 ` Marlon Richert
2023-06-08 12:41 ` Jun. T
2023-06-15 14:11 ` Marlon Richert
2023-05-05 11:41 ` [PATCH 2/3] Make dynamic dir completion easier to implement Marlon Richert
2023-05-06 17:28 ` Bart Schaefer
2023-05-13 17:30 ` Bart Schaefer
2023-05-15 9:04 ` Oliver Kiddle
2023-05-05 11:41 ` [PATCH 3/3] Fix subscript completion bugs inside ~[...] Marlon Richert
2023-05-01 22:37 ` Patch 1/3: Fix prefix insertion logic Felipe Contreras
2023-05-01 22:52 ` Bart Schaefer
2023-05-02 4:49 ` Felipe Contreras
2023-05-02 19:16 ` Bart Schaefer
2023-05-02 20:14 ` Felipe Contreras
2023-05-05 11:51 ` Marlon Richert
2023-05-05 12:38 ` Felipe Contreras
2023-05-05 15:04 ` Mikael Magnusson
2023-05-06 17:23 ` Bart Schaefer
2023-05-01 23:36 ` Vin Shelton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAHLkEDsRGPC1KMW9n_-L49mqp4CECdTFbUMK=5rT+NDXS_59QQ@mail.gmail.com' \
--to=marlon.richert@gmail.com \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).