Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Naive question: how hard are namespaces for functions
- X-seq: zsh-workers 41104
- From: Sebastian Gniazdowski <psprint@xxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Naive question: how hard are namespaces for functions
- Date: Mon, 15 May 2017 10:24:50 +0200
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author