From: Sebastian Gniazdowski <psprint@zdharma.org>
To: zsh-workers@zsh.org
Subject: Naive question: how hard are namespaces for functions
Date: Mon, 15 May 2017 10:24:50 +0200 [thread overview]
Message-ID: <etPan.591965d2.3d1b58ba.6b4c@MacMini.local> (raw)
Hello,
writing something sophisticated involves multiple functions. E.g. I have 47 interactive-mode (not at-startup time) functions in Zplugin, to provide things like:
% zplugin csearch # Search for completions of plugins
[+] is installed, [-] uninstalled, [+-] partially installed
[+] _local/zplugin _zplugin
[-] benclark/parallels-zsh-plugin _parallels
[-] or17191/going_places _favrm, _goto
[+] psprint/zsh-navigation-tools _n-kill
[-] tevren/gitfast-zsh-plugin _git
So one can disable/enable selected completions. This is nice, but it hurts me that compared to zsh -f, $functions here are very populated. I have much free time so I invest it in Zsh, from this experience I can theoretically see Zsh becoming more like e.g. Ruby. Modules can be built outside Zsh source as plugins, I plan to add Oracle DBM module either on Github or in Zsh upstream, there is the fresh zsh/gdbm module (and it loads in just 0.43 ms, according to zprof, so modules are good way to go), I also plan to publish the regex re2 module from Phill as plugin. Then there is ZUI library, I wrote variable browser (https://github.com/zdharma/zbrowse) in 4 hours with it.
The point is: there is growing discomfort that $functions and $parameters tend to get more populated. Database, regex, etc. support can grow, ZUI applications can grow, but it comes down to single bag for all this, single namespace.
Maybe a namespace support at least for $functions can be easily added? Few ready namespaces:
- completions,
- autosuggestions plugin ${#functions[(I)_zsh_autosuggest*]} == 253
- zsh-syntax-highlighting, ${#functions[(I)_zsh_highlight*]} == 250
The point is to make $functions/functions (builtin) usable again. Like it probably was 5-10 years ago when one could use $functions to e.g. find interactively created functions. Now it's impossible.
--
Sebastian Gniazdowski
psprint /at/ zdharma.org
next reply other threads:[~2017-05-15 8:39 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-15 8:24 Sebastian Gniazdowski [this message]
2017-05-17 14:20 ` Sebastian Gniazdowski
2017-05-17 22:43 ` Bart Schaefer
2017-05-18 10:29 ` Sebastian Gniazdowski
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=etPan.591965d2.3d1b58ba.6b4c@MacMini.local \
--to=psprint@zdharma.org \
--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).