4c14cb0f73
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.
113 lines
3 KiB
Text
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'
|