On Sun, Nov 29, 2015 at 10:19 PM, Daniel Shahaf wrote: > I wouldn't know you were new to zsh if you didn't say so; the code looks > as good as anyone's. The one thing I would suggest is to use the > ${BUFFER[(i)$char]} syntax in the 'for' loop, which should translate to > a strchr() or strstr() call at the C level. (There's also the > ${(ps:$char:)BUFFER} syntax, but I'm not sure it gains you anything.) > > I tried the (i) thing but the function stopped working. I couldn't find what it was supposed to do in the zsh manual, only something about use as a flag for case-insensitive search which doesn't seem relevant. How do people debug these types of things? > Also, three minor points: > > - With recent zsh, WARN_CREATE_GLOBAL complains: > (anon):1: scalar parameter ZSH_JUMP_TARGET_CHOICES created globally in > function (anon) > (anon):2: scalar parameter ZSH_JUMP_TARGET_STYLE created globally in > function (anon) > The fix is to declare these parameters either global ('typeset -g') or > 'local'. > > - You could use 'region_highlight+=("foo bar baz")' to append to the array. > > - You might use an 'always' block to restore $orig_region_highlight. > > P.S. Perhaps you could throw a LICENSE file into that repository? > > Thanks for the feedback, I fixed all these things. Scott