1
0
Fork 0
mirror of synced 2024-11-17 21:45:35 -05:00
zimfw/templates/zimrc
Eric Nielsen 4c14cb0f73 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.
Closes #33, closes #138, closes #262, closes #277, closes #281.

Some discussion topics that I think are worth considering before merging
this:
- [ ] Reduce the Zim "core" to a single file?
- [ ] Simplify installation? With an installation script? (See #182)
- [ ] Put the configuration into `.zshrc` instead of a separate `.zimrc`?
  (See #288)
- [ ] Rerun the Eriner/zsh-framework-benchmark?

I suggest we create individual GitHub issues/PRs to start the separate
discussions.

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.

I strongly recommend you install this from scratch in a separate
directory, instead of checking out `develop` in your current Zim
installation repo.
2019-01-07 18:25:34 -05:00

113 lines
3 KiB
Text

################
# ZIM SETTINGS #
################
# Set input mode to 'emacs' (default) or 'vi'.
#zstyle ':zim:input' mode 'vi'
# Select what modules you would like enabled. Modules are sourced in the order given.
zstyle ':zim' modules \
directory environment git git-info history input utility \
eriner gitster magicmace s1ck94 steeef prompt \
zsh-completions completion zsh-autosuggestions zsh-syntax-highlighting history-substring-search
# Modules setup configuration.
# See ...
zstyle ':zim:module' zsh-completions 'url' 'zsh-users/zsh-completions'
zstyle ':zim:module' zsh-autosuggestions 'url' 'zsh-users/zsh-autosuggestions'
zstyle ':zim:module' zsh-syntax-highlighting 'url' 'zsh-users/zsh-syntax-highlighting'
###################
# MODULE SETTINGS #
###################
#
# completion
#
# Set a custom path for the completion dump file.
# If none is provided, the default ${ZDOTDIR:-${HOME}}/.zcompdump is used.
#zstyle ':zim:completion' dumpfile "${ZDOTDIR:-${HOME}}/.zcompdump-${ZSH_VERSION}"
#
# environment
#
# Set the string below to the desired terminal title format string.
# The terminal title is redrawn upon directory change, however, variables like
# ${PWD} are only evaluated once. Use prompt expansion strings for dynamic data.
# See http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Simple-Prompt-Escapes
# For example, '%n@%m: %1~' corresponds to 'username@host: /current/directory'.
#zstyle ':zim:environment' termtitle '%n@%m: %1~'
#
# history
#
# Save the history in a custom file path.
# If none is provided, the default ${ZDOTDIR:-${HOME}}/.zhistory is used.
#HISTFILE=${ZDOTDIR:-${HOME}}/.zsh_history
#
# input
#
# Enable double-dot expansion.
# This appends '../' to your input for each '.' you type after an initial '..'
#zstyle ':zim:input' double-dot-expand yes
#
# pacman
#
# Set an optional pacman frontend.
#zstyle ':zim:pacman' frontend 'powerpill'
# Load any helper scripts as defined here.
#zstyle ':zim:pacman' helpers 'aur'
#
# prompt
#
# Set your desired prompt theme.
zstyle ':zim:prompt' theme 'steeef'
#
# ssh
#
# Load these ssh identities with the ssh module.
#zstyle ':zim:ssh' ids 'id_rsa'
#
# utility
#
# Enable spelling correction prompts.
# See http://zsh.sourceforge.net/Doc/Release/Options.html#index-CORRECT
#setopt CORRECT
# Set a custom spelling correction prompt.
#SPROMPT='zsh: correct %F{red}%R%f to %F{green}%r%f [nyae]? '
#
# zsh-autosuggestions
#
# Customize the style that the suggestions are shown with.
# See https://github.com/zsh-users/zsh-autosuggestions/blob/master/README.md#suggestion-highlight-style
#ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
#
# zsh-syntax-highlighting
#
# Set what highlighters will be used.
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)
# Customize the main highlighter styles.
# See https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md#how-to-tweak-it
#typeset -A ZSH_HIGHLIGHT_STYLES
#ZSH_HIGHLIGHT_STYLES[comment]='fg=10'