Commit Graph

32 Commits

Author SHA1 Message Date
Eric Nielsen 27508e363c
Stop supporting themes that require prompinit
Only 5% (18/342) of the themes listed under [unixorn/awesome-zsh-plugins]
are actually compatible with prompinit. Of these, [clean] also allows
being sourced directly. On the other hand, 3 others are prezto themes.

promptinit would be useful for who wants to try many themes without the
need to restart their shell session. And must be many many, so
"brute-force" starting a new shell to experiment each new theme would be
a burden! Even the cleanup feature of promptinit is still incomplete, so
you eventually get a messy prompt after trying many with it. And that's
not even a everyday use case of the average Zsh user.

So prompinit it not widely supported out there, and also not very useful
for the everyday let-me-use-my-beloved-and-carefully-customized-prompt-during-the-whole-shell-session-pleasee
scenario. It's also faster and simpler to directly just source the prompt
theme to be used, not even having to autoload promptinit and let it scan
all the others themes in fpath that won't be used.
And the Zim "philosophy" is to use fast and simple solutions.
So here we go.

Fixes #325

[unixorn/awesome-zsh-plugins]: e226f3de04/README.md (themes)
[clean]: https://github.com/BrandonRoehl/zsh-clean
2020-01-02 12:58:01 -05:00
Eric Nielsen 8dc3e43a0d
Add a plugin mechanism \o/
This is a major change, where Zsh modules/plugins are not git submodules
in the Zim repo anymore, but customized and installed separately as
individual repositories. The discussion about this started more than 2
years ago in #88. Closes #299.

This will allow contributors' modules to live in their own repositories.
See #33, #138, #262, #281, #324.

The current code has what, up to this point, I considered to be the best
balance between simplicity, execution speed and number of files.

One measured decision was to make the initialization of modules depend
only on the `':zim' modules` style, keeping it as fast as possible.
The `':zim:module' module` style is used to install, update and clean
the modules, all operations that happen after the user got his
as-blazing-fast-possible shell prompt.

Even though I didn't care much about making install or update fast,
`xargs` has a nice feature of allowing commands to be executed in
parallel with `-P`. I took advantage of that.

I've also worked on making the `zimfw` utility give the user some nice
(while still minimalistic) output. Also I'm suggesting this as the new
name for the `zmanage` tool, since `zimfw` does not shadow the `zim`
wiki tool.
2020-01-02 12:58:00 -05:00
Eric Nielsen a05890e8b4
Use cat to concatenate files in installation
Update installation instructions in README.md to use cat. Also add blank
lines at the end (instead of beginning) of template files, since they're
prepended (not appended) to existing files.

See difference of output between print and cat (zlogin having a blank
like at the end):

    % print -rn "$(<zlogin)$(<test)"
    #
    # User configuration sourced by login shells
    #

    # Initialize zim
    [[ -s ${ZIM_HOME}/login_init.zsh ]] && source ${ZIM_HOME}/login_init.zsh# Hello world
    % cat zlogin test
    #
    # User configuration sourced by login shells
    #

    # Initialize zim
    [[ -s ${ZIM_HOME}/login_init.zsh ]] && source ${ZIM_HOME}/login_init.zsh

    # Hello world

Fixes #94. Fixes #280. Closes #300
2018-11-21 11:58:30 -05:00
Lucas Sunsi 4b0a6f9c7c Source syntax-highlighting after completion
syntax-highlighting should be sourced after compinit (see
https://github.com/zsh-users/zsh-syntax-highlighting#why-must-zsh-syntax-highlightingzsh-be-sourced-at-the-end-of-the-zshrc-file),
and history-substring-search should be sourced after syntax-highlighting
(see https://github.com/zsh-users/zsh-history-substring-search#usage).

Closes #276
2018-05-31 19:17:04 -05:00
Eric Nielsen 4acd1b8533 Update comments in zimrc template
mainly to change "command correction prompts" to "spelling correction
prompt for commands" and make it clear that this is related to spelling
(and to the `SPROMPT` below that).
2018-04-24 08:59:58 -05:00
AtomicCoding 52604eb234 Add custom SPROMPT
Closes #263
2018-04-23 12:09:04 -05:00
Anton Shiryaev acdb1d4bc7 Add .zimrc option 'zinput_mode'
Closes #261
2018-04-19 12:32:56 -05:00
Eric Nielsen e0a7c679e0 [meta] Move zmanage to function in init.zsh
and delete the meta module altogether.

Also refactor `tools/zim_issue` to use `tools/zim_info`, use local
variables, and print the output directly without the need of the
intermediate `issue_md` array.

Closes #218
2017-11-24 19:08:39 -05:00
Eric Nielsen f97e43a39f Add git-info zmodule to templates/zimrc
so it is enabled by default in new Zim installations.

Closes #153
2017-03-27 13:56:47 -07:00
Matt Hamilton cc34e3f310 [environment] add customizable term title
Adds customizable terminal/window title. Set `${ztermtitle}` in `.zimrc`
to use this functionality.

Check the notes added in templates/zimrc for additional usage info.

Closes #52
2017-01-21 08:54:32 -08:00
Eric Nielsen 0a9d105107 [utility] Simplify correction prompt config
For `setopt CORRECT`. Let the user uncomment a line with the `setopt`
directly in the configuration file, instead of having a flag variable
for it.

Closes #90
2016-10-25 16:12:40 -07:00
Matt Hamilton c533afc0cb [template] zimrc: add meta module 2016-09-05 15:30:29 -07:00
Sandor Nagy ce73d62764 [template] expand note of highlighter conflicts
Closes #68
2016-07-27 19:38:08 -07:00
Matt Hamilton 7439df5836 [input] add double-dot expansion option
Closes #49
2016-05-20 20:25:04 -07:00
Matt Hamilton 40cbc82ac3 [install] ignore escapes in user configs
closes issue #45
2016-05-15 09:01:03 -07:00
Matt Hamilton 4ac66646c4 [completion] add ${zcompdump_file} option
This commit assumes that the user-provided variable for the filename
will start with '.zcomp'. This is used in the .zlogin for zcompiling the
completion file. Sourcing the .zimrc file within the .zlogin file is
something I'd rather not do, and this seems like a good compromise. If
this becomes an issue, the file can be sourced an the var can be used
instead.

Closes #42
2016-04-16 14:56:53 -07:00
Matt Hamilton 5cb0a51049 [template] expand note of highlighter conflicts 2016-01-28 08:51:21 -05:00
Matt Hamilton acc3adffcb [utility] don't set zcorrection by default
The code in the utility module only checks if the value is 'true'. There
is no need to set it to 'false'; just don't set it at all.

This should make it easier to enable/disable (uncomment vs value
change).
2016-01-17 07:15:55 -05:00
Matt Hamilton 95cc94d9a0 [utility] add setopt correct option
This option can be enabled by setting `zcorrection='true'` in .zimrc

Closes #25
2016-01-17 07:08:08 -05:00
Matt Hamilton 5237b76e81 grammar fixup 2015-12-31 11:17:51 -05:00
Matt Hamilton a599a63ccd leave ssh ids up to user 2015-12-31 11:13:39 -05:00
Matt Hamilton 7f0dc26de3 fix typo in zimrc template 2015-12-29 14:53:26 -05:00
Matt Hamilton 534e627331 cleanup pacman module and options 2015-12-29 14:51:08 -05:00
Matt Hamilton c3130eda38 disabling 'cursor' breaks color changes
the 'cursor' highlighter needs to be enabled for character color changes
to take place beneath the cursor on non-(u)rxvt terminals.

Partial revert of ab99776
2015-12-29 05:00:48 -05:00
Matt Hamilton ab99776d4e Disable 'cursor' as default highlighter
'cursor' isn't super useful and causes problems with rxvt.

Also make note of where documentation can be found for the various
highlighters.
2015-12-29 04:47:25 -05:00
Matt Hamilton 65841b002b add 'custom' module to default zmodules 2015-12-22 05:56:56 -05:00
Matt Hamilton a632bff0e5 remove ssh from default modules 2015-12-20 19:25:11 -05:00
Matt Hamilton 9c9d1ac779 eriner prompt requires fonts; use steeef 2015-12-18 10:13:38 -05:00
Matt Hamilton 8e4fc03038 update completion docs to reflect zmodules order 2015-12-17 03:06:12 -05:00
Matt Hamilton 6ca71da68d update documentation and enable input module by default 2015-12-16 01:22:33 -05:00
Matt Hamilton 6bab0875fd update template .zimrc 2015-12-15 18:51:28 -05:00
Matt Hamilton 3a62391e0e initial commit 2015-12-15 00:12:17 -05:00