From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 37840457 for ; Fri, 3 Jan 2020 00:26:16 +0000 (UTC) Received: (qmail 18423 invoked by alias); 3 Jan 2020 00:26:09 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 45201 Received: (qmail 18809 invoked by uid 1010); 3 Jan 2020 00:26:08 -0000 X-Qmail-Scanner-Diagnostics: from mail-ua1-f43.google.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.1/25677. spamassassin: 3.4.2. Clear:RC:0(209.85.222.43):SA:0(-2.0/5.0):. Processed in 3.275008 secs); 03 Jan 2020 00:26:08 -0000 X-Envelope-From: sgniazdowski@gmail.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _netblocks.google.com designates 209.85.222.43 as permitted sender) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=iD3GLJUdajjuFQhP5SV6tyLToYEv9AidSzKn2YI43Bk=; b=TPBBElETOzE+Y6CR5/p+aReq+YnsCinC+tDeifegK+Dgla4tvOk6Q5JpEdQs9RXfKd gGAJN5Rv69BSWwnX3UH5TaEzUcrDciTPCQP6rrsVGJioy7xwpZFgQXg4A2SctW9DLy68 /U552iiFv+BKAg0UnKgCYVe/Lp0VlNVnXTUsNJ1Czn2cjlaCotQUez6pJbMsns2XfWH5 cCmQu8qJwaQLy1E0/gkwg6FltHITVdNaxTWC8La/tmlUnGIZgQV9kndmHSHVix/z5iC9 ry2z3WKbl1u3rUon13/SZzp8Q0IFwUMv4Ze+e8usFxGz+51ctaYMf3ERTKE9X8e0RGGa p4Gw== X-Gm-Message-State: APjAAAUZraIvcJr6KNaTOHC/lGy7bStFxCP2ajRRSEo+8Oog9127EtMS vJe3V/ZgdaO/RhedYM5m5xcc204mOwbV/66rJopIND8U X-Google-Smtp-Source: APXvYqx64yXLjXTKg8bxfJIRubV9OhelAL6D+ipzP10OM9Mkta2l5a55fafi1TywounCo3uXgev1ZKHLb7yX7mSaSxQ= X-Received: by 2002:ab0:6954:: with SMTP id c20mr46375059uas.82.1578011130520; Thu, 02 Jan 2020 16:25:30 -0800 (PST) MIME-Version: 1.0 References: <63663202-4b1d-428a-b16b-5be1425e84ef@www.fastmail.com> <0C0C9775-59EE-4FBB-AB84-3E7FEF6E5024@dana.is> In-Reply-To: <0C0C9775-59EE-4FBB-AB84-3E7FEF6E5024@dana.is> From: Sebastian Gniazdowski Date: Fri, 3 Jan 2020 01:25:21 +0100 Message-ID: Subject: Re: Official plugin manager? To: dana Cc: Daniel Shahaf , Zsh hackers list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2 Jan 2020 at 22:28, dana wrote: > I agree that zsh provides an underwhelming out-of-box experience for novi= ce > users and that they are funnelled into OMZ in an attempt to address that.= It'd > be nice if that wasn't the case. I'm not necessarily opposed to an offici= al > plug-in manager, but i'm not sure it follows that creating one would solv= e > this specific problem. I cannot recall my first contact with Zsh as it was ~14 years ago, however, when reconstructing I would say that I was pretty much impressed by the hash table availability, about which I've read in some pros and cons, Bash vs. Zsh article. I've couldn't believe how can you have an "official Linux shell" (i.e.: Bash) without them. Then I recall reading the description of *each* option and turning it on/off in .zshrc. I'm still using the options, like octal_zeros, for example, c_bases, numeric_glob_sort, complete_in_word, no_glob_complete, and others. Noticing: the last one isn't active now when I'm using menu select. Then I've probably searched the net looking for how to make the keys like home, end work, found out the $terminfo trick to notice that it's not working for all keys and then hardcoding cat -v sequences. So my experience was maybe a bit different, I was ready to get the best shell imagined (because of the hash tables) by going close to the detailed configuration from the start. But maybe others were like this too and they are just recalling the literally first contact with Zsh. > Lots of zsh plug-in managers already exist. Any one of them can be used b= y > blog authors to 'share decent zshrcs which would also include the other n= eeded > setopts and zstyles, etc.' *right now*. I think that this hits a wall of having a choice. "Hey, I just want a *reasonable* p-m to get all the plugins, as that's what actually matters, isn't it? Why do I have to decide on the p-m, if I'm going to do this properly then I'll at least enter 'best zsh plugin manager' in Google, and this means work, work, lost time and large impatience intake. And then the slight discomfort of not diving into the topic enough deep and deciding on a p-m mostly by its cool name - hey, am I really using the p-m that I should?" > The only thing that > would be different about a first-party plug-in manager is that you wouldn= 't > have to install it first. Yes and I think that this is a significant factor in the first-contact experience. > Novice users don't use OMZ because they want to manage plug-ins. They use= it > because they want a command they can just run to get the fancy completion= and > prompts they see in screen-shots (...) > Were we to provide a first-party plug-in manager, > in the absence of other changes, it would simply be used to install OMZ, = or > something like it. Ok, I can agree with this, although having a theme loaded by a single line in zshrc does contribute very much to fulfilling the expectations of new users that you've mentioned. As for the completion and other things, like properly working home/end keys, the p-m could address this by point 6. in the original post =E2=80=93 by allowing sourcables, not only autoloads. For example, Roman shares a decent bindkey setup: https://www.reddit.com/r/zsh/comments/eblqvq/d/fb7337q/ Why not store this snippet into a plugin called 'bindkeys', which would have been a subdirectory in /usr/share/zsh//plugins/bindkeys, in a file "translate.zsh" to highlight the bindkey-s-translation property of the setup, to then allow users loading it with: zsh-pm pick=3Dtranslate.zsh @bindkeys ? > (...) that most users now don't really want the degree of control (...) > They just want the cool stuff. If that's true, i feel like having > the wizard simply offer to turn on that (pre-determined) cool stuff would= be > an easier and more effective way to cut into the OMZ use case than a plug= -in > manager. OK, however, the sourcables-backend to zsh-newuser-install is IMO needed first. Then the install function could offer to append: zsh-pm pick=3Dnodups.zsh param=3D'size -> 10000' @history to the zshrc. PS. The zsh-pm is just a conservative quasi-idea of the possible name of the function of the p-m. PS2. To illustrate the benefits of sourcables I'm gonna again use Roman's snippet, as it serves well for the possible bundled-plugin example: https://www.reddit.com/r/zsh/comments/dkjp27/bindkey_quest/f4glg6n zsh-pm @meta-cd OR zsh-pm param=3D'back -> ^B; forward -> ^F' @meta-cd Basically, such a plugin would be one other way to spice-up the first contact with Zsh, and it shows the benefits of sourcables-approach. --=20 Sebastian Gniazdowski News: https://twitter.com/ZdharmaI IRC: https://kiwiirc.com/client/chat.freenode.net:+6697/#zplugin Blog: http://zdharma.org