diff --git a/modules/README.md b/modules/README.md index 79a472536b..16754fcbcb 100644 --- a/modules/README.md +++ b/modules/README.md @@ -46,10 +46,10 @@ GNU Utility Provides for the interactive use of GNU utilities on non-GNU systems. -GPG-Agent +GPG --------- -Provides for an easier use of gpg-agent. +Provides for an easier use of GPG by setting up gpg-agent. Haskell ------- diff --git a/modules/archive/README.md b/modules/archive/README.md index 398d003762..37dbf121ed 100644 --- a/modules/archive/README.md +++ b/modules/archive/README.md @@ -26,7 +26,7 @@ installed: - *.lzma* requires `unlzma`. - *.Z* requires `uncompress`. - *.zip* requires `unzip`. - - *.rar* requires `unrar`. + - *.rar* requires `unrar` or `rar`. - *.7z* requires `7za`. - *.deb* requires `ar`, `tar`. diff --git a/modules/archive/functions/extract b/modules/archive/functions/extract index af7ed25a02..70fac4d832 100644 --- a/modules/archive/functions/extract +++ b/modules/archive/functions/extract @@ -53,7 +53,9 @@ while (( $# > 0 )); do (*.lzma) unlzma "$1" ;; (*.Z) uncompress "$1" ;; (*.zip) unzip "$1" -d $extract_dir ;; - (*.rar) unrar e -ad "$1" ;; + (*.rar) unrar &> /dev/null \ + && unrar e -ad "$1" \ + || rar e -ad "$1" ;; (*.7z) 7za x "$1" ;; (*.deb) mkdir -p "$extract_dir/control" diff --git a/modules/archive/functions/ls-archive b/modules/archive/functions/ls-archive index e8727fa123..99ebde6e9b 100644 --- a/modules/archive/functions/ls-archive +++ b/modules/archive/functions/ls-archive @@ -41,7 +41,9 @@ while (( $# > 0 )); do || lzcat "$1" | tar x${verbose:+v}f - ;; (*.tar) tar t${verbose:+v}f "$1" ;; (*.zip) unzip -l${verbose:+v} "$1" ;; - (*.rar) unrar ${${verbose:+v}:-l} "$1" ;; + (*.rar) unrar &> /dev/null \ + && unrar ${${verbose:+v}:-l} "$1" \ + || rar ${${verbose:+v}:-l} "$1" ;; (*.7z) 7za l "$1" ;; (*) print "$0: cannot list: $1" >&2 diff --git a/modules/completion/external b/modules/completion/external index 19e8985f8e..9cbd2b6762 160000 --- a/modules/completion/external +++ b/modules/completion/external @@ -1 +1 @@ -Subproject commit 19e8985f8e3747592e07f323f5182769a12a8401 +Subproject commit 9cbd2b6762689cd92c194067ac51b376fcc91e1b diff --git a/modules/completion/init.zsh b/modules/completion/init.zsh index 042e1a0330..3ffad63318 100644 --- a/modules/completion/init.zsh +++ b/modules/completion/init.zsh @@ -30,9 +30,6 @@ setopt AUTO_PARAM_SLASH # If completed parameter is a directory, add a traili unsetopt MENU_COMPLETE # Do not autoselect the first completion entry. unsetopt FLOW_CONTROL # Disable start/stop characters in shell editor. -# Treat these characters as part of a word. -WORDCHARS='*?_-.[]~&;!#$%^(){}<>' - # # Styles # diff --git a/modules/editor/README.md b/modules/editor/README.md new file mode 100644 index 0000000000..03bc02f236 --- /dev/null +++ b/modules/editor/README.md @@ -0,0 +1,63 @@ +Editor +====== + +Sets key bindings. + +Settings +-------- + +### Key bindings + +To enable key bindings, add the following to *zpreztorc*, and replace 'map' with +'emacs' or 'vi'. + + zstyle ':prezto:module:editor' keymap 'map' + +### Dot Expansion + +To enable the auto conversion of .... to ../.., add the following to +*zpreztorc*. + + zstyle ':prezto:module:editor' dot-expansion 'yes' + +Theming +------- + +To indicate when the editor is in the primary keymap (emacs or viins), add +the following to your `theme_prompt_setup` function. + + zstyle ':prezto:module:editor:info:keymap:primary' format '>>>' + +To indicate when the editor is in the primary keymap (emacs or viins) insert +mode, add the following to your `theme_prompt_setup` function. + + zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I' + +To indicate when the editor is in the primary keymap (emacs or viins) overwrite +mode, add the following to your `theme_prompt_setup` function. + + zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O' + +To indicate when the editor is in the alternate keymap (vicmd), add the +following to your `theme_prompt_setup` function. + + zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<' + +To indicate when the editor is completing, add the following to your +`theme_prompt_setup` function. + + zstyle ':prezto:module:editor:info:completing' format '...' + +Then add `$editor_info[context]`, where context is *keymap*, *insert*, or +*overwrite*, to `$PROMPT` or `$RPROMPT` and call `editor-info` in the +`prompt_name_preexec` hook function. + +Authors +------- + +*The authors of this module should be contacted via the [issue tracker][1].* + + - [Sorin Ionescu](https://github.com/sorin-ionescu) + +[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues + diff --git a/modules/editor/init.zsh b/modules/editor/init.zsh index d76c605719..4838ba74ad 100644 --- a/modules/editor/init.zsh +++ b/modules/editor/init.zsh @@ -4,42 +4,6 @@ # Authors: # Sorin Ionescu # -# Usage: -# To enable key bindings, add the following to zpreztorc, and replace 'map' -# with 'emacs' or 'vi. -# -# zstyle ':prezto:module:editor' keymap 'map' -# -# To enable the auto conversion of .... to ../.., add the following to -# zpreztorc. -# -# zstyle ':prezto:module:editor' dot-expansion 'yes' -# -# To indicate when the editor is in the primary keymap (emacs or viins), add -# the following to your theme prompt setup function. -# -# zstyle ':prezto:module:editor:info:keymap:primary' format '>>>' -# -# To indicate when the editor is in the primary keymap (emacs or viins) insert -# mode, add the following to your theme prompt setup function. -# -# zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I' -# -# To indicate when the editor is in the primary keymap (emacs or viins) -# overwrite mode, add the following to your theme prompt setup function. -# -# zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O' -# -# To indicate when the editor is in the alternate keymap (vicmd), add the -# following to your theme prompt setup function. -# -# zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<' -# -# To indicate when the editor is completing, add the following to your theme -# prompt setup function. -# -# zstyle ':prezto:module:editor:info:completing' format '...' -# # Return if requirements are not found. if [[ "$TERM" == 'dumb' ]]; then @@ -57,6 +21,9 @@ setopt BEEP # Variables # +# Treat these characters as part of a word. +WORDCHARS='*?_-.[]~&;!#$%^(){}<>' + # Use human-friendly identifiers. zmodload zsh/terminfo typeset -gA key_info diff --git a/modules/emacs/init.zsh b/modules/emacs/init.zsh index c24625d1f8..cce9e1e903 100644 --- a/modules/emacs/init.zsh +++ b/modules/emacs/init.zsh @@ -4,12 +4,22 @@ # Authors: Sebastian Wiesner # -# Enable Carton -if [[ -d "$HOME/.carton" ]]; then - path=($HOME/.carton/bin $path) - - alias cai='carton install' - alias cau='carton update' - alias caI='carton init' - alias cae='carton exec' +# Return if requirements are not found. +if [[ ! -d "$HOME/.carton" ]]; then + return 1 fi + +# Prepend Carton bin directory. +path=($HOME/.carton/bin $path) + +# Load Carton completion +source "$HOME/.carton/etc/carton_completion.zsh" 2> /dev/null + +# +# Aliases +# + +alias cai='carton install' +alias cau='carton update' +alias caI='carton init' +alias cae='carton exec' diff --git a/modules/environment/init.zsh b/modules/environment/init.zsh index 79eba54d28..d05aa07b0c 100644 --- a/modules/environment/init.zsh +++ b/modules/environment/init.zsh @@ -17,6 +17,8 @@ zle -N self-insert url-quote-magic # setopt BRACE_CCL # Allow brace character class list expansion. +setopt COMBINING_CHARS # Combine zero-length punctuation characters (accents) + # with the base character. setopt RC_QUOTES # Allow 'Henry''s Garage' instead of 'Henry'\''s Garage'. unsetopt MAIL_WARNING # Don't print a warning message if a mail file has been accessed. diff --git a/modules/git/README.md b/modules/git/README.md index 717f42bb14..0dd932f6b2 100644 --- a/modules/git/README.md +++ b/modules/git/README.md @@ -1,7 +1,8 @@ Git === -Enhances the [Git][1] distributed version control system by providing aliases, functions and by exposing repository status information to prompts. +Enhances the [Git][1] distributed version control system by providing aliases, +functions and by exposing repository status information to prompts. Git **1.7.2** is the [minimum required version][7]. @@ -12,7 +13,7 @@ Settings The format of the [git-log][8] output is configurable via the following style, where context is *brief*, *oneline*, and *medium*, which will be passed to the -`--prety=format:` switch. +`--pretty=format:` switch. zstyle ':prezto:module:git:log:context' format '' @@ -38,8 +39,8 @@ Aliases - `gbc` creates a new branch. - `gbl` lists branches and their commits. - `gbL` lists local and remote branches and their commits. - - `gbs` lists branches and their commits with ancestery graphs. - - `gbS` lists local and remote branches and their commits with ancestery + - `gbs` lists branches and their commits with ancestry graphs. + - `gbS` lists local and remote branches and their commits with ancestry graphs. - `gbx` deletes a branch. - `gbX` deletes a branch irrespective of its merged status. @@ -63,7 +64,17 @@ Aliases commits. - `gcR` removes the *HEAD* commit. - `gcs` displays various types of objects. - - `gcl` displays lost commits. + - `gcl` lists lost commits. + +### Conflict + + - `gCl` lists unmerged files. + - `gCa` adds unmerged file contents to the index. + - `gCe` executes merge-tool on all unmerged file. + - `gCo` checks out our changes for unmerged paths. + - `gCO` checks out our changes for all unmerged paths. + - `gCt` checks out their changes for unmerged paths. + - `gCT` checks out their changes for all unmerged paths. ### Data @@ -86,8 +97,8 @@ Aliases - `gg` displays lines matching a pattern. - `ggi` displays lines matching a pattern ignoring case. - - `ggl` displays files matching a pattern. - - `ggL` displays files are not matching a pattern. + - `ggl` lists files matching a pattern. + - `ggL` lists files that are not matching a pattern. - `ggv` displays lines not matching a pattern. - `ggw` displays lines matching a pattern at word boundary. @@ -103,16 +114,6 @@ Aliases - `gix` removes files/directories from the index (recursively). - `giX` removes files/directories from the index (recursively and forced). -### Conflict - - - `gCl` lists unmerged files. - - `gCa` adds unmerged file contents to the index. - - `gCe` executes merge-tool on all unmerged file. - - `gCo` checks out our changes for unmerged paths. - - `gCO` checks out our changes for all unmerged paths. - - `gCt` checks out their changes for unmerged paths. - - `gCT` checks out their changes for all unmerged paths. - ### Log - `gl` displays the log. @@ -154,12 +155,12 @@ Aliases ### Remote - `gR` manages tracked repositories. - - `gRl` displays remote names and URLs. + - `gRl` lists remote names and their URLs. - `gRa` adds a new remote. - `gRx` removes a remote. - `gRm` renames a remote. - `gRu` fetches remotes updates. - - `gRc` deletes all stale remote tracking branches. + - `gRp` prunes all stale remote tracking branches. - `gRs` displays information about a given remote. - `gRb` opens a remote on [GitHub][3] in the default browser. @@ -169,10 +170,9 @@ Aliases - `gsa` applies the changes recorded in a stash to the working directory. - `gsx` drops a stashed state. - `gsX` drops all the stashed states. - - `gsd` lists dropped stashed states. - `gsl` lists stashed states. - - `gsL` displays the changes recorded in the stash as a diff between the - stashed state and its original parent. + - `gsL` lists dropped stashed states. + - `gsd` displays changes between the stash and its original parent. - `gsp` removes and applies a single stashed state from the stash list. - `gsr` recovers a given stashed state. - `gss` stashes the changes of the dirty working directory, including untracked. @@ -252,19 +252,38 @@ setting a style is as follows. | Name | Format Code | Description | --------- | :---------: | --------------------------------------------------- | action | %s | Special action name -| added | %a | Added files count | ahead | %A | Commits ahead of remote count | behind | %B | Commits behind of remote count | branch | %b | Branch name | commit | %c | Commit hash +| position | %p | Commits from the nearest tag count +| remote | %R | Remote name +| stashed | %S | Stashed states count + +### Concise Contexts + +| Name | Format Code | Description +| --------- | :---------: | --------------------------------------------------- +| clean | %C | Clean state +| dirty | %D | Dirty files count +| indexed | %i | Indexed files count +| unindexed | %I | Unindexed files count +| untracked | %u | Untracked files count + +The following contexts must be enabled with the following zstyle: + + zstyle ':prezto:module:git:info' verbose 'yes' + +### Verbose Contexts + +| Name | Format Code | Description +| --------- | :---------: | --------------------------------------------------- +| added | %a | Added files count | clean | %C | Clean state | deleted | %d | Deleted files count | dirty | %D | Dirty files count | modified | %m | Modified files count -| position | %p | Commits from the nearest tag count -| remote | %R | Remote name | renamed | %r | Renamed files count -| stashed | %S | Stashed states count | unmerged | %U | Unmerged files count | untracked | %u | Untracked files count diff --git a/modules/git/alias.zsh b/modules/git/alias.zsh index 4cb10dc2ce..bf6d3644ae 100644 --- a/modules/git/alias.zsh +++ b/modules/git/alias.zsh @@ -56,6 +56,15 @@ alias gcR='git reset "HEAD^"' alias gcs='git show' alias gcl='git-commit-lost' +# Conflict (C) +alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"' +alias gCa='git add $(gCl)' +alias gCe='git mergetool $(gCl)' +alias gCo='git checkout --ours --' +alias gCO='gCo $(gCl)' +alias gCt='git checkout --theirs --' +alias gCT='gCt $(gCl)' + # Data (d) alias gd='git ls-files' alias gdc='git ls-files --cached' @@ -90,15 +99,6 @@ alias giR='git reset --patch' alias gix='git rm -r --cached' alias giX='git rm -rf --cached' -# Conflict (C) -alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"' -alias gCa='git add $(gCl)' -alias gCe='git mergetool $(gCl)' -alias gCo='git checkout --ours --' -alias gCO='gCo $(gCl)' -alias gCt='git checkout --theirs --' -alias gCT='gCt $(gCl)' - # Log (l) alias gl='git log --topo-order --pretty=format:${_git_log_medium_format}' alias gls='git log --topo-order --stat --pretty=format:${_git_log_medium_format}' @@ -138,7 +138,7 @@ alias gRa='git remote add' alias gRx='git remote rm' alias gRm='git remote rename' alias gRu='git remote update' -alias gRc='git remote prune' +alias gRp='git remote prune' alias gRs='git remote show' alias gRb='git-hub-browse' @@ -147,9 +147,9 @@ alias gs='git stash' alias gsa='git stash apply' alias gsx='git stash drop' alias gsX='git-stash-clear-interactive' -alias gsd='git-stash-dropped' alias gsl='git stash list' -alias gsL='git stash show --patch --stat' +alias gsL='git-stash-dropped' +alias gsd='git stash show --patch --stat' alias gsp='git stash pop' alias gsr='git-stash-recover' alias gss='git stash save --include-untracked' diff --git a/modules/git/functions/git-info b/modules/git/functions/git-info index 2e52eab393..1c16396265 100644 --- a/modules/git/functions/git-info +++ b/modules/git/functions/git-info @@ -89,31 +89,6 @@ function _git-action { return 1 } -# Turns off git-info for the current repository. -function _git-info-abort { - if ! is-true "$_git_info_executing"; then - return 1 - fi - - cat >&2 < /dev/null) + # Get the branch. + branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}" # Format branch. - branch="${$(git symbolic-ref -q HEAD)##refs/heads/}" - if [[ -n "$branch" ]]; then - zstyle -s ':prezto:module:git:info:branch' format 'branch_format' + zstyle -s ':prezto:module:git:info:branch' format 'branch_format' + if [[ -n "$branch" && -n "$branch_format" ]]; then zformat -f branch_formatted "$branch_format" "b:$branch" + fi + + # Format position. + zstyle -s ':prezto:module:git:info:position' format 'position_format' + if [[ -z "$branch" && -n "$position_format" ]]; then + position="$(git describe --contains --all HEAD 2> /dev/null)" + if [[ -n "$position" ]]; then + zformat -f position_formatted "$position_format" "p:$position" + fi + fi - # Format remote. + # Format remote. + zstyle -s ':prezto:module:git:info:remote' format 'remote_format' + if [[ -n "$branch" && -n "$remote_format" ]]; then + # Gets the remote name. + remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}' remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}" if [[ -n "$remote" ]]; then - zstyle -s ':prezto:module:git:info:remote' format 'remote_format' zformat -f remote_formatted "$remote_format" "R:$remote" + fi + fi - # Get ahead and behind counts. - ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)" + zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format' + zstyle -s ':prezto:module:git:info:behind' format 'behind_format' + if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then + # Gets the commit difference counts between local and remote. + ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}' - # Format ahead. + # Get ahead and behind counts. + ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)" + + # Format ahead. + if [[ -n "$ahead_format" ]]; then ahead="$ahead_and_behind[(w)1]" - if (( $ahead > 0 )); then - zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format' + if (( ahead > 0 )); then zformat -f ahead_formatted "$ahead_format" "A:$ahead" fi + fi - # Format behind. + # Format behind. + if [[ -n "$behind_format" ]]; then behind="$ahead_and_behind[(w)2]" - if (( $behind > 0 )); then - zstyle -s ':prezto:module:git:info:behind' format 'behind_format' + if (( behind > 0 )); then zformat -f behind_formatted "$behind_format" "B:$behind" fi fi - else - # Format position. - position="$(git describe --contains --all HEAD 2> /dev/null)" - if [[ -n "$position" ]]; then - zstyle -s ':prezto:module:git:info:position' format 'position_format' - zformat -f position_formatted "$position_format" "p:$position" - fi fi - # Format added. - if (( $added > 0 )); then - zstyle -s ':prezto:module:git:info:added' format 'added_format' - zformat -f added_formatted "$added_format" "a:$added_format" - fi + # Get status type. + if ! zstyle -t ':prezto:module:git:info' verbose; then + # Format indexed. + zstyle -s ':prezto:module:git:info:indexed' format 'indexed_format' + if [[ -n "$indexed_format" ]]; then + (( + indexed+=$( + git diff-index \ + --no-ext-diff \ + --name-only \ + --cached \ + --ignore-submodules=${ignore_submodules:-none} \ + HEAD \ + 2> /dev/null \ + | wc -l + ) + )) + if (( indexed > 0 )); then + zformat -f indexed_formatted "$indexed_format" "i:$indexed" + fi + fi - # Format deleted. - if (( $deleted > 0 )); then - zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format' - zformat -f deleted_formatted "$deleted_format" "d:$deleted_format" - fi + # Format unindexed. + zstyle -s ':prezto:module:git:info:unindexed' format 'unindexed_format' + if [[ -n "$unindexed_format" ]]; then + (( + unindexed+=$( + git diff-files \ + --no-ext-diff \ + --name-only \ + --ignore-submodules=${ignore_submodules:-none} \ + 2> /dev/null \ + | wc -l + ) + )) + if (( unindexed > 0 )); then + zformat -f unindexed_formatted "$unindexed_format" "I:$unindexed" + fi + fi - # Format modified. - if (( $modified > 0 )); then - zstyle -s ':prezto:module:git:info:modified' format 'modified_format' - zformat -f modified_formatted "$modified_format" "m:$modified" - fi + # Format untracked. + zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format' + if [[ -n "$untracked_format" ]]; then + (( + untracked+=$( + git ls-files \ + --other \ + --exclude-standard \ + 2> /dev/null \ + | wc -l + ) + )) + if (( untracked > 0 )); then + zformat -f untracked_formatted "$untracked_format" "u:$untracked" + fi + fi - # Format renamed. - if (( $renamed > 0 )); then - zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format' - zformat -f renamed_formatted "$renamed_format" "r:$renamed" - fi + (( dirty = indexed + unindexed + untracked )) + else + # Use porcelain status for easy parsing. + status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}" + + # Get current status. + while IFS=$'\n' read line; do + # Count added, deleted, modified, renamed, unmerged, untracked, dirty. + # T (type change) is undocumented, see http://git.io/FnpMGw. + # For a table of scenarii, see http://i.imgur.com/2YLu1.png. + [[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ )) + [[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ )) + [[ "$line" == ?[MT]\ * ]] && (( modified++ )) + [[ "$line" == R?\ * ]] && (( renamed++ )) + [[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ )) + [[ "$line" == \?\?\ * ]] && (( untracked++ )) + (( dirty++ )) + done < <(${(z)status_cmd} 2> /dev/null) + + # Format added. + if (( added > 0 )); then + zstyle -s ':prezto:module:git:info:added' format 'added_format' + zformat -f added_formatted "$added_format" "a:$added_format" + fi - # Format unmerged. - if (( $unmerged > 0 )); then - zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format' - zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged" - fi + # Format deleted. + if (( deleted > 0 )); then + zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format' + zformat -f deleted_formatted "$deleted_format" "d:$deleted_format" + fi - # Format untracked. - if (( $untracked > 0 )); then - zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format' - zformat -f untracked_formatted "$untracked_format" "u:$untracked" + # Format modified. + if (( modified > 0 )); then + zstyle -s ':prezto:module:git:info:modified' format 'modified_format' + zformat -f modified_formatted "$modified_format" "m:$modified" + fi + + # Format renamed. + if (( renamed > 0 )); then + zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format' + zformat -f renamed_formatted "$renamed_format" "r:$renamed" + fi + + # Format unmerged. + if (( unmerged > 0 )); then + zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format' + zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged" + fi + + # Format untracked. + if (( untracked > 0 )); then + zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format' + zformat -f untracked_formatted "$untracked_format" "u:$untracked" + fi fi # Format dirty and clean. - if (( $dirty > 0 )); then + if (( dirty > 0 )); then zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format' zformat -f dirty_formatted "$dirty_format" "D:$dirty" else @@ -342,27 +394,28 @@ function git-info { zstyle -a ':prezto:module:git:info:keys' format 'info_formats' for info_format in ${(k)info_formats}; do zformat -f REPLY "$info_formats[$info_format]" \ + "a:$added_formatted" \ "A:$ahead_formatted" \ "B:$behind_formatted" \ - "D:$dirty_formatted" \ - "R:$remote_formatted" \ - "S:$stashed_formatted" \ - "U:$unmerged_formatted" \ - "a:$added_formatted" \ "b:$branch_formatted" \ "C:$clean_formatted" \ "c:$commit_formatted" \ "d:$deleted_formatted" \ + "D:$dirty_formatted" \ + "i:$indexed_formatted" \ + "I:$unindexed_formatted" \ "m:$modified_formatted" \ "p:$position_formatted" \ + "R:$remote_formatted" \ "r:$renamed_formatted" \ "s:$action_formatted" \ + "S:$stashed_formatted" \ + "U:$unmerged_formatted" \ "u:$untracked_formatted" git_info[$info_format]="$REPLY" done unset REPLY - unset _git_info_executing return 0 } diff --git a/modules/gpg-agent/README.md b/modules/gpg-agent/README.md deleted file mode 100644 index 1b222d46a8..0000000000 --- a/modules/gpg-agent/README.md +++ /dev/null @@ -1,25 +0,0 @@ -GPG-Agent -========= - -Provides for an easier use of [gpg-agent][1]. - -Settings --------- - -### SSH-Agent Protocol Emulation - -To enable SSH-Agent protocol emulation, add the following line to *zpreztorc*: - - zstyle ':prezto:module:gpg-agent' ssh-support 'yes' - -Authors -------- - -*The authors of this module should be contacted via the [issue tracker][2].* - - - [Florian Walch](https://github.com/fwalch) - - [Sorin Ionescu](https://github.com/sorin-ionescu) - -[1]: http://linux.die.net/man/1/gpg-agent -[2]: https://github.com/sorin-ionescu/prezto/issues - diff --git a/modules/gpg-agent/init.zsh b/modules/gpg-agent/init.zsh deleted file mode 100644 index 82bd9a2ec4..0000000000 --- a/modules/gpg-agent/init.zsh +++ /dev/null @@ -1,46 +0,0 @@ -# -# Provides for an easier use of gpg-agent. -# -# Authors: -# Florian Walch -# Sorin Ionescu -# neersighted -# - -# Return if requirements are not found. -if (( ! $+commands[gpg-agent] )); then - return 1 -fi - -# Make sure to use the $GNUPGHOME first. -_gpg_env="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.env" - -function _gpg-agent-start { - local ssh_support - - zstyle -b ':prezto:module:gpg-agent' ssh-support 'ssh_support' \ - || ssh_support='' - - gpg-agent \ - --daemon \ - ${ssh_support:+'--enable-ssh-support'} \ - --write-env-file "${_gpg_env}" > /dev/null - - chmod 600 "${_gpg_env}" - source "${_gpg_env}" > /dev/null -} - -# Source GPG agent settings, if applicable. -if [[ -s "${_gpg_env}" ]]; then - source "${_gpg_env}" > /dev/null - ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'gpg-agent' || { - _gpg-agent-start - } -else - _gpg-agent-start -fi - -export GPG_AGENT_INFO -export SSH_AUTH_SOCK -export SSH_AGENT_PID -export GPG_TTY="$(tty)" diff --git a/modules/gpg/README.md b/modules/gpg/README.md new file mode 100644 index 0000000000..b13e33e9bb --- /dev/null +++ b/modules/gpg/README.md @@ -0,0 +1,27 @@ +GPG +=== + +Provides for an easier use of [GPG][1] by setting up [gpg-agent][2]. + +### SSH + +To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in +replacement for `ssh-agent`, add the following line to +*~/.gnupg/gpg-agent.conf*: + + enable-ssh-support + +When OpenSSH Agent protocol emulation is enabled, this module will load the SSH +module for additional processing. + +Authors +------- + +*The authors of this module should be contacted via the [issue tracker][3].* + + - [Sorin Ionescu](https://github.com/sorin-ionescu) + +[1]: http://www.gnupg.org +[2]: http://linux.die.net/man/1/gpg-agent +[3]: https://github.com/sorin-ionescu/prezto/issues + diff --git a/modules/gpg/init.zsh b/modules/gpg/init.zsh new file mode 100644 index 0000000000..2e4c4eab02 --- /dev/null +++ b/modules/gpg/init.zsh @@ -0,0 +1,44 @@ +# +# Provides for an easier use of GPG by setting up gpg-agent. +# +# Authors: +# Sorin Ionescu +# + +# Return if requirements are not found. +if (( ! $+commands[gpg-agent] )); then + return 1 +fi + +# Set the default paths to gpg-agent files. +_gpg_agent_conf="$HOME/.gnupg/gpg-agent.conf" +_gpg_agent_env="$TMPDIR/gpg-agent.env" + +# Start gpg-agent if not started. +if ! ps -U "$USER" -o ucomm | grep -q gpg-agent; then + eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")" +else + # Export environment variables. + source "$_gpg_agent_env" 2> /dev/null +fi + +# Inform gpg-agent of the current TTY for user prompts. +export GPG_TTY="$(tty)" + +# Integrate with the SSH module. +if grep 'enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then + # Override the ssh-agent environment file default path. + _ssh_agent_env="$_gpg_agent_env" + + # Load the SSH module for additional processing. + pmodload 'ssh' +fi + +# Clean up. +unset _gpg_agent_{conf,env} + +# Disable GUI prompts inside SSH. +if [[ -n "$SSH_CONNECTION" ]]; then + export PINENTRY_USER_DATA='USE_CURSES=1' +fi + diff --git a/modules/helper/functions/add-zsh-trap b/modules/helper/functions/add-zsh-trap index e5d4e82c27..c8796ca0d5 100644 --- a/modules/helper/functions/add-zsh-trap +++ b/modules/helper/functions/add-zsh-trap @@ -6,14 +6,6 @@ # Sorin Ionescu # -# Trap signals were generated with 'kill -l'. -# DEBUG, EXIT, and ZERR are Zsh signals. -_trap_signals=( - ABRT ALRM BUS CHLD CONT EMT FPE HUP ILL INFO INT IO KILL PIPE PROF QUIT - SEGV STOP SYS TERM TRAP TSTP TTIN TTOU URG USR1 USR2 VTALRM WINCH XCPU XFSZ - DEBUG EXIT ZERR -) - # Adds a function name to a list to be called when a trap is triggered. function add-zsh-trap { if (( $# < 2 )); then @@ -21,7 +13,7 @@ function add-zsh-trap { return 1 fi - if [[ -z "$_trap_signals[(r)$1]" ]]; then + if [[ -z "$signals[(r)$1]" ]]; then print "$0: unknown signal: $1" >&2 return 1 fi diff --git a/modules/history-substring-search/README.md b/modules/history-substring-search/README.md index 6bfe4e6a87..27a4a78f46 100644 --- a/modules/history-substring-search/README.md +++ b/modules/history-substring-search/README.md @@ -36,6 +36,18 @@ To enable highlighting for this module only, add the following line to zstyle ':prezto:module:history-substring-search' color 'yes' +To set the query found color, add the following line to *zpreztorc*: + + zstyle ':prezto:module:history-substring-search:color' found '' + +To set the query not found color, add the following line to *zpreztorc*: + + zstyle ':prezto:module:history-substring-search:color' not-found '' + +To set the search globbing flags, add the following line to *zpreztorc*: + + zstyle ':prezto:module:history-substring-search' globbing-flags '' + Authors ------- diff --git a/modules/history-substring-search/external b/modules/history-substring-search/external index 3bd84be43e..82fbef5132 160000 --- a/modules/history-substring-search/external +++ b/modules/history-substring-search/external @@ -1 +1 @@ -Subproject commit 3bd84be43e74710c60febfd46ced793e19fbf657 +Subproject commit 82fbef5132b44c5d039e7d25972d9351c5936bc2 diff --git a/modules/history-substring-search/init.zsh b/modules/history-substring-search/init.zsh index ea20fffd26..53eb99be15 100644 --- a/modules/history-substring-search/init.zsh +++ b/modules/history-substring-search/init.zsh @@ -13,11 +13,23 @@ pmodload 'editor' source "${0:h}/external/zsh-history-substring-search.zsh" # -# Styles +# Search # +zstyle -s ':prezto:module:history-substring-search:color' found \ + 'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND' \ + || HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold' + +zstyle -s ':prezto:module:history-substring-search:color' not-found \ + 'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND' \ + || HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold' + +zstyle -s ':prezto:module:history-substring-search' globbing-flags \ + 'HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS' \ + || HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i' + if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then - unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS + HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}" fi if ! zstyle -t ':prezto:module:history-substring-search' color; then @@ -28,7 +40,7 @@ fi # Key Bindings # -if [[ -n $key_info ]]; then +if [[ -n "$key_info" ]]; then # Emacs bindkey -M emacs "$key_info[Control]P" history-substring-search-up bindkey -M emacs "$key_info[Control]N" history-substring-search-down diff --git a/modules/pacman/functions/pacman-list-disowned b/modules/pacman/functions/pacman-list-disowned index d6b6f289b2..2cd8a92bbb 100644 --- a/modules/pacman/functions/pacman-list-disowned +++ b/modules/pacman/functions/pacman-list-disowned @@ -6,7 +6,7 @@ # Sorin Ionescu # -local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$" +local tmp="$TMPDIR/pacman-disowned-$UID-$$" local db="$tmp/db" local fs="$tmp/fs" diff --git a/modules/prompt/README.md b/modules/prompt/README.md index 85ed13eef0..da3f2bac4c 100644 --- a/modules/prompt/README.md +++ b/modules/prompt/README.md @@ -34,7 +34,7 @@ including a function that displays help or a function used to preview it. **Do not call this function directly.** -The most basic example of this function can be seen bellow. +The most basic example of this function can be seen below. function prompt_name_setup { PROMPT='%m%# ' diff --git a/modules/prompt/functions/prompt_sorin_setup b/modules/prompt/functions/prompt_sorin_setup index 796da78f38..c3302ad1e4 100644 --- a/modules/prompt/functions/prompt_sorin_setup +++ b/modules/prompt/functions/prompt_sorin_setup @@ -46,10 +46,14 @@ function prompt_sorin_setup { # Add hook for calling git-info before each command. add-zsh-hook precmd prompt_sorin_precmd + # Set editor-info parameters. zstyle ':prezto:module:editor:info:completing' format '%B%F{red}...%f%b' zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{red}❯%F{yellow}❯%F{green}❯%f%b' zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{red}♺%f' zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{green}❮%F{yellow}❮%F{red}❮%f%b' + + # Set git-info parameters. + zstyle ':prezto:module:git:info' verbose 'yes' zstyle ':prezto:module:git:info:action' format ':%%B%F{yellow}%s%f%%b' zstyle ':prezto:module:git:info:added' format ' %%B%F{green}✚%f%%b' zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b' diff --git a/modules/rsync/README.md b/modules/rsync/README.md index 2d2e656696..2ec211244d 100644 --- a/modules/rsync/README.md +++ b/modules/rsync/README.md @@ -3,9 +3,6 @@ Rsync Defines [rsync][1] aliases. -Mac OS X users are encouraged to use [Bombich's rsync][2], which has HFS+ -enhancements. - Aliases ------- @@ -18,11 +15,10 @@ Aliases Authors ------- -*The authors of this module should be contacted via the [issue tracker][3].* +*The authors of this module should be contacted via the [issue tracker][2].* - [Sorin Ionescu](https://github.com/sorin-ionescu) [1]: http://rsync.samba.org -[2]: http://www.bombich.com/rsync.html -[3]: https://github.com/sorin-ionescu/prezto/issues +[2]: https://github.com/sorin-ionescu/prezto/issues diff --git a/modules/rsync/init.zsh b/modules/rsync/init.zsh index c3b3b577b3..802952cd7b 100644 --- a/modules/rsync/init.zsh +++ b/modules/rsync/init.zsh @@ -17,7 +17,6 @@ fi _rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system' # Mac OS X and HFS+ Enhancements -# http://www.bombich.com/rsync.html if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then _rsync_cmd="${_rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change" fi diff --git a/modules/ruby/init.zsh b/modules/ruby/init.zsh index b287cbb2c8..0303d5a34c 100644 --- a/modules/ruby/init.zsh +++ b/modules/ruby/init.zsh @@ -28,6 +28,8 @@ else if [[ "$OSTYPE" == darwin* ]]; then export GEM_HOME="$HOME/Library/Ruby/Gems/1.8" path=("$GEM_HOME/bin" $path) + else + path=($HOME/.gem/ruby/*/bin(N) $path) fi fi @@ -58,4 +60,3 @@ if (( $+commands[bundle] )); then && print vendor/bundle >>! .gitignore \ && print vendor/cache >>! .gitignore' fi - diff --git a/modules/ssh-agent/README.md b/modules/ssh-agent/README.md deleted file mode 100644 index 392a8666fb..0000000000 --- a/modules/ssh-agent/README.md +++ /dev/null @@ -1,36 +0,0 @@ -SSH-Agent -========= - -Provides for an easier use of [ssh-agent][1]. - -Settings --------- - -### Agent Forwarding - -To enable SSH-Agent forwarding, add the following line to *zpreztorc*: - - zstyle ':prezto:module:ssh-agent' forwarding 'yes' - -### Identities - -To load multiple identities, add the following line to *zpreztorc*: - - zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github' - -Authors -------- - -*The authors of this module should be contacted via the [issue tracker][2].* - - - [Robby Russell](https://github.com/robbyrussell) - - [Theodore Robert Campbell Jr](https://github.com/trcjr) - - [Joseph M. Reagle Jr.](https://github.com/reagle) - - [Florent Thoumie](https://github.com/flz) - - [Jonas Pfenniger](https://github.com/zimbatm) - - [Gareth Owen](https://github.com/gwjo) - - [Sorin Ionescu](https://github.com/sorin-ionescu) - -[1]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1 -[2]: https://github.com/sorin-ionescu/prezto/issues - diff --git a/modules/ssh-agent/init.zsh b/modules/ssh-agent/init.zsh deleted file mode 100644 index 56215a4f74..0000000000 --- a/modules/ssh-agent/init.zsh +++ /dev/null @@ -1,62 +0,0 @@ -# -# Provides for an easier use of ssh-agent. -# -# Authors: -# Robby Russell -# Theodore Robert Campbell Jr -# Joseph M. Reagle Jr. -# Florent Thoumie -# Jonas Pfenniger -# gwjo -# Sorin Ionescu -# - -# Return if requirements are not found. -if (( ! $+commands[ssh-agent] )); then - return 1 -fi - -# Load dependencies. -pmodload 'helper' - -_ssh_agent_env="${HOME}/.ssh/environment-${HOST}" -_ssh_agent_forwarding= - -function _ssh-agent-start { - local -a identities - - # Start ssh-agent and setup the environment. - rm -f "${_ssh_agent_env}" - ssh-agent > "${_ssh_agent_env}" - chmod 600 "${_ssh_agent_env}" - source "${_ssh_agent_env}" > /dev/null - - # Load identities. - zstyle -a ':prezto:module:ssh-agent' identities 'identities' - - if (( ${#identities} > 0 )); then - ssh-add "${HOME}/.ssh/${^identities[@]}" - else - ssh-add - fi -} - -# Test if agent-forwarding is enabled. -zstyle -b ':prezto:module:ssh-agent' forwarding '_ssh_agent_forwarding' -if is-true "${_ssh_agent_forwarding}" && [[ -n "$SSH_AUTH_SOCK" ]]; then - # Add a nifty symlink for screen/tmux if agent forwarding. - [[ -L "$SSH_AUTH_SOCK" ]] || ln -sf "$SSH_AUTH_SOCK" /tmp/ssh-agent-$USER-screen -elif [[ -s "${_ssh_agent_env}" ]]; then - # Source SSH settings, if applicable. - source "${_ssh_agent_env}" > /dev/null - ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'ssh-agent$' || { - _ssh-agent-start; - } -else - _ssh-agent-start; -fi - -# Tidy up after ourselves. -unfunction _ssh-agent-start -unset _ssh_agent_{env,forwarding} - diff --git a/modules/ssh/README.md b/modules/ssh/README.md new file mode 100644 index 0000000000..e953a60193 --- /dev/null +++ b/modules/ssh/README.md @@ -0,0 +1,28 @@ +SSH +=== + +Provides for an easier use of [SSH][1] by setting up [ssh-agent][2]. + +This module is disabled on Mac OS X due to custom Apple SSH support rendering it +unnecessary. + +Settings +-------- + +### Identities + +To load multiple identities, add the following line to *zpreztorc*: + + zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_dsa' 'id_github' + +Authors +------- + +*The authors of this module should be contacted via the [issue tracker][3].* + + - [Sorin Ionescu](https://github.com/sorin-ionescu) + +[1]: http://www.openssh.com +[2]: http://www.openbsd.org/cgi-bin/man.cgi?query=ssh-agent&sektion=1 +[3]: https://github.com/sorin-ionescu/prezto/issues + diff --git a/modules/ssh/init.zsh b/modules/ssh/init.zsh new file mode 100644 index 0000000000..447846f56f --- /dev/null +++ b/modules/ssh/init.zsh @@ -0,0 +1,48 @@ +# +# Provides for an easier use of SSH by setting up ssh-agent. +# +# Authors: +# Sorin Ionescu +# + +# Return if requirements are not found. +if [[ "$OSTYPE" == darwin* ]] || (( ! $+commands[ssh-agent] )); then + return 1 +fi + +# Set the path to the SSH directory. +_ssh_dir="$HOME/.ssh" + +# Set the path to the environment file if not set by another module. +_ssh_agent_env="${_ssh_agent_env:-$TMPDIR/ssh-agent.env}" + +# Set the path to the persistent authentication socket. +_ssh_agent_sock="$TMPDIR/ssh-agent.sock" + +# Start ssh-agent if not started. +if [[ ! -S "$SSH_AUTH_SOCK" ]]; then + eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")" +else + # Export environment variables. + source "$_ssh_agent_env" 2> /dev/null +fi + +# Load identities. +if ssh-add -l 2>&1 | grep 'The agent has no identities'; then + zstyle -a ':prezto:module:ssh:load' identities '_ssh_identities' + if (( ${#identities} > 0 )); then + ssh-add "$_ssh_dir/${^_ssh_identities[@]}" + else + ssh-add + fi +fi + +# Create a persistent SSH authentication socket. +if [[ -S "$SSH_AUTH_SOCK" && "$SSH_AUTH_SOCK" != "$_ssh_agent_sock" ]]; then + ln -sf "$SSH_AUTH_SOCK" "$_ssh_agent_sock" + export SSH_AUTH_SOCK="$_ssh_agent_sock" +fi + +# Clean up. +unset _ssh_{dir,identities} _ssh_agent_{env,sock} + diff --git a/modules/syntax-highlighting/README.md b/modules/syntax-highlighting/README.md index 7fb84e2b59..c88c54cfec 100644 --- a/modules/syntax-highlighting/README.md +++ b/modules/syntax-highlighting/README.md @@ -38,6 +38,18 @@ To enable all highlighters, add the following to *zpreztorc*: 'cursor' \ 'root' +### Highlighting Styles + +Each syntax highlighter defines styles used to highlight tokens. + +To highlight, for example, builtins, commands, and functions in blue instead of +green, add the following to *zpreztorc*: + + zstyle ':prezto:module:syntax-highlighting' styles \ + 'builtin' 'bg=blue' \ + 'command' 'bg=blue' \ + 'function' 'bg=blue' + Authors ------- diff --git a/modules/syntax-highlighting/init.zsh b/modules/syntax-highlighting/init.zsh index d9bd414bd1..e5c555bd12 100644 --- a/modules/syntax-highlighting/init.zsh +++ b/modules/syntax-highlighting/init.zsh @@ -13,9 +13,17 @@ fi # Source module files. source "${0:h}/external/zsh-syntax-highlighting.zsh" -# Set the highlighters. +# Set highlighters. zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS' if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then - ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets cursor) + ZSH_HIGHLIGHT_HIGHLIGHTERS=(main) fi +# Set highlighting styles. +typeset -A syntax_highlighting_styles +zstyle -a ':prezto:module:syntax-highlighting' styles 'syntax_highlighting_styles' +for syntax_highlighting_style in "${(k)syntax_highlighting_styles[@]}"; do + ZSH_HIGHLIGHT_STYLES[$syntax_highlighting_style]="$syntax_highlighting_styles[$syntax_highlighting_style]" +done +unset syntax_highlighting_style{s,} + diff --git a/modules/tmux/init.zsh b/modules/tmux/init.zsh index a464827640..017327501a 100644 --- a/modules/tmux/init.zsh +++ b/modules/tmux/init.zsh @@ -19,6 +19,9 @@ if [[ -z "$TMUX" ]] && zstyle -t ':prezto:module:tmux' auto-start; then tmux_session='#Prezto' if ! tmux has-session -t "$tmux_session" 2> /dev/null; then + # Ensure that tmux server is started. + tmux start-server + # Disable the destruction of unattached sessions globally. tmux set-option -g destroy-unattached off &> /dev/null diff --git a/runcoms/README.md b/runcoms/README.md index 28064ddcdb..74030b878c 100644 --- a/runcoms/README.md +++ b/runcoms/README.md @@ -38,7 +38,7 @@ small as possible and should only define environment variables. ### zprofile This file is similar to zlogin, but it is sourced before zshrc. It was added -for [KornShell][1] fans. See the description of zlogin bellow for what it may +for [KornShell][1] fans. See the description of zlogin below for what it may contain. zprofile and zlogin are not meant to be used concurrently but can be done so. diff --git a/runcoms/zpreztorc b/runcoms/zpreztorc index 27aad49b49..5eca1a0d35 100644 --- a/runcoms/zpreztorc +++ b/runcoms/zpreztorc @@ -58,6 +58,19 @@ zstyle ':prezto:module:editor' keymap 'emacs' # Set the command prefix on non-GNU systems. # zstyle ':prezto:module:gnu-utility' prefix 'g' +# +# History Substring Search +# + +# Set the query found color. +# zstyle ':prezto:module:history-substring-search:color' found '' + +# Set the query not found color. +# zstyle ':prezto:module:history-substring-search:color' not-found '' + +# Set the search globbing flags. +# zstyle ':prezto:module:history-substring-search' globbing-flags '' + # # Pacman # @@ -82,34 +95,31 @@ zstyle ':prezto:module:prompt' theme 'sorin' # zstyle ':prezto:module:screen' auto-start 'yes' # -# GPG-Agent +# SSH # -# Enable SSH-Agent protocol emulation. -# zstyle ':prezto:module:gpg-agent' ssh-support 'yes' - -# -# SSH-Agent -# - -# Enable ssh-agent forwarding. -# zstyle ':prezto:module:ssh-agent' forwarding 'yes' - -# Set ssh-agent identities to load. -# zstyle ':prezto:module:ssh-agent' identities 'id_rsa' 'id_rsa2' 'id_github' +# Set the SSH identities to load into the agent. +# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github' # # Syntax Highlighting # # Set syntax highlighters. -# By default main, brackets, and cursor are enabled. +# By default, only the main highlighter is enabled. # zstyle ':prezto:module:syntax-highlighting' highlighters \ # 'main' \ # 'brackets' \ # 'pattern' \ # 'cursor' \ # 'root' +# +# Set syntax highlighting styles. +# zstyle ':prezto:module:syntax-highlighting' styles \ +# 'builtin' 'bg=blue' \ +# 'command' 'bg=blue' \ +# 'function' 'bg=blue' +# # # Terminal diff --git a/runcoms/zshenv b/runcoms/zshenv index 0f8738bffa..9ff39e0675 100644 --- a/runcoms/zshenv +++ b/runcoms/zshenv @@ -64,10 +64,13 @@ fi # Temporary Files # -if [[ -d "$TMPDIR" ]]; then - export TMPPREFIX="${TMPDIR%/}/zsh" - if [[ ! -d "$TMPPREFIX" ]]; then - mkdir -p "$TMPPREFIX" - fi +if [[ ! -d "$TMPDIR" ]]; then + export TMPDIR="/tmp/$USER" + mkdir -p -m 700 "$TMPDIR" +fi + +TMPPREFIX="${TMPDIR%/}/zsh" +if [[ ! -d "$TMPPREFIX" ]]; then + mkdir -p "$TMPPREFIX" fi