On 2021-09-11 06:39 PM, Lawrence Velázquez wrote:
On Sat, Sep 11, 2021, at 5:01 PM, Steve Dondley wrote:> "man zshzle" will tell you about special widgets. Basically, they're > just user defined commands that instead of being called by a keystroke > are called at particular points during editing. > > The test is just an ordinary zsh pattern, as used for globbing / file > matching, so it's easy to extend... > > if [[ $BUFFER = (tasn|taxx|tmxx)' '* && $BUFFER != *\\* ]]; then Nice. Yeah, this annoyance has been bugging me for years. I'll share this out to the TW community, I'm sure others will love this, too.This is fun and all, but it's not clear to me why this is desirable over, say: % tasn "call Tom's friend"
The technical answer is two-fold:1) I may not know ahead of time if I double quotes are needed and would rather not have to go back and insert if I forget them. 2) I could address this by always putting in double quotes. But that's four keystrokes I'd rather not have to type if I don't have to. And actually, it's more like thousands upon thousand of keystrokes over a few years time. A 1/2 second here and there eventually adds up to hours typing a key I don't have. Why would I want to do that?
The non-technical answer is that computers should accommodate us, not vice versa. I shouldn't have to be knowledgeable about my shell to interact with an application. A good application should be accessible to non-technical users who may have no idea why they need to type in a slash into a sentence meant for humans to input and read.
So I can now introduce this program to my wife who knows nothing of shells and I don't have to explain to her "always surround the tasks with double quotes but if you want to use a double quote in between those quotes you have to escape it with a back slash (no, not that one, the one above the 'return' key). That would be a non-starter.