zsh-users
 help / color / mirror / code / Atom feed
From: Filipe Silva <filipe.silva@gmail.com>
To: Bart Schaefer <schaefer@brasslantern.com>
Cc: zsh-users@zsh.org
Subject: Re: [vi-mode] widgets for case manipulation: `gU` and `U` in visual mode
Date: Wed, 22 Jun 2016 10:23:37 -0300	[thread overview]
Message-ID: <CAEwkUWNw=oYJs7NV7c8ZTQp+j6CHrtUsDEcMaH+vVVWpdEof_w@mail.gmail.com> (raw)
In-Reply-To: <CAEwkUWM0O2Wzh1rYPUK4HU3P5MxZHJnA-5NT+Mow_3oMQbtwag@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2095 bytes --]

Now that 5.0.8 and text objects were mentioned, I think there's a bug with
the `surround` widget. Or maybe just the usage instructions are incorrect.

here are the usage instructions of the `surround` widget on zsh master:

https://github.com/zsh-users/zsh/blob/master/Functions/Zle/surround#L4-L12

# Implementation of some functionality of the popular vim surround plugin.
# Allows "surroundings" to be changes: parentheses, brackets and quotes.

# To use
#   autoload -Uz surround
#   zle -N delete-surround surround
#   zle -N add-surround surround
#   zle -N change-surround surround
#   bindkey -a cs change-surround
#   bindkey -a ds delete-surround
#   bindkey -a ys add-surround
#   bindkey -M visual S add-surround


If I add this to my vi-mode zsh plugin, it does nothing.

for instance, the `ys` chord is not being picked up.

supose i have a word: `abcde` and the cursor is in `c`. if I'm in
normal mode and type `ys` zle thinks that I've hit `s` and deletes the
`c` character and puts me in insert mode.

Maybe it's a bug?


On Wed, Jun 22, 2016 at 10:19 AM, Filipe Silva <filipe.silva@gmail.com>
wrote:

> Hi Oliver, thanks for sharing the widgets. You should know that there's a
> bug in both widgets in an edge case:
>
> suppose you have the word `abc` and `a` is the first char of the line.
> also suppose you've select just the `ab` of the `abc` word and then hit
> `U`:
>
>
> ```
> # [ab] is the visually selected text
>
> $ [ab]c
> ```
>
> after you hit `U` the result is
>
> ```
> $ cAB
> ```
>
> I've fixed the bug including the following condition:
>
> if [[ $save_cur = '1' ]]; then
>     zle .vi-put-before -n 1
>   else
>     zle .vi-put-after -n 1
>   fi
>
>
>
> On Wed, Jun 22, 2016 at 3:42 AM, Bart Schaefer <schaefer@brasslantern.com>
> wrote:
>
>> On Jun 22,  1:10am, Oliver Kiddle wrote:
>> }
>> } Some of the text objects were done via shell widgets - select-quoted and
>> } select-bracketed which select text between delimiters.
>>
>> Incidentally, I think select-bracketed might break given ksharrays --
>> select-quoted explictly turns ksharrays off.
>>
>
>

  reply	other threads:[~2016-06-22 13:23 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21 18:51 Filipe Silva
2016-06-21 23:10 ` Oliver Kiddle
2016-06-22  6:42   ` Bart Schaefer
2016-06-22 13:19     ` Filipe Silva
2016-06-22 13:23       ` Filipe Silva [this message]
2016-06-22 15:09         ` Oliver Kiddle
2016-06-22 15:25           ` Filipe Silva
2016-06-22 15:28             ` Filipe Silva
2016-06-22 22:29               ` Oliver Kiddle
2016-06-23  4:30                 ` Filipe Silva
2016-06-23  5:28                   ` Bart Schaefer
2016-06-23 22:37                   ` Bart Schaefer
2016-06-22 19:10           ` Filipe Silva
2016-06-22 20:11             ` Oliver Kiddle
2016-06-22 20:19             ` Bart Schaefer

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='CAEwkUWNw=oYJs7NV7c8ZTQp+j6CHrtUsDEcMaH+vVVWpdEof_w@mail.gmail.com' \
    --to=filipe.silva@gmail.com \
    --cc=schaefer@brasslantern.com \
    --cc=zsh-users@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).