mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 12:09:08 +00:00 
			
		
		
		
	Compare commits
	
		
			119 Commits
		
	
	
		
			issue/306-
			...
			pull/517-a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					e3696d2c28 | ||
| 
						 | 
					2ebdbdcff5 | ||
| 
						 | 
					eea1eea7dc | ||
| 
						 | 
					4e9553e896 | ||
| 
						 | 
					a57d545639 | ||
| 
						 | 
					cdc4f36f25 | ||
| 
						 | 
					50edc45132 | ||
| 
						 | 
					b1abe7a845 | ||
| 
						 | 
					d368d0536b | ||
| 
						 | 
					254b7c36d9 | ||
| 
						 | 
					d19c349f3f | ||
| 
						 | 
					9f60ddb96b | ||
| 
						 | 
					5b4dcea595 | ||
| 
						 | 
					b98c7469e5 | ||
| 
						 | 
					f6bd76a90b | ||
| 
						 | 
					d877617734 | ||
| 
						 | 
					76fc07ba9f | ||
| 
						 | 
					52ea7152ad | ||
| 
						 | 
					b159ddb02b | ||
| 
						 | 
					5cfe250e52 | ||
| 
						 | 
					cc4a58bee3 | ||
| 
						 | 
					3a5fff9c6d | ||
| 
						 | 
					8993a8dfad | ||
| 
						 | 
					28e956691c | ||
| 
						 | 
					1c6a016644 | ||
| 
						 | 
					e18f18af92 | ||
| 
						 | 
					a4bacb8bb9 | ||
| 
						 | 
					aacff80984 | ||
| 
						 | 
					eb1a20552a | ||
| 
						 | 
					a914a87aa9 | ||
| 
						 | 
					e1e2c85392 | ||
| 
						 | 
					8ee6634c93 | ||
| 
						 | 
					959887013d | ||
| 
						 | 
					b769505857 | ||
| 
						 | 
					622e7b117b | ||
| 
						 | 
					459238b2bb | ||
| 
						 | 
					773ca7ee50 | ||
| 
						 | 
					92e688173b | ||
| 
						 | 
					59e6e7fe8e | ||
| 
						 | 
					92c4dc0fb2 | ||
| 
						 | 
					1ef2555100 | ||
| 
						 | 
					07686fad38 | ||
| 
						 | 
					61f3adcdd1 | ||
| 
						 | 
					d817e80741 | ||
| 
						 | 
					9d504d2d93 | ||
| 
						 | 
					875ce2e56c | ||
| 
						 | 
					16aa48baeb | ||
| 
						 | 
					f007820a14 | ||
| 
						 | 
					9b945e26b9 | ||
| 
						 | 
					20655c8b66 | ||
| 
						 | 
					0c9c099ac3 | ||
| 
						 | 
					baf7f6184b | ||
| 
						 | 
					c9c3b40b5c | ||
| 
						 | 
					1622abb830 | ||
| 
						 | 
					fcab2a1713 | ||
| 
						 | 
					973278140e | ||
| 
						 | 
					39b88fe334 | ||
| 
						 | 
					a7623aad6b | ||
| 
						 | 
					db384b2ac6 | ||
| 
						 | 
					7845c36951 | ||
| 
						 | 
					75c0d49f56 | ||
| 
						 | 
					d4e78d427a | ||
| 
						 | 
					e836957e4f | ||
| 
						 | 
					5306bab7ce | ||
| 
						 | 
					f3ae9dd82c | ||
| 
						 | 
					88408e8bc2 | ||
| 
						 | 
					fb5b1be345 | ||
| 
						 | 
					bde5149c7b | ||
| 
						 | 
					7e33c7189e | ||
| 
						 | 
					413b717484 | ||
| 
						 | 
					23f62774f9 | ||
| 
						 | 
					2e64f7ed64 | ||
| 
						 | 
					6cd97d2d0f | ||
| 
						 | 
					810a4490d7 | ||
| 
						 | 
					b42479a7c7 | ||
| 
						 | 
					80b203bcd3 | ||
| 
						 | 
					cf07c4ec91 | ||
| 
						 | 
					05a6653284 | ||
| 
						 | 
					4e3475d8a7 | ||
| 
						 | 
					f86854ebd4 | ||
| 
						 | 
					16a8e45cfa | ||
| 
						 | 
					f431af790b | ||
| 
						 | 
					3c5363ef9b | ||
| 
						 | 
					0d27e20e43 | ||
| 
						 | 
					9e23df814f | ||
| 
						 | 
					18d239141d | ||
| 
						 | 
					579dfee6f7 | ||
| 
						 | 
					a1a2a37045 | ||
| 
						 | 
					2baa4dce0c | ||
| 
						 | 
					e2c5f2fb2c | ||
| 
						 | 
					6e65349c45 | ||
| 
						 | 
					f4d9b32de9 | ||
| 
						 | 
					185235003e | ||
| 
						 | 
					d198c08db5 | ||
| 
						 | 
					6fd00449a6 | ||
| 
						 | 
					095863e6ae | ||
| 
						 | 
					e5de305157 | ||
| 
						 | 
					39795d3e5e | ||
| 
						 | 
					b531191e2c | ||
| 
						 | 
					455cc0c6e5 | ||
| 
						 | 
					14da495193 | ||
| 
						 | 
					bb6b590919 | ||
| 
						 | 
					1d0b0e2e9b | ||
| 
						 | 
					5a245850f0 | ||
| 
						 | 
					5d4282c43d | ||
| 
						 | 
					c737369083 | ||
| 
						 | 
					bf957d7cc4 | ||
| 
						 | 
					e5cfdba26d | ||
| 
						 | 
					6cd1f66cd4 | ||
| 
						 | 
					a120602dfa | ||
| 
						 | 
					37f65b3f86 | ||
| 
						 | 
					decf3cd875 | ||
| 
						 | 
					29647947fe | ||
| 
						 | 
					795495b864 | ||
| 
						 | 
					13b501adaf | ||
| 
						 | 
					1788d73cd8 | ||
| 
						 | 
					52db7bb0f6 | ||
| 
						 | 
					bb597ae22d | ||
| 
						 | 
					1ed7fd360c | 
							
								
								
									
										39
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								README.md
									
									
									
									
									
								
							@@ -9,7 +9,8 @@ Installation
 | 
				
			|||||||
------------
 | 
					------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Prezto will work with any recent release of Zsh, but the minimum recommended
 | 
					Prezto will work with any recent release of Zsh, but the minimum recommended
 | 
				
			||||||
version is 4.3.10.
 | 
					version is 4.3.11. Unfortunately, [Cygwin][9] is not supported due to
 | 
				
			||||||
 | 
					non-standard core utilities.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  1. Launch Zsh:
 | 
					  1. Launch Zsh:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -33,31 +34,19 @@ version is 4.3.10.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  5. Open a new Zsh terminal window or tab.
 | 
					  5. Open a new Zsh terminal window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Mac OS X
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
If you have administrator privileges, you must fix an Apple-introduced problem
 | 
					 | 
				
			||||||
in Mac OS X 10.5 Leopard by executing the following command, or BASH and Zsh
 | 
					 | 
				
			||||||
will have the wrong `PATH` when executed non-interactively.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    sudo chmod ugo-x /usr/libexec/path_helper
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
`path_helper` is intended to make it easier for installers to add new paths to
 | 
					 | 
				
			||||||
the environment without having to edit shell configuration files by adding
 | 
					 | 
				
			||||||
a file with a path to the */etc/paths.d* directory.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Unfortunately, `path_helper` always reads paths from */etc/paths* set by Apple
 | 
					 | 
				
			||||||
then paths from */etc/paths.d* set by third party installers, and lastly paths
 | 
					 | 
				
			||||||
from the `PATH` environment variable set by the parent process, which
 | 
					 | 
				
			||||||
ultimately is set by the user with `export PATH=...` Thus, it reorders path
 | 
					 | 
				
			||||||
priorities, and user */bin* directories meant to override system */bin*
 | 
					 | 
				
			||||||
directories end up at the tail of the array.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Troubleshooting
 | 
					### Troubleshooting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you are not able to find certain commands after switching to *Prezto*,
 | 
					If you are not able to find certain commands after switching to *Prezto*,
 | 
				
			||||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
 | 
					modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
 | 
				
			||||||
window or tab.
 | 
					window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Updating
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pull the latest changes and update submodules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    git pull && git submodule update --init --recursive
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Usage
 | 
					Usage
 | 
				
			||||||
-----
 | 
					-----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -82,9 +71,10 @@ accompanying README files to learn of what is available.
 | 
				
			|||||||
Customization
 | 
					Customization
 | 
				
			||||||
-------------
 | 
					-------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The project is managed via [Git][3]. It is highly recommend that you commit
 | 
					The project is managed via [Git][3]. It is highly recommended that you fork this
 | 
				
			||||||
your changes and push them to [GitHub][4] to not lose them. If you do not know
 | 
					project; so, that you can commit your changes and push them to [GitHub][4] to
 | 
				
			||||||
how to use Git, follow this [tutorial][5] and bookmark this [reference][6].
 | 
					not lose them. If you do not know how to use Git, follow this [tutorial][5] and
 | 
				
			||||||
 | 
					bookmark this [reference][6].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Resources
 | 
					Resources
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
@@ -96,7 +86,7 @@ License
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
(The MIT License)
 | 
					(The MIT License)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copyright (c) 2009-2012 Robby Russell, Sorin Ionescu, and contributors.
 | 
					Copyright (c) 2009-2014 Sorin Ionescu and contributors.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
				
			||||||
this software and associated documentation files (the "Software"), to deal in
 | 
					this software and associated documentation files (the "Software"), to deal in
 | 
				
			||||||
@@ -124,4 +114,5 @@ SOFTWARE.
 | 
				
			|||||||
[6]: http://gitref.org
 | 
					[6]: http://gitref.org
 | 
				
			||||||
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
 | 
					[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
 | 
				
			||||||
[8]: http://grml.org/zsh/zsh-lovers.html
 | 
					[8]: http://grml.org/zsh/zsh-lovers.html
 | 
				
			||||||
 | 
					[9]: http://www.cygwin.com
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								init.zsh
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								init.zsh
									
									
									
									
									
								
							@@ -10,7 +10,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check for the minimum supported version.
 | 
					# Check for the minimum supported version.
 | 
				
			||||||
min_zsh_version='4.3.10'
 | 
					min_zsh_version='4.3.11'
 | 
				
			||||||
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
 | 
					if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
 | 
				
			||||||
  print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
 | 
					  print "prezto: old shell detected, minimum required: $min_zsh_version" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ Load modules in *zpreztorc*. The order matters.
 | 
				
			|||||||
Archive
 | 
					Archive
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides functions to extract and list popular archive formats.
 | 
					Provides functions to list and extract archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Command-Not-Found
 | 
					Command-Not-Found
 | 
				
			||||||
-----------------
 | 
					-----------------
 | 
				
			||||||
@@ -31,20 +31,41 @@ Dpkg
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Defines dpkg aliases and functions.
 | 
					Defines dpkg aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Editor
 | 
				
			||||||
 | 
					------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Sets key bindings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Emacs
 | 
				
			||||||
 | 
					-----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enables Emacs dependency management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Environment
 | 
					Environment
 | 
				
			||||||
-----------
 | 
					-----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets general shell options and defines environment variables.
 | 
					Sets general shell options and defines environment variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fasd
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Maintains a frequently used file and directory list for fast access.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Git
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enhances the Git distributed version control system by providing aliases,
 | 
				
			||||||
 | 
					functions and by exposing repository status information to prompts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GNU Utility
 | 
					GNU Utility
 | 
				
			||||||
-----------
 | 
					-----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for the interactive use of GNU utilities on non-GNU systems.
 | 
					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
 | 
					Haskell
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
@@ -56,15 +77,20 @@ Helper
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Provides helper functions for developing modules.
 | 
					Provides helper functions for developing modules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					History
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Sets history options and defines history aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
History Substring Search
 | 
					History Substring Search
 | 
				
			||||||
------------------------
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Integrates zsh-history-substring-search into Prezto.
 | 
					Integrates zsh-history-substring-search into Prezto.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
History
 | 
					Homebrew
 | 
				
			||||||
-------
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets history options and defines history aliases.
 | 
					Defines Homebrew aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Macports
 | 
					Macports
 | 
				
			||||||
--------
 | 
					--------
 | 
				
			||||||
@@ -76,6 +102,11 @@ Node.js
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Provides utility functions for Node.js and loads npm completion.
 | 
					Provides utility functions for Node.js and loads npm completion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Ocaml
 | 
				
			||||||
 | 
					-----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Initializes Ocaml package management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OSX
 | 
					OSX
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -127,10 +158,10 @@ Spectrum
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Provides for easier use of 256 colors and effects.
 | 
					Provides for easier use of 256 colors and effects.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SSH-Agent
 | 
					SSH
 | 
				
			||||||
---------
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for an easier use of ssh-agent.
 | 
					Provides for an easier use of SSH by setting up ssh-agent.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Syntax Highlighting
 | 
					Syntax Highlighting
 | 
				
			||||||
-------------------
 | 
					-------------------
 | 
				
			||||||
@@ -162,9 +193,3 @@ Yum
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Defines yum aliases.
 | 
					Defines yum aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Z
 | 
					 | 
				
			||||||
-
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Integrates z into Prezto, which maintains a frequently used directory list for
 | 
					 | 
				
			||||||
fast directory changes.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,13 @@
 | 
				
			|||||||
Archive
 | 
					Archive
 | 
				
			||||||
=======
 | 
					=======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides functions to extract and list popular archive formats.
 | 
					Provides functions to list and extract archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					Functions
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `extract` extracts the contents of one or more archives.
 | 
					  - `lsarchive` lists the contents of one or more archives.
 | 
				
			||||||
  - `ls-archive` lists the contents of one or more archives.
 | 
					  - `unarchive` extracts the contents of one or more archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Supported Formats
 | 
					Supported Formats
 | 
				
			||||||
-----------------
 | 
					-----------------
 | 
				
			||||||
@@ -26,7 +26,7 @@ installed:
 | 
				
			|||||||
  - *.lzma* requires `unlzma`.
 | 
					  - *.lzma* requires `unlzma`.
 | 
				
			||||||
  - *.Z* requires `uncompress`.
 | 
					  - *.Z* requires `uncompress`.
 | 
				
			||||||
  - *.zip* requires `unzip`.
 | 
					  - *.zip* requires `unzip`.
 | 
				
			||||||
  - *.rar* requires `unrar`.
 | 
					  - *.rar* requires `unrar` or `rar`.
 | 
				
			||||||
  - *.7z* requires `7za`.
 | 
					  - *.7z* requires `7za`.
 | 
				
			||||||
  - *.deb* requires `ar`, `tar`.
 | 
					  - *.deb* requires `ar`, `tar`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#compdef ls-archive
 | 
					#compdef lsarchive
 | 
				
			||||||
#autoload
 | 
					#autoload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Completes ls-archive.
 | 
					# Completes lsarchive.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#compdef extract
 | 
					#compdef unarchive
 | 
				
			||||||
#autoload
 | 
					#autoload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Completes extract.
 | 
					# Completes unarchive.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Lists the contents of popular archive formats.
 | 
					# Lists the contents of archives.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
@@ -41,7 +41,9 @@ while (( $# > 0 )); do
 | 
				
			|||||||
      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
					      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
				
			||||||
    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
					    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
				
			||||||
    (*.zip) unzip -l${verbose:+v} "$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" ;;
 | 
					    (*.7z) 7za l "$1" ;;
 | 
				
			||||||
    (*)
 | 
					    (*)
 | 
				
			||||||
			print "$0: cannot list: $1" >&2
 | 
								print "$0: cannot list: $1" >&2
 | 
				
			||||||
@@ -1,5 +1,5 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Extracts the contents of popular archive formats.
 | 
					# Extracts the contents of archives.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
@@ -53,7 +53,9 @@ while (( $# > 0 )); do
 | 
				
			|||||||
    (*.lzma) unlzma "$1" ;;
 | 
					    (*.lzma) unlzma "$1" ;;
 | 
				
			||||||
    (*.Z) uncompress "$1" ;;
 | 
					    (*.Z) uncompress "$1" ;;
 | 
				
			||||||
    (*.zip) unzip "$1" -d $extract_dir ;;
 | 
					    (*.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" ;;
 | 
					    (*.7z) 7za x "$1" ;;
 | 
				
			||||||
    (*.deb)
 | 
					    (*.deb)
 | 
				
			||||||
      mkdir -p "$extract_dir/control"
 | 
					      mkdir -p "$extract_dir/control"
 | 
				
			||||||
@@ -1,7 +1,8 @@
 | 
				
			|||||||
Command-Not-Found
 | 
					Command-Not-Found
 | 
				
			||||||
=================
 | 
					=================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loads the [command-not-found][1] tool on Debian-based distributions.
 | 
					Displays installation information for not found commands by loading the
 | 
				
			||||||
 | 
					[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,14 @@
 | 
				
			|||||||
#   Joseph Jon Booker <joe@neoturbine.net>
 | 
					#   Joseph Jon Booker <joe@neoturbine.net>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load command-not-found on Debian-based distributions.
 | 
				
			||||||
 | 
					if [[ -s '/etc/zsh_command_not_found' ]]; then
 | 
				
			||||||
 | 
					  source '/etc/zsh_command_not_found'
 | 
				
			||||||
 | 
					# Load command-not-found on Arch Linux-based distributions.
 | 
				
			||||||
 | 
					elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
 | 
				
			||||||
 | 
					  source '/usr/share/doc/pkgfile/command-not-found.zsh'
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if [[ ! -s '/etc/zsh_command_not_found' ]]; then
 | 
					else
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
source '/etc/zsh_command_not_found'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule modules/completion/external updated: 9ef8d2f088...1d6a2aa024
									
								
							@@ -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 MENU_COMPLETE     # Do not autoselect the first completion entry.
 | 
				
			||||||
unsetopt FLOW_CONTROL      # Disable start/stop characters in shell editor.
 | 
					unsetopt FLOW_CONTROL      # Disable start/stop characters in shell editor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Treat these characters as part of a word.
 | 
					 | 
				
			||||||
WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Styles
 | 
					# Styles
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -96,7 +93,7 @@ zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-va
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Populate hostname completion.
 | 
					# Populate hostname completion.
 | 
				
			||||||
zstyle -e ':completion:*:hosts' hosts 'reply=(
 | 
					zstyle -e ':completion:*:hosts' hosts 'reply=(
 | 
				
			||||||
  ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ }
 | 
					  ${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
 | 
				
			||||||
  ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
 | 
					  ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
 | 
				
			||||||
  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
 | 
					  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
 | 
				
			||||||
)'
 | 
					)'
 | 
				
			||||||
@@ -144,8 +141,8 @@ fi
 | 
				
			|||||||
# SSH/SCP/RSYNC
 | 
					# SSH/SCP/RSYNC
 | 
				
			||||||
zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
					zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
				
			||||||
zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
 | 
					zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
 | 
				
			||||||
zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
					zstyle ':completion:*:ssh:*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
				
			||||||
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
 | 
					zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
 | 
				
			||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
 | 
					zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
 | 
				
			||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
 | 
					zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
 | 
				
			||||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
 | 
					zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,16 +7,16 @@ Aliases
 | 
				
			|||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `debc` cleans the cache.
 | 
					- `debc` cleans the cache.
 | 
				
			||||||
- `debf` displays a file's packake.
 | 
					- `debf` displays a file's package.
 | 
				
			||||||
- `debi` installs packages from repositories.
 | 
					- `debi` installs packages from repositories.
 | 
				
			||||||
- `debI` installs packages from files.
 | 
					- `debI` installs packages from files.
 | 
				
			||||||
- `debq` displays package information.
 | 
					- `debq` displays package information.
 | 
				
			||||||
- `debu` updates the packages lists.
 | 
					- `debu` updates the package lists.
 | 
				
			||||||
- `debU` upgrades outdated packages.
 | 
					- `debU` upgrades outdated packages.
 | 
				
			||||||
- `debx` removes packages.
 | 
					- `debx` removes packages.
 | 
				
			||||||
- `debX` removes packages, their configuration, and unneeded dependencies.
 | 
					- `debX` removes packages, their configuration, and unneeded dependencies.
 | 
				
			||||||
- `debs` searches for packages.
 | 
					- `debs` searches for packages.
 | 
				
			||||||
- `deb-build` creates a basic .deb package.
 | 
					- `deb-build` creates a basic deb package.
 | 
				
			||||||
- `deb-kclean` removes all kernel images and headers, except for the ones in
 | 
					- `deb-kclean` removes all kernel images and headers, except for the ones in
 | 
				
			||||||
  use.
 | 
					  use.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,7 +19,7 @@ fi
 | 
				
			|||||||
# Cleans the cache.
 | 
					# Cleans the cache.
 | 
				
			||||||
alias debc='sudo apt-get clean && sudo apt-get autoclean'
 | 
					alias debc='sudo apt-get clean && sudo apt-get autoclean'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Displays a file's packake.
 | 
					# Displays a file's package.
 | 
				
			||||||
alias debf='apt-file search --regexp'
 | 
					alias debf='apt-file search --regexp'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Installs packages from repositories.
 | 
					# Installs packages from repositories.
 | 
				
			||||||
@@ -31,7 +31,7 @@ alias debI='sudo dpkg -i'
 | 
				
			|||||||
# Displays package information.
 | 
					# Displays package information.
 | 
				
			||||||
alias debq='apt-cache show'
 | 
					alias debq='apt-cache show'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Updates the packages lists.
 | 
					# Updates the package lists.
 | 
				
			||||||
alias debu='sudo apt-get update'
 | 
					alias debu='sudo apt-get update'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Upgrades outdated packages.
 | 
					# Upgrades outdated packages.
 | 
				
			||||||
@@ -50,7 +50,7 @@ else
 | 
				
			|||||||
  alias debs='apt-cache search'
 | 
					  alias debs='apt-cache search'
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Creates a basic .deb package.
 | 
					# Creates a basic deb package.
 | 
				
			||||||
alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc'
 | 
					alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Removes all kernel images and headers, except for the ones in use.
 | 
					# Removes all kernel images and headers, except for the ones in use.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										63
									
								
								modules/editor/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								modules/editor/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					Editor
 | 
				
			||||||
 | 
					======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Sets key bindings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Settings
 | 
				
			||||||
 | 
					--------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Key bindings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
 | 
				
			||||||
 | 
					with 'emacs' or 'vi'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:editor' key-bindings 'bindings'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -4,42 +4,6 @@
 | 
				
			|||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# 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.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if [[ "$TERM" == 'dumb' ]]; then
 | 
					if [[ "$TERM" == 'dumb' ]]; then
 | 
				
			||||||
@@ -57,6 +21,9 @@ setopt BEEP
 | 
				
			|||||||
# Variables
 | 
					# Variables
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Treat these characters as part of a word.
 | 
				
			||||||
 | 
					WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Use human-friendly identifiers.
 | 
					# Use human-friendly identifiers.
 | 
				
			||||||
zmodload zsh/terminfo
 | 
					zmodload zsh/terminfo
 | 
				
			||||||
typeset -gA key_info
 | 
					typeset -gA key_info
 | 
				
			||||||
@@ -90,12 +57,11 @@ key_info=(
 | 
				
			|||||||
  'BackTab'   "$terminfo[kcbt]"
 | 
					  'BackTab'   "$terminfo[kcbt]"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Do not bind any keys if there are empty values in $key_info.
 | 
					# Set empty $key_info values to an invalid UTF-8 sequence to induce silent
 | 
				
			||||||
 | 
					# bindkey failure.
 | 
				
			||||||
for key in "${(k)key_info[@]}"; do
 | 
					for key in "${(k)key_info[@]}"; do
 | 
				
			||||||
  if [[ -z "$key_info[$key]" ]]; then
 | 
					  if [[ -z "$key_info[$key]" ]]; then
 | 
				
			||||||
    print "prezto: one or more keys are non-bindable" >&2
 | 
					    key_info["$key"]='<27>'
 | 
				
			||||||
    unset key{,_info}
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -141,8 +107,25 @@ function editor-info {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
zle -N editor-info
 | 
					zle -N editor-info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Updates editor information when the keymap changes.
 | 
					# Ensures that $terminfo values are valid and updates editor information when
 | 
				
			||||||
 | 
					# the keymap changes.
 | 
				
			||||||
function zle-keymap-select zle-line-init zle-line-finish {
 | 
					function zle-keymap-select zle-line-init zle-line-finish {
 | 
				
			||||||
 | 
					  # The terminal must be in application mode when ZLE is active for $terminfo
 | 
				
			||||||
 | 
					  # values to be valid.
 | 
				
			||||||
 | 
					  if (( $+terminfo[smkx] && $+terminfo[rmkx] )); then
 | 
				
			||||||
 | 
					    case "$0" in
 | 
				
			||||||
 | 
					      (zle-line-init)
 | 
				
			||||||
 | 
					        # Enable terminal application mode.
 | 
				
			||||||
 | 
					        echoti smkx
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					      (zle-line-finish)
 | 
				
			||||||
 | 
					        # Disable terminal application mode.
 | 
				
			||||||
 | 
					        echoti rmkx
 | 
				
			||||||
 | 
					      ;;
 | 
				
			||||||
 | 
					    esac
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Update editor information.
 | 
				
			||||||
  zle editor-info
 | 
					  zle editor-info
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
zle -N zle-keymap-select
 | 
					zle -N zle-keymap-select
 | 
				
			||||||
@@ -253,10 +236,6 @@ bindkey -M vicmd "v" edit-command-line
 | 
				
			|||||||
bindkey -M vicmd "u" undo
 | 
					bindkey -M vicmd "u" undo
 | 
				
			||||||
bindkey -M vicmd "$key_info[Control]R" redo
 | 
					bindkey -M vicmd "$key_info[Control]R" redo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Switch to command mode.
 | 
					 | 
				
			||||||
bindkey -M viins "jk" vi-cmd-mode
 | 
					 | 
				
			||||||
bindkey -M viins "kj" vi-cmd-mode
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
					if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
				
			||||||
  bindkey -M vicmd "?" history-incremental-pattern-search-backward
 | 
					  bindkey -M vicmd "?" history-incremental-pattern-search-backward
 | 
				
			||||||
  bindkey -M vicmd "/" history-incremental-pattern-search-forward
 | 
					  bindkey -M vicmd "/" history-incremental-pattern-search-forward
 | 
				
			||||||
@@ -327,14 +306,14 @@ fi
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the key layout.
 | 
					# Set the key layout.
 | 
				
			||||||
zstyle -s ':prezto:module:editor' keymap 'keymap'
 | 
					zstyle -s ':prezto:module:editor' key-bindings 'key_bindings'
 | 
				
			||||||
if [[ "$keymap" == (emacs|) ]]; then
 | 
					if [[ "$key_bindings" == (emacs|) ]]; then
 | 
				
			||||||
  bindkey -e
 | 
					  bindkey -e
 | 
				
			||||||
elif [[ "$keymap" == vi ]]; then
 | 
					elif [[ "$key_bindings" == vi ]]; then
 | 
				
			||||||
  bindkey -v
 | 
					  bindkey -v
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  print "prezto: invalid keymap: $keymap" >&2
 | 
					  print "prezto: editor: invalid key bindings: $key_bindings" >&2
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unset key{map,}
 | 
					unset key{,map,bindings}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								modules/emacs/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								modules/emacs/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					Emacs
 | 
				
			||||||
 | 
					=====
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Enables Emacs dependency management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Dependency management
 | 
				
			||||||
 | 
					---------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Carton][1] installs and manages Emacs packages for Emacs package development
 | 
				
			||||||
 | 
					and Emacs configuration.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This module prepends the Carton directory to the path variable to enable the
 | 
				
			||||||
 | 
					execution of `carton`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aliases
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Carton
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - `cai` installs dependencies.
 | 
				
			||||||
 | 
					  - `cau` updates dependencies.
 | 
				
			||||||
 | 
					  - `caI` initializes the current directory for dependency management.
 | 
				
			||||||
 | 
					  - `cae` executes a command which correct dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Authors
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*The authors of this module should be contacted via the [issue tracker][2].*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: https://github.com/rejeep/carton
 | 
				
			||||||
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
							
								
								
									
										25
									
								
								modules/emacs/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/emacs/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Configures Emacs dependency management.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors: Sebastian Wiesner <lunaryorn@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Return if requirements are not found.
 | 
				
			||||||
 | 
					if [[ ! -d "$HOME/.cask" ]]; then
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Prepend Cask bin directory.
 | 
				
			||||||
 | 
					path=($HOME/.cask/bin $path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load Carton completion
 | 
				
			||||||
 | 
					source "$HOME/.cask/etc/cask_completion.zsh" 2> /dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias cai='cask install'
 | 
				
			||||||
 | 
					alias cau='cask update'
 | 
				
			||||||
 | 
					alias caI='cask init'
 | 
				
			||||||
 | 
					alias cae='cask exec'
 | 
				
			||||||
@@ -17,6 +17,8 @@ zle -N self-insert url-quote-magic
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setopt BRACE_CCL          # Allow brace character class list expansion.
 | 
					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'.
 | 
					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.
 | 
					unsetopt MAIL_WARNING     # Don't print a warning message if a mail file has been accessed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,8 @@
 | 
				
			|||||||
Git
 | 
					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].
 | 
					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,
 | 
					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
 | 
					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 ''
 | 
					    zstyle ':prezto:module:git:log:context' format ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -38,8 +39,8 @@ Aliases
 | 
				
			|||||||
  - `gbc` creates a new branch.
 | 
					  - `gbc` creates a new branch.
 | 
				
			||||||
  - `gbl` lists branches and their commits.
 | 
					  - `gbl` lists branches and their commits.
 | 
				
			||||||
  - `gbL` lists local and remote branches and their commits.
 | 
					  - `gbL` lists local and remote branches and their commits.
 | 
				
			||||||
  - `gbs` lists branches and their commits with ancestery graphs.
 | 
					  - `gbs` lists branches and their commits with ancestry graphs.
 | 
				
			||||||
  - `gbS` lists local and remote branches and their commits with ancestery
 | 
					  - `gbS` lists local and remote branches and their commits with ancestry
 | 
				
			||||||
    graphs.
 | 
					    graphs.
 | 
				
			||||||
  - `gbx` deletes a branch.
 | 
					  - `gbx` deletes a branch.
 | 
				
			||||||
  - `gbX` deletes a branch irrespective of its merged status.
 | 
					  - `gbX` deletes a branch irrespective of its merged status.
 | 
				
			||||||
@@ -53,16 +54,27 @@ Aliases
 | 
				
			|||||||
  - `gca` stages all modified and deleted files.
 | 
					  - `gca` stages all modified and deleted files.
 | 
				
			||||||
  - `gcm` records changes to the repository with the given message.
 | 
					  - `gcm` records changes to the repository with the given message.
 | 
				
			||||||
  - `gco` checks out a branch or paths to work tree.
 | 
					  - `gco` checks out a branch or paths to work tree.
 | 
				
			||||||
  - `gcO` checks out paths to work tree using the *HEAD* commit.
 | 
					  - `gcO` checks out hunks from the index or the tree interactively.
 | 
				
			||||||
  - `gcf` amends the tip of the current branch using the same log message as
 | 
					  - `gcf` amends the tip of the current branch using the same log message as
 | 
				
			||||||
    *HEAD*.
 | 
					    *HEAD*.
 | 
				
			||||||
 | 
					  - `gcF` amends the tip of the current branch.
 | 
				
			||||||
  - `gcp` applies changes introduced by existing commits.
 | 
					  - `gcp` applies changes introduced by existing commits.
 | 
				
			||||||
  - `gcP` applies changes introduced by existing commits without committing.
 | 
					  - `gcP` applies changes introduced by existing commits without committing.
 | 
				
			||||||
  - `gcr` reverts existing commits by reverting patches and recording new
 | 
					  - `gcr` reverts existing commits by reverting patches and recording new
 | 
				
			||||||
     commits.
 | 
					     commits.
 | 
				
			||||||
  - `gcR` removes the *HEAD* commit.
 | 
					  - `gcR` removes the *HEAD* commit.
 | 
				
			||||||
  - `gcs` displays various types of objects.
 | 
					  - `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
 | 
					### Data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -85,8 +97,8 @@ Aliases
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  - `gg` displays lines matching a pattern.
 | 
					  - `gg` displays lines matching a pattern.
 | 
				
			||||||
  - `ggi` displays lines matching a pattern ignoring case.
 | 
					  - `ggi` displays lines matching a pattern ignoring case.
 | 
				
			||||||
  - `ggl` displays files matching a pattern.
 | 
					  - `ggl` lists files matching a pattern.
 | 
				
			||||||
  - `ggL` displays files are not matching a pattern.
 | 
					  - `ggL` lists files that are not matching a pattern.
 | 
				
			||||||
  - `ggv` displays lines not matching a pattern.
 | 
					  - `ggv` displays lines not matching a pattern.
 | 
				
			||||||
  - `ggw` displays lines matching a pattern at word boundary.
 | 
					  - `ggw` displays lines matching a pattern at word boundary.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -97,21 +109,11 @@ Aliases
 | 
				
			|||||||
  - `giu` adds file contents to the index (updates only known files).
 | 
					  - `giu` adds file contents to the index (updates only known files).
 | 
				
			||||||
  - `gid` displays changes between the index and a named commit (diff).
 | 
					  - `gid` displays changes between the index and a named commit (diff).
 | 
				
			||||||
  - `giD` displays changes between the index and a named commit (word diff).
 | 
					  - `giD` displays changes between the index and a named commit (word diff).
 | 
				
			||||||
  - `gir` resets current HEAD to the specified state.
 | 
					  - `gir` resets the current HEAD to the specified state.
 | 
				
			||||||
  - `giR` resets current index to the specified state.
 | 
					  - `giR` resets the current index interactively.
 | 
				
			||||||
  - `gix` removes files/directories from the index (recursively).
 | 
					  - `gix` removes files/directories from the index (recursively).
 | 
				
			||||||
  - `giX` removes files/directories from the index (recursively and forced).
 | 
					  - `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
 | 
					### Log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gl` displays the log.
 | 
					  - `gl` displays the log.
 | 
				
			||||||
@@ -153,12 +155,12 @@ Aliases
 | 
				
			|||||||
### Remote
 | 
					### Remote
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gR` manages tracked repositories.
 | 
					  - `gR` manages tracked repositories.
 | 
				
			||||||
  - `gRl` displays remote names and URLs.
 | 
					  - `gRl` lists remote names and their URLs.
 | 
				
			||||||
  - `gRa` adds a new remote.
 | 
					  - `gRa` adds a new remote.
 | 
				
			||||||
  - `gRx` removes a remote.
 | 
					  - `gRx` removes a remote.
 | 
				
			||||||
  - `gRm` renames a remote.
 | 
					  - `gRm` renames a remote.
 | 
				
			||||||
  - `gRu` fetches remotes updates.
 | 
					  - `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.
 | 
					  - `gRs` displays information about a given remote.
 | 
				
			||||||
  - `gRb` opens a remote on [GitHub][3] in the default browser.
 | 
					  - `gRb` opens a remote on [GitHub][3] in the default browser.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -168,10 +170,9 @@ Aliases
 | 
				
			|||||||
  - `gsa` applies the changes recorded in a stash to the working directory.
 | 
					  - `gsa` applies the changes recorded in a stash to the working directory.
 | 
				
			||||||
  - `gsx` drops a stashed state.
 | 
					  - `gsx` drops a stashed state.
 | 
				
			||||||
  - `gsX` drops all the stashed states.
 | 
					  - `gsX` drops all the stashed states.
 | 
				
			||||||
  - `gsd` lists dropped stashed states.
 | 
					 | 
				
			||||||
  - `gsl` lists stashed states.
 | 
					  - `gsl` lists stashed states.
 | 
				
			||||||
  - `gsL` displays the changes recorded in the stash as a diff between the
 | 
					  - `gsL` lists dropped stashed states.
 | 
				
			||||||
    stashed state and its original parent.
 | 
					  - `gsd` displays changes between the stash and its original parent.
 | 
				
			||||||
  - `gsp` removes and applies a single stashed state from the stash list.
 | 
					  - `gsp` removes and applies a single stashed state from the stash list.
 | 
				
			||||||
  - `gsr` recovers a given stashed state.
 | 
					  - `gsr` recovers a given stashed state.
 | 
				
			||||||
  - `gss` stashes the changes of the dirty working directory, including untracked.
 | 
					  - `gss` stashes the changes of the dirty working directory, including untracked.
 | 
				
			||||||
@@ -246,25 +247,47 @@ setting a style is as follows.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:info:context:subcontext' format 'string'
 | 
					    zstyle ':prezto:module:git:info:context:subcontext' format 'string'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Main Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name      | Format Code | Description
 | 
					| Name      | Format Code | Description
 | 
				
			||||||
| --------- | :---------: | ---------------------------------------------------
 | 
					| --------- | :---------: | ---------------------------------------------------
 | 
				
			||||||
| action    |     %s      | Special action name
 | 
					| action    |     %s      | Special action name
 | 
				
			||||||
| added     |     %a      | Added files count
 | 
					 | 
				
			||||||
| ahead     |     %A      | Commits ahead of remote count
 | 
					| ahead     |     %A      | Commits ahead of remote count
 | 
				
			||||||
| behind    |     %B      | Commits behind of remote count
 | 
					| behind    |     %B      | Commits behind of remote count
 | 
				
			||||||
| branch    |     %b      | Branch name
 | 
					| branch    |     %b      | Branch name
 | 
				
			||||||
| commit    |     %c      | Commit hash
 | 
					| 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
 | 
					| clean     |     %C      | Clean state
 | 
				
			||||||
| deleted   |     %d      | Deleted files count
 | 
					| deleted   |     %d      | Deleted files count
 | 
				
			||||||
| dirty     |     %D      | Dirty files count
 | 
					| dirty     |     %D      | Dirty files count
 | 
				
			||||||
| modified  |     %m      | Modified files count
 | 
					| modified  |     %m      | Modified files count
 | 
				
			||||||
| position  |     %p      | Commits from the nearest tag count
 | 
					 | 
				
			||||||
| remote    |     %R      | Remote name
 | 
					 | 
				
			||||||
| renamed   |     %r      | Renamed files count
 | 
					| renamed   |     %r      | Renamed files count
 | 
				
			||||||
| stashed   |     %S      | Stashed states count
 | 
					 | 
				
			||||||
| unmerged  |     %U      | Unmerged files count
 | 
					| unmerged  |     %U      | Unmerged files count
 | 
				
			||||||
| untracked |     %u      | Untracked files count
 | 
					| untracked |     %u      | Untracked files count
 | 
				
			||||||
[**Main Contexts**]
 | 
					
 | 
				
			||||||
 | 
					### Special Action Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name                 |   Format    | Description
 | 
					| Name                 |   Format    | Description
 | 
				
			||||||
| -------------------- | :---------: | -----------------------------------------
 | 
					| -------------------- | :---------: | -----------------------------------------
 | 
				
			||||||
@@ -276,7 +299,6 @@ setting a style is as follows.
 | 
				
			|||||||
| rebase               |    value    | Rebasing
 | 
					| rebase               |    value    | Rebasing
 | 
				
			||||||
| rebase-interactive   |    value    | Rebasing interactively
 | 
					| rebase-interactive   |    value    | Rebasing interactively
 | 
				
			||||||
| rebase-merge         |    value    | Rebasing merge
 | 
					| rebase-merge         |    value    | Rebasing merge
 | 
				
			||||||
[**Special Action Contexts**]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
First, format the repository state attributes. For example, to format the branch
 | 
					First, format the repository state attributes. For example, to format the branch
 | 
				
			||||||
and remote names, define the following styles.
 | 
					and remote names, define the following styles.
 | 
				
			||||||
@@ -290,7 +312,7 @@ Second, format how the above attributes are displayed in prompts.
 | 
				
			|||||||
      'prompt'  ' git(%b)' \
 | 
					      'prompt'  ' git(%b)' \
 | 
				
			||||||
      'rprompt' '[%R]'
 | 
					      'rprompt' '[%R]'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[prompt]` to
 | 
					Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
 | 
				
			||||||
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
 | 
					`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
 | 
				
			||||||
function.
 | 
					function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,12 +42,13 @@ alias gbs='git show-branch'
 | 
				
			|||||||
alias gbS='git show-branch -a'
 | 
					alias gbS='git show-branch -a'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Commit (c)
 | 
					# Commit (c)
 | 
				
			||||||
alias gc='git commit'
 | 
					alias gc='git commit --verbose'
 | 
				
			||||||
alias gca='git commit --all'
 | 
					alias gca='git commit --verbose --all'
 | 
				
			||||||
alias gcm='git commit --message'
 | 
					alias gcm='git commit --message'
 | 
				
			||||||
alias gco='git checkout'
 | 
					alias gco='git checkout'
 | 
				
			||||||
alias gcO='git checkout HEAD --'
 | 
					alias gcO='git checkout --patch'
 | 
				
			||||||
alias gcf='git commit --amend --reuse-message HEAD'
 | 
					alias gcf='git commit --amend --reuse-message HEAD'
 | 
				
			||||||
 | 
					alias gcF='git commit --verbose --amend'
 | 
				
			||||||
alias gcp='git cherry-pick --ff'
 | 
					alias gcp='git cherry-pick --ff'
 | 
				
			||||||
alias gcP='git cherry-pick --no-commit'
 | 
					alias gcP='git cherry-pick --no-commit'
 | 
				
			||||||
alias gcr='git revert'
 | 
					alias gcr='git revert'
 | 
				
			||||||
@@ -55,6 +56,15 @@ alias gcR='git reset "HEAD^"'
 | 
				
			|||||||
alias gcs='git show'
 | 
					alias gcs='git show'
 | 
				
			||||||
alias gcl='git-commit-lost'
 | 
					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)
 | 
					# Data (d)
 | 
				
			||||||
alias gd='git ls-files'
 | 
					alias gd='git ls-files'
 | 
				
			||||||
alias gdc='git ls-files --cached'
 | 
					alias gdc='git ls-files --cached'
 | 
				
			||||||
@@ -85,19 +95,10 @@ alias giu='git add --update'
 | 
				
			|||||||
alias gid='git diff --no-ext-diff --cached'
 | 
					alias gid='git diff --no-ext-diff --cached'
 | 
				
			||||||
alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
					alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
				
			||||||
alias gir='git reset'
 | 
					alias gir='git reset'
 | 
				
			||||||
alias giR='git reset --keep'
 | 
					alias giR='git reset --patch'
 | 
				
			||||||
alias gix='git rm -r --cached'
 | 
					alias gix='git rm -r --cached'
 | 
				
			||||||
alias giX='git rm -rf --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)
 | 
					# Log (l)
 | 
				
			||||||
alias gl='git log --topo-order --pretty=format:${_git_log_medium_format}'
 | 
					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}'
 | 
					alias gls='git log --topo-order --stat --pretty=format:${_git_log_medium_format}'
 | 
				
			||||||
@@ -137,7 +138,7 @@ alias gRa='git remote add'
 | 
				
			|||||||
alias gRx='git remote rm'
 | 
					alias gRx='git remote rm'
 | 
				
			||||||
alias gRm='git remote rename'
 | 
					alias gRm='git remote rename'
 | 
				
			||||||
alias gRu='git remote update'
 | 
					alias gRu='git remote update'
 | 
				
			||||||
alias gRc='git remote prune'
 | 
					alias gRp='git remote prune'
 | 
				
			||||||
alias gRs='git remote show'
 | 
					alias gRs='git remote show'
 | 
				
			||||||
alias gRb='git-hub-browse'
 | 
					alias gRb='git-hub-browse'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -146,9 +147,9 @@ alias gs='git stash'
 | 
				
			|||||||
alias gsa='git stash apply'
 | 
					alias gsa='git stash apply'
 | 
				
			||||||
alias gsx='git stash drop'
 | 
					alias gsx='git stash drop'
 | 
				
			||||||
alias gsX='git-stash-clear-interactive'
 | 
					alias gsX='git-stash-clear-interactive'
 | 
				
			||||||
alias gsd='git-stash-dropped'
 | 
					 | 
				
			||||||
alias gsl='git stash list'
 | 
					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 gsp='git stash pop'
 | 
				
			||||||
alias gsr='git-stash-recover'
 | 
					alias gsr='git-stash-recover'
 | 
				
			||||||
alias gss='git stash save --include-untracked'
 | 
					alias gss='git stash save --include-untracked'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -89,31 +89,6 @@ function _git-action {
 | 
				
			|||||||
  return 1
 | 
					  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 <<EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Gathering status for certain repositories is time intensive.
 | 
					 | 
				
			||||||
By pressing CTRL + C, you have turned off prompt Git status
 | 
					 | 
				
			||||||
for this repository.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
To revert, execute:
 | 
					 | 
				
			||||||
  git-info on
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  unset _git_info_executing
 | 
					 | 
				
			||||||
  git config --bool prompt.showinfo false
 | 
					 | 
				
			||||||
  git-info
 | 
					 | 
				
			||||||
  return 0
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
add-zsh-trap INT _git-info-abort
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Gets the Git status information.
 | 
					# Gets the Git status information.
 | 
				
			||||||
function git-info {
 | 
					function git-info {
 | 
				
			||||||
  # Extended globbing is needed to parse repository status.
 | 
					  # Extended globbing is needed to parse repository status.
 | 
				
			||||||
@@ -126,13 +101,13 @@ function git-info {
 | 
				
			|||||||
  local added=0
 | 
					  local added=0
 | 
				
			||||||
  local added_format
 | 
					  local added_format
 | 
				
			||||||
  local added_formatted
 | 
					  local added_formatted
 | 
				
			||||||
  local ahead
 | 
					  local ahead=0
 | 
				
			||||||
  local ahead_and_behind
 | 
					  local ahead_and_behind
 | 
				
			||||||
  local ahead_and_behind_cmd
 | 
					  local ahead_and_behind_cmd
 | 
				
			||||||
  local ahead_format
 | 
					  local ahead_format
 | 
				
			||||||
  local ahead_formatted
 | 
					  local ahead_formatted
 | 
				
			||||||
  local ahead_or_behind
 | 
					  local ahead_or_behind
 | 
				
			||||||
  local behind
 | 
					  local behind=0
 | 
				
			||||||
  local behind_format
 | 
					  local behind_format
 | 
				
			||||||
  local behind_formatted
 | 
					  local behind_formatted
 | 
				
			||||||
  local branch
 | 
					  local branch
 | 
				
			||||||
@@ -151,9 +126,11 @@ function git-info {
 | 
				
			|||||||
  local dirty_format
 | 
					  local dirty_format
 | 
				
			||||||
  local dirty_formatted
 | 
					  local dirty_formatted
 | 
				
			||||||
  local ignore_submodules
 | 
					  local ignore_submodules
 | 
				
			||||||
 | 
					  local indexed=0
 | 
				
			||||||
 | 
					  local indexed_format
 | 
				
			||||||
 | 
					  local indexed_formatted
 | 
				
			||||||
  local -A info_formats
 | 
					  local -A info_formats
 | 
				
			||||||
  local info_format
 | 
					  local info_format
 | 
				
			||||||
  local line_number=0
 | 
					 | 
				
			||||||
  local modified=0
 | 
					  local modified=0
 | 
				
			||||||
  local modified_format
 | 
					  local modified_format
 | 
				
			||||||
  local modified_formatted
 | 
					  local modified_formatted
 | 
				
			||||||
@@ -171,6 +148,10 @@ function git-info {
 | 
				
			|||||||
  local stashed_format
 | 
					  local stashed_format
 | 
				
			||||||
  local stashed_formatted
 | 
					  local stashed_formatted
 | 
				
			||||||
  local status_cmd
 | 
					  local status_cmd
 | 
				
			||||||
 | 
					  local status_mode
 | 
				
			||||||
 | 
					  local unindexed=0
 | 
				
			||||||
 | 
					  local unindexed_format
 | 
				
			||||||
 | 
					  local unindexed_formatted
 | 
				
			||||||
  local unmerged=0
 | 
					  local unmerged=0
 | 
				
			||||||
  local unmerged_format
 | 
					  local unmerged_format
 | 
				
			||||||
  local unmerged_formatted
 | 
					  local unmerged_formatted
 | 
				
			||||||
@@ -203,135 +184,206 @@ function git-info {
 | 
				
			|||||||
    return 1
 | 
					    return 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Used to abort and turn git-info off on SIGINT.
 | 
					 | 
				
			||||||
  _git_info_executing=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Use porcelain status for easy parsing.
 | 
					 | 
				
			||||||
  status_cmd='git status --porcelain'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Gets the remote name.
 | 
					 | 
				
			||||||
  remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Gets the commit difference counts between local and remote.
 | 
					 | 
				
			||||||
  ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Ignore submodule status.
 | 
					  # Ignore submodule status.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:status:ignore' submodules 'ignore_submodules'
 | 
					  zstyle -s ':prezto:module:git:status:ignore' submodules 'ignore_submodules'
 | 
				
			||||||
  if [[ -n "$ignore_submodules" ]]; then
 | 
					 | 
				
			||||||
    status_cmd+=" --ignore-submodules=${ignore_submodules}"
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format commit.
 | 
					  # Format commit.
 | 
				
			||||||
  commit="$(git rev-parse HEAD 2> /dev/null)"
 | 
					  zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
				
			||||||
  if [[ -n "$commit" ]]; then
 | 
					  if [[ -n "$commit_format" ]]; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
					    commit="$(git rev-parse HEAD 2> /dev/null)"
 | 
				
			||||||
    zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
					    if [[ -n "$commit" ]]; then
 | 
				
			||||||
 | 
					      zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format stashed.
 | 
					  # Format stashed.
 | 
				
			||||||
  if [[ -f "$(git-dir)/refs/stash" ]]; then
 | 
					  zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
				
			||||||
 | 
					  if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
 | 
				
			||||||
    stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
 | 
					    stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
					    if [[ -n "$stashed" ]]; then
 | 
				
			||||||
    zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
					      zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format action.
 | 
					  # Format action.
 | 
				
			||||||
  action="$(_git-action)"
 | 
					  zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
				
			||||||
  if [[ -n "$action" ]]; then
 | 
					  if [[ -n "$action_format" ]]; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
					    action="$(_git-action)"
 | 
				
			||||||
    zformat -f action_formatted "$action_format" "s:$action"
 | 
					    if [[ -n "$action" ]]; then
 | 
				
			||||||
 | 
					      zformat -f action_formatted "$action_format" "s:$action"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Get current status.
 | 
					  # Get the branch.
 | 
				
			||||||
  while IFS=$'\n' read line; do
 | 
					  branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
 | 
				
			||||||
    # 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 branch.
 | 
					  # Format branch.
 | 
				
			||||||
  branch="${$(git symbolic-ref -q HEAD)##refs/heads/}"
 | 
					  zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
				
			||||||
  if [[ -n "$branch" ]]; then
 | 
					  if [[ -n "$branch" && -n "$branch_format" ]]; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
					 | 
				
			||||||
    zformat -f branch_formatted "$branch_format" "b:$branch"
 | 
					    zformat -f branch_formatted "$branch_format" "b:$branch"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Format remote.
 | 
					  # Format position.
 | 
				
			||||||
    remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
 | 
					  zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
				
			||||||
    if [[ -n "$remote" ]]; then
 | 
					  if [[ -z "$branch" && -n "$position_format" ]]; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
					 | 
				
			||||||
      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Get ahead and behind counts.
 | 
					 | 
				
			||||||
      ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Format ahead.
 | 
					 | 
				
			||||||
      ahead="$ahead_and_behind[(w)1]"
 | 
					 | 
				
			||||||
      if (( $ahead > 0 )); then
 | 
					 | 
				
			||||||
        zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
 | 
					 | 
				
			||||||
        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      # Format behind.
 | 
					 | 
				
			||||||
      behind="$ahead_and_behind[(w)2]"
 | 
					 | 
				
			||||||
      if (( $behind > 0 )); then
 | 
					 | 
				
			||||||
        zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
					 | 
				
			||||||
        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    # Format position.
 | 
					 | 
				
			||||||
    position="$(git describe --contains --all HEAD 2> /dev/null)"
 | 
					    position="$(git describe --contains --all HEAD 2> /dev/null)"
 | 
				
			||||||
    if [[ -n "$position" ]]; then
 | 
					    if [[ -n "$position" ]]; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
					 | 
				
			||||||
      zformat -f position_formatted "$position_format" "p:$position"
 | 
					      zformat -f position_formatted "$position_format" "p:$position"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format added.
 | 
					  # Format remote.
 | 
				
			||||||
  if (( $added > 0 )); then
 | 
					  zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:added' format 'added_format'
 | 
					  if [[ -n "$branch" && -n "$remote_format" ]]; then
 | 
				
			||||||
    zformat -f added_formatted "$added_format" "a:$added_format"
 | 
					    # 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
 | 
				
			||||||
 | 
					      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format deleted.
 | 
					  zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
 | 
				
			||||||
  if (( $deleted > 0 )); then
 | 
					  zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
 | 
					  if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
 | 
				
			||||||
    zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
 | 
					    # Gets the commit difference counts between local and remote.
 | 
				
			||||||
 | 
					    ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # 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
 | 
				
			||||||
 | 
					        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Format behind.
 | 
				
			||||||
 | 
					    if [[ -n "$behind_format" ]]; then
 | 
				
			||||||
 | 
					      behind="$ahead_and_behind[(w)2]"
 | 
				
			||||||
 | 
					      if (( behind > 0 )); then
 | 
				
			||||||
 | 
					        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format modified.
 | 
					  # Get status type.
 | 
				
			||||||
  if (( $modified > 0 )); then
 | 
					  if ! zstyle -t ':prezto:module:git:info' verbose; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:modified' format 'modified_format'
 | 
					    # Format indexed.
 | 
				
			||||||
    zformat -f modified_formatted "$modified_format" "m:$modified"
 | 
					    zstyle -s ':prezto:module:git:info:indexed' format 'indexed_format'
 | 
				
			||||||
  fi
 | 
					    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 renamed.
 | 
					    # Format unindexed.
 | 
				
			||||||
  if (( $renamed > 0 )); then
 | 
					    zstyle -s ':prezto:module:git:info:unindexed' format 'unindexed_format'
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format'
 | 
					    if [[ -n "$unindexed_format" ]]; then
 | 
				
			||||||
    zformat -f renamed_formatted "$renamed_format" "r:$renamed"
 | 
					      ((
 | 
				
			||||||
  fi
 | 
					        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 unmerged.
 | 
					    # Format untracked.
 | 
				
			||||||
  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'
 | 
					    zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
 | 
				
			||||||
    zformat -f untracked_formatted "$untracked_format" "u:$untracked"
 | 
					    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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    (( 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 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 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
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format dirty and clean.
 | 
					  # Format dirty and clean.
 | 
				
			||||||
  if (( $dirty > 0 )); then
 | 
					  if (( dirty > 0 )); then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
 | 
					    zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
 | 
				
			||||||
    zformat -f dirty_formatted "$dirty_format" "D:$dirty"
 | 
					    zformat -f dirty_formatted "$dirty_format" "D:$dirty"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
@@ -342,27 +394,28 @@ function git-info {
 | 
				
			|||||||
  zstyle -a ':prezto:module:git:info:keys' format 'info_formats'
 | 
					  zstyle -a ':prezto:module:git:info:keys' format 'info_formats'
 | 
				
			||||||
  for info_format in ${(k)info_formats}; do
 | 
					  for info_format in ${(k)info_formats}; do
 | 
				
			||||||
    zformat -f REPLY "$info_formats[$info_format]" \
 | 
					    zformat -f REPLY "$info_formats[$info_format]" \
 | 
				
			||||||
 | 
					      "a:$added_formatted" \
 | 
				
			||||||
      "A:$ahead_formatted" \
 | 
					      "A:$ahead_formatted" \
 | 
				
			||||||
      "B:$behind_formatted" \
 | 
					      "B:$behind_formatted" \
 | 
				
			||||||
      "D:$dirty_formatted" \
 | 
					 | 
				
			||||||
      "R:$remote_formatted" \
 | 
					 | 
				
			||||||
      "S:$stashed_formatted" \
 | 
					 | 
				
			||||||
      "U:$unmerged_formatted" \
 | 
					 | 
				
			||||||
      "a:$added_formatted" \
 | 
					 | 
				
			||||||
      "b:$branch_formatted" \
 | 
					      "b:$branch_formatted" \
 | 
				
			||||||
      "C:$clean_formatted" \
 | 
					      "C:$clean_formatted" \
 | 
				
			||||||
      "c:$commit_formatted" \
 | 
					      "c:$commit_formatted" \
 | 
				
			||||||
      "d:$deleted_formatted" \
 | 
					      "d:$deleted_formatted" \
 | 
				
			||||||
 | 
					      "D:$dirty_formatted" \
 | 
				
			||||||
 | 
					      "i:$indexed_formatted" \
 | 
				
			||||||
 | 
					      "I:$unindexed_formatted" \
 | 
				
			||||||
      "m:$modified_formatted" \
 | 
					      "m:$modified_formatted" \
 | 
				
			||||||
      "p:$position_formatted" \
 | 
					      "p:$position_formatted" \
 | 
				
			||||||
 | 
					      "R:$remote_formatted" \
 | 
				
			||||||
      "r:$renamed_formatted" \
 | 
					      "r:$renamed_formatted" \
 | 
				
			||||||
      "s:$action_formatted" \
 | 
					      "s:$action_formatted" \
 | 
				
			||||||
 | 
					      "S:$stashed_formatted" \
 | 
				
			||||||
 | 
					      "U:$unmerged_formatted" \
 | 
				
			||||||
      "u:$untracked_formatted"
 | 
					      "u:$untracked_formatted"
 | 
				
			||||||
    git_info[$info_format]="$REPLY"
 | 
					    git_info[$info_format]="$REPLY"
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  unset REPLY
 | 
					  unset REPLY
 | 
				
			||||||
  unset _git_info_executing
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return 0
 | 
					  return 0
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,8 +7,8 @@ Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
 | 
				
			|||||||
`ls` instead of `gls`, is not recommended since scripts that target other
 | 
					`ls` instead of `gls`, is not recommended since scripts that target other
 | 
				
			||||||
utilities will be broken.
 | 
					utilities will be broken.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
However, for interactive use, prefixed commands can be wrapped in their
 | 
					This module wraps GNU utilities in functions without a prefix for interactive
 | 
				
			||||||
non-prefixed counterparts.
 | 
					use.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module must be loaded **before** the *utility* module.
 | 
					This module must be loaded **before** the *utility* module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,44 +0,0 @@
 | 
				
			|||||||
#
 | 
					 | 
				
			||||||
# Provides for an easier use of gpg-agent.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Authors:
 | 
					 | 
				
			||||||
#   Florian Walch <florian.walch@gmx.at>
 | 
					 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Return if requirements are not found.
 | 
					 | 
				
			||||||
if (( ! $+commands[gpg-agent] )); then
 | 
					 | 
				
			||||||
  return 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
_gpg_env="$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)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										27
									
								
								modules/gpg/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/gpg/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										44
									
								
								modules/gpg/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								modules/gpg/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Provides for an easier use of GPG by setting up gpg-agent.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -10,12 +10,9 @@ if (( ! $+commands[ghc] )); then
 | 
				
			|||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prepend Cabal per user directories to PATH/MANPATH.
 | 
					# Prepend Cabal per user directories to PATH.
 | 
				
			||||||
if [[ "$OSTYPE" == darwin* ]]; then
 | 
					if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
 | 
				
			||||||
  path=($HOME/Library/Haskell/bin(/N) $path)
 | 
					  path=($HOME/Library/Haskell/bin(/N) $path)
 | 
				
			||||||
  manpath=($HOME/Library/Haskell/man(/N) $manpath)
 | 
					 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  path=($HOME/.cabal/bin(/N) $path)
 | 
					  path=($HOME/.cabal/bin(/N) $path)
 | 
				
			||||||
  manpath=($HOME/.cabal/man(/N) $manpath)
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,7 +13,6 @@ Functions
 | 
				
			|||||||
  - `is-callable` checks if a name is a command, function, or alias.
 | 
					  - `is-callable` checks if a name is a command, function, or alias.
 | 
				
			||||||
  - `is-true` checks a boolean variable for "true".
 | 
					  - `is-true` checks a boolean variable for "true".
 | 
				
			||||||
  - `coalesce` prints the first non-empty string in the arguments array.
 | 
					  - `coalesce` prints the first non-empty string in the arguments array.
 | 
				
			||||||
  - `zstyle-` defines a style if it is already not defined.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,14 +6,6 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 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.
 | 
					# Adds a function name to a list to be called when a trap is triggered.
 | 
				
			||||||
function add-zsh-trap {
 | 
					function add-zsh-trap {
 | 
				
			||||||
  if (( $# < 2 )); then
 | 
					  if (( $# < 2 )); then
 | 
				
			||||||
@@ -21,7 +13,7 @@ function add-zsh-trap {
 | 
				
			|||||||
    return 1
 | 
					    return 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -z "$_trap_signals[(r)$1]" ]]; then
 | 
					  if [[ -z "$signals[(r)$1]" ]]; then
 | 
				
			||||||
    print "$0: unknown signal: $1" >&2
 | 
					    print "$0: unknown signal: $1" >&2
 | 
				
			||||||
    return 1
 | 
					    return 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,7 +30,3 @@ function coalesce {
 | 
				
			|||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Defines a style if it is already not defined.
 | 
					 | 
				
			||||||
function zstyle- {
 | 
					 | 
				
			||||||
  zstyle -T "$1" "$2" && zstyle "$@"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,6 +36,18 @@ To enable highlighting for this module only, add the following line to
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search' color 'yes'
 | 
					    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
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule modules/history-substring-search/external updated: 04c2eca00c...1e76804052
									
								
							@@ -10,14 +10,26 @@
 | 
				
			|||||||
pmodload 'editor'
 | 
					pmodload 'editor'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source module files.
 | 
					# Source module files.
 | 
				
			||||||
source "${0:h}/external/zsh-history-substring-search.zsh"
 | 
					source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# 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
 | 
					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
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! zstyle -t ':prezto:module:history-substring-search' color; then
 | 
					if ! zstyle -t ':prezto:module:history-substring-search' color; then
 | 
				
			||||||
@@ -28,7 +40,7 @@ fi
 | 
				
			|||||||
# Key Bindings
 | 
					# Key Bindings
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n $key_info ]]; then
 | 
					if [[ -n "$key_info" ]]; then
 | 
				
			||||||
  # Emacs
 | 
					  # Emacs
 | 
				
			||||||
  bindkey -M emacs "$key_info[Control]P" history-substring-search-up
 | 
					  bindkey -M emacs "$key_info[Control]P" history-substring-search-up
 | 
				
			||||||
  bindkey -M emacs "$key_info[Control]N" history-substring-search-down
 | 
					  bindkey -M emacs "$key_info[Control]N" history-substring-search-down
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								modules/homebrew/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								modules/homebrew/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					Homebrew
 | 
				
			||||||
 | 
					========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Defines Homebrew aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aliases
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - `brewc` cleans outdated brews and their cached archives.
 | 
				
			||||||
 | 
					  - `brewC` cleans outdated brews, including keg-only, and their cached archives.
 | 
				
			||||||
 | 
					  - `brewi` installs a formula.
 | 
				
			||||||
 | 
					  - `brewl` lists installed formulae.
 | 
				
			||||||
 | 
					  - `brews` searches for a formula.
 | 
				
			||||||
 | 
					  - `brewU` upgrades Homebrew and outdated brews.
 | 
				
			||||||
 | 
					  - `brewu` upgrades Homebrew.
 | 
				
			||||||
 | 
					  - `brewx` uninstalls a formula.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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/prezto/issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										25
									
								
								modules/homebrew/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/homebrew/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Defines Homebrew aliases.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Return if requirements are not found.
 | 
				
			||||||
 | 
					if [[ "$OSTYPE" != darwin* ]]; then
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias brewc='brew cleanup'
 | 
				
			||||||
 | 
					alias brewC='brew cleanup --force'
 | 
				
			||||||
 | 
					alias brewi='brew install'
 | 
				
			||||||
 | 
					alias brewl='brew list'
 | 
				
			||||||
 | 
					alias brews='brew search'
 | 
				
			||||||
 | 
					alias brewu='brew upgrade'
 | 
				
			||||||
 | 
					alias brewU='brew update && brew upgrade'
 | 
				
			||||||
 | 
					alias brewx='brew remove'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -15,18 +15,6 @@ fi
 | 
				
			|||||||
# Paths
 | 
					# Paths
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the list of directories that info searches for manuals.
 | 
					 | 
				
			||||||
infopath=(
 | 
					 | 
				
			||||||
  /opt/local/share/info
 | 
					 | 
				
			||||||
  $infopath
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the list of directories that man searches for manuals.
 | 
					 | 
				
			||||||
manpath=(
 | 
					 | 
				
			||||||
  /opt/local/share/man
 | 
					 | 
				
			||||||
  $manpath
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the list of directories that Zsh searches for programs.
 | 
					# Set the list of directories that Zsh searches for programs.
 | 
				
			||||||
path=(
 | 
					path=(
 | 
				
			||||||
  /opt/local/{bin,sbin}
 | 
					  /opt/local/{bin,sbin}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,34 @@
 | 
				
			|||||||
Node.js
 | 
					Node.js
 | 
				
			||||||
=======
 | 
					=======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides utility functions for [Node.js][1] and loads [npm][2] completion.
 | 
					Provides utility functions for [Node.js][1], loads the Node Version Manager, and
 | 
				
			||||||
 | 
					enables [npm][2] completion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvm
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[nvm][5] allows for managing multiple, isolated Node.js installations in the
 | 
				
			||||||
 | 
					home directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					Functions
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `node-doc` opens the Node.js online [API documentation][3] in the default
 | 
					  - `node-doc` opens the Node.js online [API documentation][3] in the default
 | 
				
			||||||
    browser.
 | 
					    browser.
 | 
				
			||||||
 | 
					  - `node-info` exposes information about the Node.js environment via the
 | 
				
			||||||
 | 
					    `$node_info` associative array.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Theming
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To display the version number of the current Node.js version, define the
 | 
				
			||||||
 | 
					following style inside the `prompt_name_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # %v - Node.js version.
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:node:info:version' format 'version:%v'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
 | 
				
			||||||
 | 
					`node-info` in `prompt_name_preexec` hook function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
@@ -15,9 +36,11 @@ Authors
 | 
				
			|||||||
*The authors of this module should be contacted via the [issue tracker][4].*
 | 
					*The authors of this module should be contacted via the [issue tracker][4].*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					  - [Zeh Rizzatti](https://github.com/zehrizzatti)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://nodejs.org
 | 
					[1]: http://nodejs.org
 | 
				
			||||||
[2]: http://npmjs.org
 | 
					[2]: http://npmjs.org
 | 
				
			||||||
[3]: http://nodejs.org/api
 | 
					[3]: http://nodejs.org/api
 | 
				
			||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					[5]: https://github.com/creationix/nvm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										25
									
								
								modules/node/functions/node-info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/node/functions/node-info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Exposes information about the Node.js environment via the $node_info
 | 
				
			||||||
 | 
					# associative array.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local version
 | 
				
			||||||
 | 
					local version_format
 | 
				
			||||||
 | 
					local version_formatted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unset node_info
 | 
				
			||||||
 | 
					typeset -gA node_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+functions[nvm_version] )); then
 | 
				
			||||||
 | 
					  version="${$(nvm_version)#v}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -n "$version" ]]; then
 | 
				
			||||||
 | 
					  zstyle -s ':prezto:module:node:info:version' format 'version_format'
 | 
				
			||||||
 | 
					  zformat -f version_formatted "$version_format" "v:$version"
 | 
				
			||||||
 | 
					  node_info[version]="$version_formatted"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,10 +1,16 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Completes npm.
 | 
					# Loads the Node Version Manager and enables npm completion.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load NVM into the shell session.
 | 
				
			||||||
 | 
					if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
 | 
				
			||||||
 | 
					  source "$HOME/.nvm/nvm.sh"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if (( ! $+commands[node] )); then
 | 
					if (( ! $+commands[node] )); then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								modules/ocaml/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/ocaml/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					Ocaml
 | 
				
			||||||
 | 
					=====
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Initializes [Ocaml][1] package management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OPAM
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[OPAM][2] is a package manager for Ocaml.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This module enables local package installation with OPAM by extending the
 | 
				
			||||||
 | 
					relevant path and Ocaml variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install packages to your local package directory with `opam install`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Authors
 | 
				
			||||||
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*The authors of this module should be contacted via the [issue tracker][3].*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: http://ocaml.org/
 | 
				
			||||||
 | 
					[2]: http://opam.ocamlpro.com/
 | 
				
			||||||
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								modules/ocaml/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								modules/ocaml/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Initializes Ocaml package management.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sebastian Wiesner <lunaryorn@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Return if requirements are not found.
 | 
				
			||||||
 | 
					if (( ! $+commands[opam] )); then
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Initialize OPAM.
 | 
				
			||||||
 | 
					eval "$(opam config env)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -20,7 +20,6 @@ Functions
 | 
				
			|||||||
  - `pfd` prints the current _Finder_ directory.
 | 
					  - `pfd` prints the current _Finder_ directory.
 | 
				
			||||||
  - `pfs` prints the current _Finder_ selection.
 | 
					  - `pfs` prints the current _Finder_ selection.
 | 
				
			||||||
  - `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
 | 
					  - `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
 | 
				
			||||||
  - `trash` moves files and folders to _Trash_.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
#
 | 
					 | 
				
			||||||
# Moves directories and files to Trash.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Authors:
 | 
					 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
print -N "${@:a}" | xargs -0 osascript -e '
 | 
					 | 
				
			||||||
  on run theFilePaths
 | 
					 | 
				
			||||||
    tell application "Finder"
 | 
					 | 
				
			||||||
      set thePOSIXFiles to {}
 | 
					 | 
				
			||||||
      repeat with aFilePath in theFilePaths
 | 
					 | 
				
			||||||
        set aPOSIXFile to aFilePath as POSIX file
 | 
					 | 
				
			||||||
        if exists aPOSIXFile
 | 
					 | 
				
			||||||
          set end of thePOSIXFiles to aPOSIXFile
 | 
					 | 
				
			||||||
        end if
 | 
					 | 
				
			||||||
      end repeat
 | 
					 | 
				
			||||||
      move every item of thePOSIXFiles to trash
 | 
					 | 
				
			||||||
    end tell
 | 
					 | 
				
			||||||
  end run
 | 
					 | 
				
			||||||
' &>/dev/null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if (( $? != 0)); then
 | 
					 | 
				
			||||||
  print "$0: failed to move one or more items" >&2
 | 
					 | 
				
			||||||
  return 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local tmp="${TMPDIR:-/tmp}/pacman-disowned-$UID-$$"
 | 
					local tmp="$TMPDIR/pacman-disowned-$UID-$$"
 | 
				
			||||||
local db="$tmp/db"
 | 
					local db="$tmp/db"
 | 
				
			||||||
local fs="$tmp/fs"
 | 
					local fs="$tmp/fs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -55,10 +55,10 @@ alias pacq='pacman --sync --info'
 | 
				
			|||||||
alias pacQ='pacman --query --info'
 | 
					alias pacQ='pacman --query --info'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Searches for packages in the repositories.
 | 
					# Searches for packages in the repositories.
 | 
				
			||||||
alias pacs='pacman --sync --recursive'
 | 
					alias pacs='pacman --sync --search'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Searches for packages in the local database.
 | 
					# Searches for packages in the local database.
 | 
				
			||||||
alias pacS='pacman --query --recursive'
 | 
					alias pacS='pacman --query --search'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Lists orphan packages.
 | 
					# Lists orphan packages.
 | 
				
			||||||
alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
 | 
					alias pacman-list-orphans='sudo pacman --query --deps --unrequired'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,8 +20,6 @@ if [[ "$OSTYPE" == darwin* ]]; then
 | 
				
			|||||||
  perl_path="$HOME/Library/Perl/5.12"
 | 
					  perl_path="$HOME/Library/Perl/5.12"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
 | 
					  if [[ -f "$perl_path/lib/perl5/local/lib.pm" ]]; then
 | 
				
			||||||
    manpath=("$perl_path/man" $manpath)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ ! -s "$cache_file" ]]; then
 | 
					    if [[ ! -s "$cache_file" ]]; then
 | 
				
			||||||
      perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
 | 
					      perl -I$perl_path/lib/perl5 -Mlocal::lib=$perl_path >! "$cache_file"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -31,12 +29,6 @@ if [[ "$OSTYPE" == darwin* ]]; then
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  unset perl_path
 | 
					  unset perl_path
 | 
				
			||||||
  unset cache_file
 | 
					  unset cache_file
 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Set environment variables for launchd processes.
 | 
					 | 
				
			||||||
  for env_var in PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT PERL5LIB; do
 | 
					 | 
				
			||||||
    launchctl setenv "$env_var" "${(P)env_var}" &!
 | 
					 | 
				
			||||||
  done
 | 
					 | 
				
			||||||
  unset env_var
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ including a function that displays help or a function used to preview it.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
**Do not call this function directly.**
 | 
					**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 {
 | 
					    function prompt_name_setup {
 | 
				
			||||||
      PROMPT='%m%# '
 | 
					      PROMPT='%m%# '
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,223 +0,0 @@
 | 
				
			|||||||
#
 | 
					 | 
				
			||||||
# A two line customizable theme (colored in blue and white by default).
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Author:
 | 
					 | 
				
			||||||
#   shura <shura1991@gmail.com>
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Features:
 | 
					 | 
				
			||||||
#   - Two lines.
 | 
					 | 
				
			||||||
#   - VCS integration.
 | 
					 | 
				
			||||||
#   - Customizable.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Settings (:prezto:module:prompt:theme:borra):
 | 
					 | 
				
			||||||
#   - plugins:    list of plugins (array)
 | 
					 | 
				
			||||||
#   - prefix:     right-side of plugin wrapper (string)
 | 
					 | 
				
			||||||
#   - separator:  plugin separator (string)
 | 
					 | 
				
			||||||
#   - suffix:     left-side of plugin wrapper (string)
 | 
					 | 
				
			||||||
#   - top:        beginning of first line (string)
 | 
					 | 
				
			||||||
#   - bottom:     beginning of second line (string)
 | 
					 | 
				
			||||||
#   - prompt:     right-side of second line (string)
 | 
					 | 
				
			||||||
#   - rprompt:    right prompt enable or disable (bool)
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Plugins settings (:prezto:module:prompt:theme:borra:plugin:$plugin):
 | 
					 | 
				
			||||||
#   Version Control Systems:
 | 
					 | 
				
			||||||
#     - enable: vcs enable backends (array)
 | 
					 | 
				
			||||||
#     - format: vcs backends format (string):
 | 
					 | 
				
			||||||
#       * %b: backend name (to write a bold-end, escape it using %%b)
 | 
					 | 
				
			||||||
#       * %i: formatted text according to zstyle ':vcs_info:*' formats (or actionformats)
 | 
					 | 
				
			||||||
#   User and Host:
 | 
					 | 
				
			||||||
#     - format: username and hostname format (string):
 | 
					 | 
				
			||||||
#       * %u: username
 | 
					 | 
				
			||||||
#       * %h: hostname
 | 
					 | 
				
			||||||
# Example:
 | 
					 | 
				
			||||||
#   zstyle ':prezto:module:prompt:theme:borra' separator ' '
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Screenshots:
 | 
					 | 
				
			||||||
#   http://i.imgur.com/rEgWv.png
 | 
					 | 
				
			||||||
#   http://ascii.io/a/1310
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function +borra-pts {
 | 
					 | 
				
			||||||
  print -n '/dev/%y'
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function +borra-rvm-info {
 | 
					 | 
				
			||||||
  if (( ! $+functions[rvm] )); then
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  local rb="$(rvm-prompt s)"
 | 
					 | 
				
			||||||
  if [[ -z "${rb}" ]]; then
 | 
					 | 
				
			||||||
    print "$(rvm-prompt i v p r)" || print "${rb}"
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function +borra-userhost {
 | 
					 | 
				
			||||||
  local format
 | 
					 | 
				
			||||||
  local res
 | 
					 | 
				
			||||||
  zstyle -s ':prezto:module:prompt:theme:borra:plugin:userhost' format 'format'
 | 
					 | 
				
			||||||
  zformat -f res "$format" u:'%(!.%SROOT%s.%n)' h:'%m'
 | 
					 | 
				
			||||||
  print -n "$res"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function +borra-vcs-info {
 | 
					 | 
				
			||||||
  local res=""
 | 
					 | 
				
			||||||
  local sep="$1"
 | 
					 | 
				
			||||||
  local backend
 | 
					 | 
				
			||||||
  local enabled
 | 
					 | 
				
			||||||
  local format
 | 
					 | 
				
			||||||
  local s
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  vcs_info # need VCS_INFO_backends
 | 
					 | 
				
			||||||
  zstyle -a ':prezto:module:prompt:theme:borra:plugin:vcs' enable 'enabled'
 | 
					 | 
				
			||||||
  zstyle -s ':prezto:module:prompt:theme:borra:plugin:vcs' format 'format'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for backend in ${VCS_INFO_backends[@]}; do
 | 
					 | 
				
			||||||
    if (( $+enabled[$backend] )); then
 | 
					 | 
				
			||||||
      continue
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    zstyle ':vcs_info:*' enable "$backend"
 | 
					 | 
				
			||||||
    vcs_info || continue
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -z "${vcs_info_msg_0_}" ]]; then
 | 
					 | 
				
			||||||
      continue
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    zformat -f s "$format" "b:$backend" "i:$vcs_info_msg_0_"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    res+="$(prompt_borra_wrap_plugin "$s" "$sep")"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -z "$sep" && ! -z "$res" ]]; then
 | 
					 | 
				
			||||||
      zstyle -s ':prezto:module:prompt:theme:borra' separator 'sep'
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  print -n -- "$res"
 | 
					 | 
				
			||||||
  return 23
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function +vi-git-status-untracked {
 | 
					 | 
				
			||||||
  if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
 | 
					 | 
				
			||||||
    hook_com[unstaged]=' %F{red}⚑%f'
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_set_zstyle_if_not_set {
 | 
					 | 
				
			||||||
  zstyle -T "$1" "$2" && zstyle "$@"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_wrap_plugin {
 | 
					 | 
				
			||||||
  local prefix
 | 
					 | 
				
			||||||
  local suffix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  zstyle -s ':prezto:module:prompt:theme:borra' prefix 'prefix'
 | 
					 | 
				
			||||||
  zstyle -s ':prezto:module:prompt:theme:borra' suffix 'suffix'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  print -n -- "${2}${prefix}${1}${suffix}"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_render_item {
 | 
					 | 
				
			||||||
  local res
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  res="$($1 "$2" 2>/dev/null)"
 | 
					 | 
				
			||||||
  case "$?" in
 | 
					 | 
				
			||||||
    (0)
 | 
					 | 
				
			||||||
      prompt_borra_wrap_plugin "$res" "$2"
 | 
					 | 
				
			||||||
      ;;
 | 
					 | 
				
			||||||
    (23)
 | 
					 | 
				
			||||||
      print -n "$res"
 | 
					 | 
				
			||||||
      ;;
 | 
					 | 
				
			||||||
    (*)
 | 
					 | 
				
			||||||
      return 1
 | 
					 | 
				
			||||||
      ;;
 | 
					 | 
				
			||||||
  esac
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_render_plugins {
 | 
					 | 
				
			||||||
  local res=""
 | 
					 | 
				
			||||||
  local plugin
 | 
					 | 
				
			||||||
  local -a plugins
 | 
					 | 
				
			||||||
  local sep
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  zstyle -a ':prezto:module:prompt:theme:borra' plugins 'plugins'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  for plugin in "$plugins[@]"; do
 | 
					 | 
				
			||||||
    res+="$(prompt_borra_render_item "+borra-$plugin" "$sep")"
 | 
					 | 
				
			||||||
    if [[ -z "$sep"  && ! -z "$res" ]]; then
 | 
					 | 
				
			||||||
      zstyle -s ':prezto:module:prompt:theme:borra' separator 'sep'
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  print -n "$res"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_create_prompt {
 | 
					 | 
				
			||||||
  local plugins="$(prompt_borra_render_plugins)"
 | 
					 | 
				
			||||||
  local res=""
 | 
					 | 
				
			||||||
  local top
 | 
					 | 
				
			||||||
  local bottom
 | 
					 | 
				
			||||||
  local prompt
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [[ ! -z "$plugins" ]]; then
 | 
					 | 
				
			||||||
    zstyle -s ':prezto:module:prompt:theme:borra' top 'top'
 | 
					 | 
				
			||||||
    zstyle -s ':prezto:module:prompt:theme:borra' bottom 'bottom'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    res="
 | 
					 | 
				
			||||||
${top}${plugins}
 | 
					 | 
				
			||||||
${bottom}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  zstyle -s ':prezto:module:prompt:theme:borra' prompt 'prompt'
 | 
					 | 
				
			||||||
  print -n "${res}${prompt}"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_precmd {
 | 
					 | 
				
			||||||
  local rprompt
 | 
					 | 
				
			||||||
  PROMPT="$(prompt_borra_create_prompt)"
 | 
					 | 
				
			||||||
  zstyle -b ':prezto:module:prompt:theme:borra' rprompt 'rprompt'
 | 
					 | 
				
			||||||
  if [[ "$rprompt" = yes ]]; then
 | 
					 | 
				
			||||||
    RPROMPT='%(?..%F{red}%? ↵%f)'
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    RPROMPT=''
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function prompt_borra_setup {
 | 
					 | 
				
			||||||
  setopt LOCAL_OPTIONS
 | 
					 | 
				
			||||||
  unsetopt XTRACE KSH_ARRAYS
 | 
					 | 
				
			||||||
  prompt_opts=(cr percent subst)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Load required functions.
 | 
					 | 
				
			||||||
  autoload -Uz add-zsh-hook
 | 
					 | 
				
			||||||
  autoload -Uz vcs_info
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Add hook for calling git-info before each command.
 | 
					 | 
				
			||||||
  add-zsh-hook precmd prompt_borra_precmd
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Call vcs_info to populate $VCS_INFO_backends.
 | 
					 | 
				
			||||||
  vcs_info
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' plugins 'userhost' 'pts' 'rvm-info' 'vcs-info'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' prefix '%F{blue}(%f'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' separator '%F{blue}-%f'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' suffix '%F{blue}%)%f'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' top '%F{blue}╭-%f'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' bottom '%F{blue}╰─%f'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' prompt '%F{blue}(%f%B%$((COLUMNS / 2))<...<%~%<<%b%F{blue})%F{yellow}>%f '
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra' rprompt 'yes'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:vcs' enable "$VCS_INFO_backends[@]"
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:vcs' format '%b: %i'
 | 
					 | 
				
			||||||
  prompt_borra_set_zstyle_if_not_set ':prezto:module:prompt:theme:borra:plugin:userhost' format '%u%F{blue}@%f%h'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Set vcs_info parameters.
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*' check-for-changes 'true'
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*' unstagedstr ' %F{yellow}⚑%f'
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*' stagedstr ' %F{green}⚑%f'
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*' actionformats '%b%u%c [%a]'
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*' formats '%b%u%c'
 | 
					 | 
				
			||||||
  zstyle ':vcs_info:*+set-message:*' hooks 'git-status-untracked'
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
prompt_borra_setup "$@"
 | 
					 | 
				
			||||||
@@ -46,10 +46,14 @@ function prompt_sorin_setup {
 | 
				
			|||||||
  # Add hook for calling git-info before each command.
 | 
					  # Add hook for calling git-info before each command.
 | 
				
			||||||
  add-zsh-hook precmd prompt_sorin_precmd
 | 
					  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: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' 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:primary:overwrite' format ' %F{red}♺%f'
 | 
				
			||||||
  zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{green}❮%F{yellow}❮%F{red}❮%f%b'
 | 
					  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: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:added' format ' %%B%F{green}✚%f%%b'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b'
 | 
					  zstyle ':prezto:module:git:info:ahead' format ' %%B%F{yellow}⬆%f%%b'
 | 
				
			||||||
@@ -58,7 +62,7 @@ function prompt_sorin_setup {
 | 
				
			|||||||
  zstyle ':prezto:module:git:info:commit' format ':%F{green}%.7c%f'
 | 
					  zstyle ':prezto:module:git:info:commit' format ':%F{green}%.7c%f'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:deleted' format ' %%B%F{red}✖%f%%b'
 | 
					  zstyle ':prezto:module:git:info:deleted' format ' %%B%F{red}✖%f%%b'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:modified' format ' %%B%F{blue}✱%f%%b'
 | 
					  zstyle ':prezto:module:git:info:modified' format ' %%B%F{blue}✱%f%%b'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:position' format ':%F{green}%p%f'
 | 
					  zstyle ':prezto:module:git:info:position' format ':%F{red}%p%f'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:renamed' format ' %%B%F{magenta}➜%f%%b'
 | 
					  zstyle ':prezto:module:git:info:renamed' format ' %%B%F{magenta}➜%f%%b'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:stashed' format ' %%B%F{cyan}✭%f%%b'
 | 
					  zstyle ':prezto:module:git:info:stashed' format ' %%B%F{cyan}✭%f%%b'
 | 
				
			||||||
  zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b'
 | 
					  zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,15 +6,15 @@ Enables local Python and local Python package installation.
 | 
				
			|||||||
Local Python Installation
 | 
					Local Python Installation
 | 
				
			||||||
-------------------------
 | 
					-------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[pythonz][4] builds and installs multiple Python versions locally in the home
 | 
					[pyenv][4] builds and installs multiple Python versions locally in the home
 | 
				
			||||||
directory.
 | 
					directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module prepends the pythonz directory to the path variable to enable the
 | 
					This module prepends the pyenv directory to the path variable to enable the
 | 
				
			||||||
execution of `pythonz`.
 | 
					execution of `pyenv`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Usage
 | 
					### Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Install Python versions with `pythonz install` into *~/.pythonz/pythons*.
 | 
					Install Python versions with `pyenv install` into *~/.pyenv/versions*.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Local Package Installation
 | 
					Local Package Installation
 | 
				
			||||||
--------------------------
 | 
					--------------------------
 | 
				
			||||||
@@ -61,21 +61,34 @@ system site-packages directory.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
 | 
					    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Lazy loading
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					By default, virtualenvwrapper is loaded in lazy mode. This behaviour can be disabled adding the following line to *~/.zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:python' lazy_venv 'no'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Automatic virtualenv initialization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To enable autoenv, add the following line to *~/.zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:python' autoenv 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If a virtualenv is active, and was not activated by autoenv, then autoenv does nothing.
 | 
				
			||||||
 | 
					Otherwise, autoenv activated or deactivates a virtual environment whenever a directory is changed; based on the following priority:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    1. Name specified in a file named *.venv* in the cwd.
 | 
				
			||||||
 | 
					    2. *.venv* file in git root. If folder is inside git repository.
 | 
				
			||||||
 | 
					    3. Name of git root folder.
 | 
				
			||||||
 | 
					    4. No virtualenv.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					Aliases
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `py` is short for `python`.
 | 
					  - `py` is short for `python`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Pythonz
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  - `pyz` is short for `pythonz`.
 | 
					 | 
				
			||||||
  - `pyzc` removes stale source folders and archives.
 | 
					 | 
				
			||||||
  - `pyzi` installs Python versions.
 | 
					 | 
				
			||||||
  - `pyzl` lists installed Python versions.
 | 
					 | 
				
			||||||
  - `pyzL` lists available Python versions.
 | 
					 | 
				
			||||||
  - `pyzu` updates itself to the latest version.
 | 
					 | 
				
			||||||
  - `pyzx` uninstalls Python versions.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Functions
 | 
					Functions
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -105,6 +118,6 @@ Authors
 | 
				
			|||||||
[1]: http://www.python.org/dev/peps/pep-0370/
 | 
					[1]: http://www.python.org/dev/peps/pep-0370/
 | 
				
			||||||
[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
 | 
					[2]: http://www.doughellmann.com/projects/virtualenvwrapper/
 | 
				
			||||||
[3]: http://pypi.python.org/pypi/virtualenv
 | 
					[3]: http://pypi.python.org/pypi/virtualenv
 | 
				
			||||||
[4]: http://saghul.github.com/pythonz/
 | 
					[4]: https://github.com/yyuu/pyenv
 | 
				
			||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,52 +6,94 @@
 | 
				
			|||||||
#   Sebastian Wiesner <lunaryorn@googlemail.com>
 | 
					#   Sebastian Wiesner <lunaryorn@googlemail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load pythonz into the shell session.
 | 
					# Load manually installed pyenv into the shell session.
 | 
				
			||||||
if [[ -s $HOME/.pythonz/bin/pythonz ]]; then
 | 
					if [[ -s "$HOME/.pyenv/bin/pyenv" ]]; then
 | 
				
			||||||
  path=($HOME/.pythonz/bin $path)
 | 
					  path=("$HOME/.pyenv/bin" $path)
 | 
				
			||||||
 | 
					  eval "$(pyenv init -)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load package manager installed pyenv into the shell session.
 | 
				
			||||||
 | 
					elif (( $+commands[pyenv] )); then
 | 
				
			||||||
 | 
					  eval "$(pyenv init -)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Prepend PEP 370 per user site packages directory, which defaults to
 | 
				
			||||||
 | 
					# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH.
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  if [[ "$OSTYPE" == darwin* ]]; then
 | 
				
			||||||
 | 
					    path=($HOME/Library/Python/*/bin(N) $path)
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    # This is subject to change.
 | 
				
			||||||
 | 
					    path=($HOME/.local/bin $path)
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if (( ! $+commands[python] && ! $+commands[pythonz] )); then
 | 
					if (( ! $+commands[python] && ! $+commands[pyenv] )); then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prepend PEP 370 per user site packages directory, which defaults to
 | 
					local venv_script=virtualenvwrapper
 | 
				
			||||||
# ~/Library/Python on Mac OS X and ~/.local elsewhere, to PATH/MANPATH.
 | 
					if zstyle -T ':prezto:module:python' lazy_venv; then
 | 
				
			||||||
if [[ "$OSTYPE" == darwin* ]]; then
 | 
					    venv_script+=_lazy
 | 
				
			||||||
  path=($HOME/Library/Python/*/bin(N) $path)
 | 
					 | 
				
			||||||
  manpath=($HOME/Library/Python/*/{,share/}man(N) $manpath)
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
  # This is subject to change.
 | 
					 | 
				
			||||||
  path=($HOME/.local/bin $path)
 | 
					 | 
				
			||||||
  manpath=($HOME/.local/{,share/}man(N) $manpath)
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load virtualenvwrapper into the shell session.
 | 
					# Load virtualenvwrapper into the shell session.
 | 
				
			||||||
if (( $+commands[virtualenvwrapper_lazy.sh] )); then
 | 
					if (( $+commands[$venv_script.sh] )); then
 | 
				
			||||||
  # Set the directory where virtual environments are stored.
 | 
					  # Set the directory where virtual environments are stored.
 | 
				
			||||||
  export WORKON_HOME=$HOME/.virtualenvs
 | 
					  export WORKON_HOME="$HOME/.virtualenvs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Disable the virtualenv prompt.
 | 
					  # Disable the virtualenv prompt.
 | 
				
			||||||
  VIRTUAL_ENV_DISABLE_PROMPT=1
 | 
					  VIRTUAL_ENV_DISABLE_PROMPT=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  source "$commands[virtualenvwrapper_lazy.sh]"
 | 
					  source "$commands[$venv_script.sh]"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function autoenv {
 | 
				
			||||||
 | 
					  #Don't run in shell scripts etc.
 | 
				
			||||||
 | 
					  if [[ $ZSH_SUBSHELL -ne 0 ]]; then
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  #Don't run if currently in virtual env not set by autoenv
 | 
				
			||||||
 | 
					  if (( ($+VIRTUAL_ENV)  && !($+AUTOENV) )); then
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  local name=""
 | 
				
			||||||
 | 
					  if [[ -f .venv ]]; then
 | 
				
			||||||
 | 
					    #.venv file in current dir gets highest priority
 | 
				
			||||||
 | 
					    name=$(<.venv)
 | 
				
			||||||
 | 
					  elif is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
 | 
					    local gitroot="$(git rev-parse --show-toplevel 2> /dev/null)"
 | 
				
			||||||
 | 
					    if [ -f "$gitroot/.venv" ]; then
 | 
				
			||||||
 | 
					      #If there is a .venv file in gitroot
 | 
				
			||||||
 | 
					      name=$(<$gitroot/.venv)
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      #Else use the name of the folder as venv name
 | 
				
			||||||
 | 
					      name=$gitroot:t
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  local venv_name="$VIRTUAL_ENV:t"
 | 
				
			||||||
 | 
					  if [[ $name != $venv_name ]]; then
 | 
				
			||||||
 | 
					    if [[ -z $name ]]; then
 | 
				
			||||||
 | 
					      deactivate && unset AUTOENV
 | 
				
			||||||
 | 
					      return
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -d "$WORKON_HOME/$name" ]]; then
 | 
				
			||||||
 | 
					      workon $name && export AUTOENV=1
 | 
				
			||||||
 | 
					      return
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if zstyle -T ':prezto:module:python' autoenv; then
 | 
				
			||||||
 | 
					    add-zsh-hook chpwd autoenv
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Aliases
 | 
					# Aliases
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias py='python'
 | 
					alias py='python'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# pythonz
 | 
					 | 
				
			||||||
if (( $+commands[pythonz] )); then
 | 
					 | 
				
			||||||
  alias pyz='pythonz'
 | 
					 | 
				
			||||||
  alias pyzc='pythonz cleanup'
 | 
					 | 
				
			||||||
  alias pyzi='pythonz install'
 | 
					 | 
				
			||||||
  alias pyzl='pythonz list'
 | 
					 | 
				
			||||||
  alias pyzL='pythonz list -a'
 | 
					 | 
				
			||||||
  alias pyzu='pythonz update'
 | 
					 | 
				
			||||||
  alias pyzx='pythonz uninstall'
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,39 +7,30 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load dependencies.
 | 
				
			||||||
 | 
					pmodload 'ruby'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if (( ! $+commands[rails] )); then
 | 
					if (( ! $+commands[bundle] )); then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Aliases (Compatible with Rails 2)
 | 
					# Aliases
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
alias ror='rails'
 | 
					alias ror='bundle exec rails'
 | 
				
			||||||
alias rorc='_rails-command console'
 | 
					alias rorc='bundle exec rails console'
 | 
				
			||||||
alias rordc='_rails-command dbconsole'
 | 
					alias rordc='bundle exec rails dbconsole'
 | 
				
			||||||
alias rordm='rake db:migrate'
 | 
					alias rordm='bundle exec rake db:migrate'
 | 
				
			||||||
alias rordM='rake db:migrate db:test:clone'
 | 
					alias rordM='bundle exec rake db:migrate db:test:clone'
 | 
				
			||||||
alias rordr='rake db:rollback'
 | 
					alias rordr='bundle exec rake db:rollback'
 | 
				
			||||||
alias rorg='_rails-command generate'
 | 
					alias rorg='bundle exec rails generate'
 | 
				
			||||||
alias rorl='tail -f log/development.log'
 | 
					alias rorl='tail -f "$(ruby-app-root)/log/development.log"'
 | 
				
			||||||
alias rorlc='rake log:clear'
 | 
					alias rorlc='bundle exec rake log:clear'
 | 
				
			||||||
alias rorp='_rails-command plugin'
 | 
					alias rorp='bundle exec rails plugin'
 | 
				
			||||||
alias rorr='_rails-command runner'
 | 
					alias rorr='bundle exec rails runner'
 | 
				
			||||||
alias rors='_rails-command server'
 | 
					alias rors='bundle exec rails server'
 | 
				
			||||||
alias rorsd='_rails-command server --debugger'
 | 
					alias rorsd='bundle exec rails server --debugger'
 | 
				
			||||||
alias rorx='_rails-command destroy'
 | 
					alias rorx='bundle exec rails destroy'
 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Functions
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function _rails-command {
 | 
					 | 
				
			||||||
  if [[ -e "script/server" ]]; then
 | 
					 | 
				
			||||||
    ruby script/"$@"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    ruby script/rails "$@"
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,6 @@ Authors
 | 
				
			|||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://rsync.samba.org
 | 
					[1]: http://rsync.samba.org
 | 
				
			||||||
[2]: http://www.bombich.com/rsync.html
 | 
					[2]: http://help.bombich.com/kb/overview/credits#opensource
 | 
				
			||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@ fi
 | 
				
			|||||||
_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system'
 | 
					_rsync_cmd='rsync --verbose --progress --human-readable --compress --archive --hard-links --one-file-system'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mac OS X and HFS+ Enhancements
 | 
					# Mac OS X and HFS+ Enhancements
 | 
				
			||||||
# http://www.bombich.com/rsync.html
 | 
					# http://help.bombich.com/kb/overview/credits#opensource
 | 
				
			||||||
if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then
 | 
					if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then
 | 
				
			||||||
  _rsync_cmd="${_rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change"
 | 
					  _rsync_cmd="${_rsync_cmd} --crtimes --acls --xattrs --fileflags --protect-decmpfs --force-change"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,6 +59,7 @@ Aliases
 | 
				
			|||||||
Functions
 | 
					Functions
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - `ruby-app-root` displays the path to the Ruby application root directory.
 | 
				
			||||||
  - `ruby-info` exposes information about the Ruby environment via the
 | 
					  - `ruby-info` exposes information about the Ruby environment via the
 | 
				
			||||||
    `$ruby_info` associative array.
 | 
					    `$ruby_info` associative array.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										19
									
								
								modules/ruby/functions/ruby-app-root
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								modules/ruby/functions/ruby-app-root
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Displays the path to the Ruby application root directory.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local root_dir="$PWD"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					while [[ "$root_dir" != '/' ]]; do
 | 
				
			||||||
 | 
					  if [[ -f "$root_dir/Gemfile" ]]; then
 | 
				
			||||||
 | 
					    print "$root_dir"
 | 
				
			||||||
 | 
					    break
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  root_dir="$root_dir:h"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -17,18 +17,15 @@ if [[ -s "$HOME/.rvm/scripts/rvm" ]]; then
 | 
				
			|||||||
# Load manually installed rbenv into the shell session.
 | 
					# Load manually installed rbenv into the shell session.
 | 
				
			||||||
elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
 | 
					elif [[ -s "$HOME/.rbenv/bin/rbenv" ]]; then
 | 
				
			||||||
  path=("$HOME/.rbenv/bin" $path)
 | 
					  path=("$HOME/.rbenv/bin" $path)
 | 
				
			||||||
  eval "$(rbenv init - zsh)"
 | 
					  eval "$(rbenv init - --no-rehash zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load package manager installed rbenv into the shell session.
 | 
					# Load package manager installed rbenv into the shell session.
 | 
				
			||||||
elif (( $+commands[rbenv] )); then
 | 
					elif (( $+commands[rbenv] )); then
 | 
				
			||||||
  eval "$(rbenv init - zsh)"
 | 
					  eval "$(rbenv init - --no-rehash zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Install local gems according to operating system conventions.
 | 
					# Prepend local gems bin directories to PATH.
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  if [[ "$OSTYPE" == darwin* ]]; then
 | 
					  path=($HOME/.gem/ruby/*/bin(N) $path)
 | 
				
			||||||
    export GEM_HOME="$HOME/Library/Ruby/Gems/1.8"
 | 
					 | 
				
			||||||
    path=("$GEM_HOME/bin" $path)
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
@@ -47,7 +44,7 @@ alias rb='ruby'
 | 
				
			|||||||
if (( $+commands[bundle] )); then
 | 
					if (( $+commands[bundle] )); then
 | 
				
			||||||
  alias rbb='bundle'
 | 
					  alias rbb='bundle'
 | 
				
			||||||
  alias rbbe='rbb exec'
 | 
					  alias rbbe='rbb exec'
 | 
				
			||||||
  alias rbbi='rbb install --path vendor/bundle'
 | 
					  alias rbbi='rbb install'
 | 
				
			||||||
  alias rbbl='rbb list'
 | 
					  alias rbbl='rbb list'
 | 
				
			||||||
  alias rbbo='rbb open'
 | 
					  alias rbbo='rbb open'
 | 
				
			||||||
  alias rbbp='rbb package'
 | 
					  alias rbbp='rbb package'
 | 
				
			||||||
@@ -55,6 +52,7 @@ if (( $+commands[bundle] )); then
 | 
				
			|||||||
  alias rbbI='rbbi \
 | 
					  alias rbbI='rbbi \
 | 
				
			||||||
    && rbb package \
 | 
					    && rbb package \
 | 
				
			||||||
    && print .bundle       >>! .gitignore \
 | 
					    && print .bundle       >>! .gitignore \
 | 
				
			||||||
 | 
					    && print vendor/assets >>! .gitignore \
 | 
				
			||||||
    && print vendor/bundle >>! .gitignore \
 | 
					    && print vendor/bundle >>! .gitignore \
 | 
				
			||||||
    && print vendor/cache  >>! .gitignore'
 | 
					    && print vendor/cache  >>! .gitignore'
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,9 +10,15 @@ Settings
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Starts a GNU Screen session automatically when Zsh is launched.
 | 
					Starts a GNU Screen session automatically when Zsh is launched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable this feature, add the following line to *zpreztorc*:
 | 
					To enable this feature when launching Zsh in a local terminal, add the
 | 
				
			||||||
 | 
					following line to *zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:screen' auto-start 'yes'
 | 
					    zstyle ':prezto:module:screen:auto-start' local 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To enable this feature when launching Zsh in a SSH connection, add the
 | 
				
			||||||
 | 
					following line to *zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:screen:auto-start' remote 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					Aliases
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
@@ -28,6 +34,7 @@ Authors
 | 
				
			|||||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
					*The authors of this module should be contacted via the [issue tracker][2].*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					  - [Georges Discry](https://github.com/gdiscry)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://www.gnu.org/software/screen/
 | 
					[1]: http://www.gnu.org/software/screen/
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#   Georges Discry <georges@discry.be>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
@@ -14,7 +15,10 @@ fi
 | 
				
			|||||||
# Auto Start
 | 
					# Auto Start
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -z "$STY" ]] && zstyle -t ':prezto:module:screen' auto-start; then
 | 
					if [[ -z "$STY" ]] && ( \
 | 
				
			||||||
 | 
					  ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' remote ) ||
 | 
				
			||||||
 | 
					  ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:screen:auto-start' local ) \
 | 
				
			||||||
 | 
					); then
 | 
				
			||||||
  session="$(
 | 
					  session="$(
 | 
				
			||||||
    screen -list 2> /dev/null \
 | 
					    screen -list 2> /dev/null \
 | 
				
			||||||
      | sed '1d;$d' \
 | 
					      | sed '1d;$d' \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,62 +0,0 @@
 | 
				
			|||||||
#
 | 
					 | 
				
			||||||
# Provides for an easier use of ssh-agent.
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Authors:
 | 
					 | 
				
			||||||
#   Robby Russell <robby@planetargon.com>
 | 
					 | 
				
			||||||
#   Theodore Robert Campbell Jr <trcjr@stupidfoot.com>
 | 
					 | 
				
			||||||
#   Joseph M. Reagle Jr. <reagle@mit.edu>
 | 
					 | 
				
			||||||
#   Florent Thoumie <flz@xbsd.org>
 | 
					 | 
				
			||||||
#   Jonas Pfenniger <jonas@pfenniger.name>
 | 
					 | 
				
			||||||
#   gwjo <gowen72@gmail.com>
 | 
					 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# 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}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
							
								
								
									
										28
									
								
								modules/ssh/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/ssh/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										51
									
								
								modules/ssh/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								modules/ssh/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Provides for an easier use of SSH by setting up ssh-agent.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
 | 
					  # Export environment variables.
 | 
				
			||||||
 | 
					  source "$_ssh_agent_env" 2> /dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Start ssh-agent if not started.
 | 
				
			||||||
 | 
					  if ! ps -U "$USER" -o pid,ucomm | grep -q "${SSH_AGENT_PID} ssh-agent"; then
 | 
				
			||||||
 | 
					    eval "$(ssh-agent | sed '/^echo /d' | tee "$_ssh_agent_env")"
 | 
				
			||||||
 | 
					  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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load identities.
 | 
				
			||||||
 | 
					if ssh-add -l 2>&1 | grep -q 'The agent has no identities'; then
 | 
				
			||||||
 | 
					  zstyle -a ':prezto:module:ssh:load' identities '_ssh_identities'
 | 
				
			||||||
 | 
					  if (( ${#_ssh_identities} > 0 )); then
 | 
				
			||||||
 | 
					    ssh-add "$_ssh_dir/${^_ssh_identities[@]}" 2> /dev/null
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    ssh-add 2> /dev/null
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Clean up.
 | 
				
			||||||
 | 
					unset _ssh_{dir,identities} _ssh_agent_{env,sock}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -38,6 +38,18 @@ To enable all highlighters, add the following to *zpreztorc*:
 | 
				
			|||||||
      'cursor' \
 | 
					      'cursor' \
 | 
				
			||||||
      'root'
 | 
					      '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
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule modules/syntax-highlighting/external updated: 45194671af...f289a9f8e7
									
								
							@@ -11,11 +11,19 @@ if ! zstyle -t ':prezto:module:syntax-highlighting' color; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source module files.
 | 
					# Source module files.
 | 
				
			||||||
source "${0:h}/external/zsh-syntax-highlighting.zsh"
 | 
					source "${0:h}/external/zsh-syntax-highlighting.zsh" || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the highlighters.
 | 
					# Set highlighters.
 | 
				
			||||||
zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
 | 
					zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
 | 
				
			||||||
if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then
 | 
					if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then
 | 
				
			||||||
  ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets cursor)
 | 
					  ZSH_HIGHLIGHT_HIGHLIGHTERS=(main)
 | 
				
			||||||
fi
 | 
					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,}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,23 +13,33 @@ directory, add the following to *zpreztorc*:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:terminal' auto-title 'yes'
 | 
					    zstyle ':prezto:module:terminal' auto-title 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Auto titling is disabled inside terminal multiplexers, except inside dvtm, since
 | 
				
			||||||
 | 
					it interferes with window names defined in configuration files and profile
 | 
				
			||||||
 | 
					managers.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To format terminal window and tab titles, add the following to *zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`%s` will be replaced with the current working directory path or the currently
 | 
				
			||||||
 | 
					executing program name.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For a list of sequences, see [Expansion of Prompt Sequences][1].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					Functions
 | 
				
			||||||
---------
 | 
					---------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `set-screen-window-title` sets the screen title.
 | 
					- `set-tab-title` sets the terminal tab title.
 | 
				
			||||||
- `set-terminal-tab-title` sets the terminal tab title.
 | 
					- `set-window-title` sets the terminal or terminal multiplexer window title.
 | 
				
			||||||
- `set-terminal-window-title` sets the terminal window title.
 | 
					 | 
				
			||||||
- `set-titles-with-command` sets the screen and terminal titles with
 | 
					 | 
				
			||||||
  a given command.
 | 
					 | 
				
			||||||
- `set-titles-with-path` sets the screen and terminal titles with a given path.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Authors
 | 
				
			||||||
-------
 | 
					-------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
					*The authors of this module should be contacted via the [issue tracker][2].*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [James Cox](https://github.com/imajes)
 | 
					 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[1]: http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html#Expansion-of-Prompt-Sequences
 | 
				
			||||||
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@
 | 
				
			|||||||
# Sets terminal window and tab titles.
 | 
					# Sets terminal window and tab titles.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   James Cox <james@imaj.es>
 | 
					 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -11,113 +10,115 @@ if [[ "$TERM" == 'dumb' ]]; then
 | 
				
			|||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the GNU Screen window number.
 | 
					# Sets the terminal or terminal multiplexer window title.
 | 
				
			||||||
if [[ -n "$WINDOW" ]]; then
 | 
					function set-window-title {
 | 
				
			||||||
  export SCREEN_NO="%B${WINDOW}%b "
 | 
					  local title_format{,ted}
 | 
				
			||||||
else
 | 
					  zstyle -s ':prezto:module:terminal:window-title' format 'title_format' || title_format="%s"
 | 
				
			||||||
  export SCREEN_NO=""
 | 
					  zformat -f title_formatted "$title_format" "s:$argv"
 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the GNU Screen title.
 | 
					 | 
				
			||||||
function set-screen-window-title {
 | 
					 | 
				
			||||||
  if [[ "$TERM" == screen* ]]; then
 | 
					  if [[ "$TERM" == screen* ]]; then
 | 
				
			||||||
    printf "\ek%s\e\\" ${(V)argv}
 | 
					    title_format="\ek%s\e\\"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    title_format="\e]2;%s\a"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the terminal window title.
 | 
					  printf "$title_format" "${(V%)title_formatted}"
 | 
				
			||||||
function set-terminal-window-title {
 | 
					 | 
				
			||||||
  if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
 | 
					 | 
				
			||||||
    printf "\e]2;%s\a" ${(V)argv}
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the terminal tab title.
 | 
					# Sets the terminal tab title.
 | 
				
			||||||
function set-terminal-tab-title {
 | 
					function set-tab-title {
 | 
				
			||||||
  if [[ "$TERM" == ((x|a|ml|dt|E)term*|(u|)rxvt*) ]]; then
 | 
					  local title_format{,ted}
 | 
				
			||||||
    printf "\e]1;%s\a" ${(V)argv}
 | 
					  zstyle -s ':prezto:module:terminal:tab-title' format 'title_format' || title_format="%s"
 | 
				
			||||||
  fi
 | 
					  zformat -f title_formatted "$title_format" "s:$argv"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  printf "\e]1;%s\a" ${(V%)title_formatted}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the tab and window titles with a given command.
 | 
					# Sets the tab and window titles with a given command.
 | 
				
			||||||
function set-titles-with-command {
 | 
					function _terminal-set-titles-with-command {
 | 
				
			||||||
  # Do not set the window and tab titles in Terminal.app because they are not
 | 
					 | 
				
			||||||
  # reset upon command termination.
 | 
					 | 
				
			||||||
  if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
 | 
					 | 
				
			||||||
    return 1
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  emulate -L zsh
 | 
					  emulate -L zsh
 | 
				
			||||||
  setopt EXTENDED_GLOB
 | 
					  setopt EXTENDED_GLOB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Get the command name that is under job control.
 | 
					  # Get the command name that is under job control.
 | 
				
			||||||
  if [[ "${1[(w)1]}" == (fg|%*)(\;|) ]]; then
 | 
					  if [[ "${2[(w)1]}" == (fg|%*)(\;|) ]]; then
 | 
				
			||||||
    # Get the job name, and, if missing, set it to the default %+.
 | 
					    # Get the job name, and, if missing, set it to the default %+.
 | 
				
			||||||
    local job_name="${${1[(wr)%*(\;|)]}:-%+}"
 | 
					    local job_name="${${2[(wr)%*(\;|)]}:-%+}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Make a local copy for use in the subshell.
 | 
					    # Make a local copy for use in the subshell.
 | 
				
			||||||
    local -A jobtexts_from_parent_shell
 | 
					    local -A jobtexts_from_parent_shell
 | 
				
			||||||
    jobtexts_from_parent_shell=(${(kv)jobtexts})
 | 
					    jobtexts_from_parent_shell=(${(kv)jobtexts})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    jobs $job_name 2>/dev/null > >(
 | 
					    jobs "$job_name" 2>/dev/null > >(
 | 
				
			||||||
      read index discarded
 | 
					      read index discarded
 | 
				
			||||||
      # The index is already surrounded by brackets: [1].
 | 
					      # The index is already surrounded by brackets: [1].
 | 
				
			||||||
      set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
 | 
					      _terminal-set-titles-with-command "${(e):-\$jobtexts_from_parent_shell$index}"
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    # Set the command name, or in the case of sudo or ssh, the next command.
 | 
					    # Set the command name, or in the case of sudo or ssh, the next command.
 | 
				
			||||||
    local cmd=${${1[(wr)^(*=*|sudo|ssh|-*)]}:t}
 | 
					    local cmd="${${2[(wr)^(*=*|sudo|ssh|-*)]}:t}"
 | 
				
			||||||
    local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
 | 
					    local truncated_cmd="${cmd/(#m)?(#c15,)/${MATCH[1,12]}...}"
 | 
				
			||||||
    unset MATCH
 | 
					    unset MATCH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [[ "$TERM" == screen* ]]; then
 | 
					    set-window-title "$cmd"
 | 
				
			||||||
      set-screen-window-title "$truncated_cmd"
 | 
					    set-tab-title "$truncated_cmd"
 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      set-terminal-window-title "$cmd"
 | 
					 | 
				
			||||||
      set-terminal-tab-title "$truncated_cmd"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the tab and window titles with a given path.
 | 
					# Sets the tab and window titles with a given path.
 | 
				
			||||||
function set-titles-with-path {
 | 
					function _terminal-set-titles-with-path {
 | 
				
			||||||
  emulate -L zsh
 | 
					  emulate -L zsh
 | 
				
			||||||
  setopt EXTENDED_GLOB
 | 
					  setopt EXTENDED_GLOB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  local absolute_path="${${1:a}:-$PWD}"
 | 
					  local absolute_path="${${1:a}:-$PWD}"
 | 
				
			||||||
 | 
					  local abbreviated_path="${absolute_path/#$HOME/~}"
 | 
				
			||||||
 | 
					  local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
 | 
				
			||||||
 | 
					  unset MATCH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]]; then
 | 
					  set-window-title "$abbreviated_path"
 | 
				
			||||||
    printf '\e]7;%s\a' "file://$HOST${absolute_path// /%20}"
 | 
					  set-tab-title "$truncated_path"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    local abbreviated_path="${absolute_path/#$HOME/~}"
 | 
					 | 
				
			||||||
    local truncated_path="${abbreviated_path/(#m)?(#c15,)/...${MATCH[-12,-1]}}"
 | 
					 | 
				
			||||||
    unset MATCH
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ "$TERM" == screen* ]]; then
 | 
					 | 
				
			||||||
      set-screen-window-title "$truncated_path"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      set-terminal-window-title "$abbreviated_path"
 | 
					 | 
				
			||||||
      set-terminal-tab-title "$truncated_path"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Don't override precmd/preexec; append to hook array.
 | 
					# Sets the Terminal.app proxy icon.
 | 
				
			||||||
 | 
					function _terminal-set-terminal-app-proxy-icon {
 | 
				
			||||||
 | 
					  printf '\e]7;%s\a' "file://$HOST${${1:-$PWD}// /%20}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Do not override precmd/preexec; append to the hook array.
 | 
				
			||||||
autoload -Uz add-zsh-hook
 | 
					autoload -Uz add-zsh-hook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the tab and window titles before the prompt is displayed.
 | 
					# Set up the Apple Terminal.
 | 
				
			||||||
function set-titles-precmd {
 | 
					if [[ "$TERM_PROGRAM" == 'Apple_Terminal' ]] \
 | 
				
			||||||
  if zstyle -t ':prezto:module:terminal' auto-title; then
 | 
					  && ( ! [[ -n "$STY" || -n "$TMUX" || -n "$DVTM" ]] )
 | 
				
			||||||
    set-titles-with-path
 | 
					then
 | 
				
			||||||
  fi
 | 
					  # Sets the Terminal.app current working directory before the prompt is
 | 
				
			||||||
}
 | 
						# displayed.
 | 
				
			||||||
add-zsh-hook precmd set-titles-precmd
 | 
					  add-zsh-hook precmd _terminal-set-terminal-app-proxy-icon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Sets the tab and window titles before command execution.
 | 
						# Unsets the Terminal.app current working directory when a terminal
 | 
				
			||||||
function set-titles-preexec {
 | 
						# multiplexer or remote connection is started since it can no longer be
 | 
				
			||||||
  if zstyle -t ':prezto:module:terminal' auto-title; then
 | 
					  # updated, and it becomes confusing when the directory displayed in the title
 | 
				
			||||||
    set-titles-with-command "$2"
 | 
					  # bar is no longer synchronized with real current working directory.
 | 
				
			||||||
  fi
 | 
						function _terminal-unset-terminal-app-proxy-icon {
 | 
				
			||||||
}
 | 
					    if [[ "${2[(w)1]:t}" == (screen|tmux|dvtm|ssh|mosh) ]]; then
 | 
				
			||||||
add-zsh-hook preexec set-titles-preexec
 | 
					      _terminal-set-terminal-app-proxy-icon ' '
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						add-zsh-hook preexec _terminal-unset-terminal-app-proxy-icon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Do not set the tab and window titles in Terminal.app since it sets the tab
 | 
				
			||||||
 | 
					  # title to the currently running process by default and the current working
 | 
				
			||||||
 | 
					  # directory is set separately.
 | 
				
			||||||
 | 
						return
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set up non-Apple terminals.
 | 
				
			||||||
 | 
					if zstyle -t ':prezto:module:terminal' auto-title \
 | 
				
			||||||
 | 
					  && ( ! [[ -n "$STY" || -n "$TMUX" ]] )
 | 
				
			||||||
 | 
					then
 | 
				
			||||||
 | 
						# Sets the tab and window titles before the prompt is displayed.
 | 
				
			||||||
 | 
						add-zsh-hook precmd _terminal-set-titles-with-path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Sets the tab and window titles before command execution.
 | 
				
			||||||
 | 
						add-zsh-hook preexec _terminal-set-titles-with-command
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,12 +10,18 @@ Settings
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Starts a tmux session automatically when Zsh is launched.
 | 
					Starts a tmux session automatically when Zsh is launched.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable this feature, add the following line to *zpreztorc*:
 | 
					To enable this feature when launching Zsh in a local terminal, add the
 | 
				
			||||||
 | 
					following line to *zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:tmux' auto-start 'yes'
 | 
					    zstyle ':prezto:module:tmux:auto-start' local 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
It will create a background session named _#Prezto_ and attach every new shell
 | 
					To enable this feature when launching Zsh in a SSH connection, add the
 | 
				
			||||||
to it.
 | 
					following line to *zpreztorc*:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    zstyle ':prezto:module:tmux:auto-start' remote 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					In both cases, it will create a background session named _#Prezto_ and attach
 | 
				
			||||||
 | 
					every new shell to it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To avoid keeping open sessions, this module sets `destroy-unattached off` on
 | 
					To avoid keeping open sessions, this module sets `destroy-unattached off` on
 | 
				
			||||||
the background session and `destroy-unattached on` on every other session
 | 
					the background session and `destroy-unattached on` on every other session
 | 
				
			||||||
@@ -47,6 +53,7 @@ Authors
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
  - [Colin Hebert](https://github.com/ColinHebert)
 | 
					  - [Colin Hebert](https://github.com/ColinHebert)
 | 
				
			||||||
 | 
					  - [Georges Discry](https://github.com/gdiscry)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://tmux.sourceforge.net
 | 
					[1]: http://tmux.sourceforge.net
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues/62
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues/62
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@
 | 
				
			|||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#   Colin Hebert <hebert.colin@gmail.com>
 | 
					#   Colin Hebert <hebert.colin@gmail.com>
 | 
				
			||||||
 | 
					#   Georges Discry <georges@discry.be>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
@@ -15,10 +16,16 @@ fi
 | 
				
			|||||||
# Auto Start
 | 
					# Auto Start
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -z "$TMUX" ]] && zstyle -t ':prezto:module:tmux' auto-start; then
 | 
					if [[ -z "$TMUX" ]] && ( \
 | 
				
			||||||
 | 
					  ( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
 | 
				
			||||||
 | 
					  ( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
 | 
				
			||||||
 | 
					); then
 | 
				
			||||||
  tmux_session='#Prezto'
 | 
					  tmux_session='#Prezto'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
 | 
					  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.
 | 
					    # Disable the destruction of unattached sessions globally.
 | 
				
			||||||
    tmux set-option -g destroy-unattached off &> /dev/null
 | 
					    tmux set-option -g destroy-unattached off &> /dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -104,17 +104,13 @@ alias sl='ls'            # I often screw this up.
 | 
				
			|||||||
# Mac OS X Everywhere
 | 
					# Mac OS X Everywhere
 | 
				
			||||||
if [[ "$OSTYPE" == darwin* ]]; then
 | 
					if [[ "$OSTYPE" == darwin* ]]; then
 | 
				
			||||||
  alias o='open'
 | 
					  alias o='open'
 | 
				
			||||||
  alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
 | 
					 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  alias o='xdg-open'
 | 
					  alias o='xdg-open'
 | 
				
			||||||
  alias get='wget --continue --progress=bar --timestamping'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (( $+commands[xclip] )); then
 | 
					  if (( $+commands[xclip] )); then
 | 
				
			||||||
    alias pbcopy='xclip -selection clipboard -in'
 | 
					    alias pbcopy='xclip -selection clipboard -in'
 | 
				
			||||||
    alias pbpaste='xclip -selection clipboard -out'
 | 
					    alias pbpaste='xclip -selection clipboard -out'
 | 
				
			||||||
  fi
 | 
					  elif (( $+commands[xsel] )); then
 | 
				
			||||||
 | 
					 | 
				
			||||||
  if (( $+commands[xsel] )); then
 | 
					 | 
				
			||||||
    alias pbcopy='xsel --clipboard --input'
 | 
					    alias pbcopy='xsel --clipboard --input'
 | 
				
			||||||
    alias pbpaste='xsel --clipboard --output'
 | 
					    alias pbpaste='xsel --clipboard --output'
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
@@ -123,6 +119,13 @@ fi
 | 
				
			|||||||
alias pbc='pbcopy'
 | 
					alias pbc='pbcopy'
 | 
				
			||||||
alias pbp='pbpaste'
 | 
					alias pbp='pbpaste'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# File Download
 | 
				
			||||||
 | 
					if (( $+commands[curl] )); then
 | 
				
			||||||
 | 
					  alias get='curl --continue-at - --location --progress-bar --remote-name --remote-time'
 | 
				
			||||||
 | 
					elif (( $+commands[wget] )); then
 | 
				
			||||||
 | 
					  alias get='wget --continue --progress=bar --timestamping'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Resource Usage
 | 
					# Resource Usage
 | 
				
			||||||
alias df='df -kh'
 | 
					alias df='df -kh'
 | 
				
			||||||
alias du='du -kh'
 | 
					alias du='du -kh'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,7 +38,7 @@ small as possible and should only define environment variables.
 | 
				
			|||||||
### zprofile
 | 
					### zprofile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This file is similar to zlogin, but it is sourced before zshrc. It was added
 | 
					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.
 | 
					contain.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
zprofile and zlogin are not meant to be used concurrently but can be done so.
 | 
					zprofile and zlogin are not meant to be used concurrently but can be done so.
 | 
				
			||||||
@@ -48,7 +48,7 @@ zprofile and zlogin are not meant to be used concurrently but can be done so.
 | 
				
			|||||||
This file is sourced by interactive shells. It should define aliases,
 | 
					This file is sourced by interactive shells. It should define aliases,
 | 
				
			||||||
functions, shell options, and key bindings.
 | 
					functions, shell options, and key bindings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## zpreztorc
 | 
					### zpreztorc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This file configures Prezto.
 | 
					This file configures Prezto.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,16 +9,9 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  # Compile the completion dump to increase startup speed.
 | 
					  # Compile the completion dump to increase startup speed.
 | 
				
			||||||
  zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
 | 
					  zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
 | 
				
			||||||
  if [[ "$zcompdump" -nt "${zcompdump}.zwc" || ! -s "${zcompdump}.zwc" ]]; then
 | 
					  if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
 | 
				
			||||||
    zcompile "$zcompdump"
 | 
					    zcompile "$zcompdump"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Set environment variables for launchd processes.
 | 
					 | 
				
			||||||
  if [[ "$OSTYPE" == darwin* ]]; then
 | 
					 | 
				
			||||||
    for env_var in PATH MANPATH; do
 | 
					 | 
				
			||||||
      launchctl setenv "$env_var" "${(P)env_var}"
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
} &!
 | 
					} &!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Print a random, hopefully interesting, adage.
 | 
					# Print a random, hopefully interesting, adage.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set case-sensitivity for completion, history lookup, etc.
 | 
					# Set case-sensitivity for completion, history lookup, etc.
 | 
				
			||||||
zstyle ':prezto:*:*' case-sensitive 'no'
 | 
					# zstyle ':prezto:*:*' case-sensitive 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Color output (auto set to 'no' on dumb terminals).
 | 
					# Color output (auto set to 'no' on dumb terminals).
 | 
				
			||||||
zstyle ':prezto:*:*' color 'yes'
 | 
					zstyle ':prezto:*:*' color 'yes'
 | 
				
			||||||
@@ -39,7 +39,7 @@ zstyle ':prezto:load' pmodule \
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set the key mapping style to 'emacs' or 'vi'.
 | 
					# Set the key mapping style to 'emacs' or 'vi'.
 | 
				
			||||||
zstyle ':prezto:module:editor' keymap 'emacs'
 | 
					zstyle ':prezto:module:editor' key-bindings 'emacs'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Auto convert .... to ../..
 | 
					# Auto convert .... to ../..
 | 
				
			||||||
# zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
					# zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
				
			||||||
@@ -58,6 +58,19 @@ zstyle ':prezto:module:editor' keymap 'emacs'
 | 
				
			|||||||
# Set the command prefix on non-GNU systems.
 | 
					# Set the command prefix on non-GNU systems.
 | 
				
			||||||
# zstyle ':prezto:module:gnu-utility' prefix 'g'
 | 
					# 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
 | 
					# Pacman
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -78,50 +91,58 @@ zstyle ':prezto:module:prompt' theme 'sorin'
 | 
				
			|||||||
# Screen
 | 
					# Screen
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Auto start a session when Zsh is launched.
 | 
					# Auto start a session when Zsh is launched in a local terminal.
 | 
				
			||||||
# zstyle ':prezto:module:screen' auto-start 'yes'
 | 
					# zstyle ':prezto:module:screen:auto-start' local 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Auto start a session when Zsh is launched in a SSH connection.
 | 
				
			||||||
 | 
					# zstyle ':prezto:module:screen:auto-start' remote 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# GPG-Agent
 | 
					# SSH
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Enable SSH-Agent protocol emulation.
 | 
					# Set the SSH identities to load into the agent.
 | 
				
			||||||
# zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
 | 
					# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# 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'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Syntax Highlighting
 | 
					# Syntax Highlighting
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set syntax highlighters.
 | 
					# 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 \
 | 
					# zstyle ':prezto:module:syntax-highlighting' highlighters \
 | 
				
			||||||
#   'main' \
 | 
					#   'main' \
 | 
				
			||||||
#   'brackets' \
 | 
					#   'brackets' \
 | 
				
			||||||
#   'pattern' \
 | 
					#   'pattern' \
 | 
				
			||||||
#   'cursor' \
 | 
					#   'cursor' \
 | 
				
			||||||
#   'root'
 | 
					#   'root'
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Set syntax highlighting styles.
 | 
				
			||||||
 | 
					# zstyle ':prezto:module:syntax-highlighting' styles \
 | 
				
			||||||
 | 
					#   'builtin' 'bg=blue' \
 | 
				
			||||||
 | 
					#   'command' 'bg=blue' \
 | 
				
			||||||
 | 
					#   'function' 'bg=blue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Terminal
 | 
					# Terminal
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Auto set the tab and window titles.
 | 
					# Auto set the tab and window titles.
 | 
				
			||||||
zstyle ':prezto:module:terminal' auto-title 'yes'
 | 
					# zstyle ':prezto:module:terminal' auto-title 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the window title format.
 | 
				
			||||||
 | 
					# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the tab title format.
 | 
				
			||||||
 | 
					# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Tmux
 | 
					# Tmux
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Auto start a session when Zsh is launched.
 | 
					# Auto start a session when Zsh is launched in a local terminal.
 | 
				
			||||||
# zstyle ':prezto:module:tmux' auto-start 'yes'
 | 
					# zstyle ':prezto:module:tmux:auto-start' local 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Auto start a session when Zsh is launched in a SSH connection.
 | 
				
			||||||
 | 
					# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,3 +5,73 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Browser
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "$OSTYPE" == darwin* ]]; then
 | 
				
			||||||
 | 
					  export BROWSER='open'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Editors
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export EDITOR='nano'
 | 
				
			||||||
 | 
					export VISUAL='nano'
 | 
				
			||||||
 | 
					export PAGER='less'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Language
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -z "$LANG" ]]; then
 | 
				
			||||||
 | 
					  export LANG='en_US.UTF-8'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Paths
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ensure path arrays do not contain duplicates.
 | 
				
			||||||
 | 
					typeset -gU cdpath fpath mailpath path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the the list of directories that cd searches.
 | 
				
			||||||
 | 
					# cdpath=(
 | 
				
			||||||
 | 
					#   $cdpath
 | 
				
			||||||
 | 
					# )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the list of directories that Zsh searches for programs.
 | 
				
			||||||
 | 
					path=(
 | 
				
			||||||
 | 
					  /usr/local/{bin,sbin}
 | 
				
			||||||
 | 
					  $path
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Less
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the default Less options.
 | 
				
			||||||
 | 
					# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
 | 
				
			||||||
 | 
					# Remove -X and -F (exit if the content fits on one screen) to enable it.
 | 
				
			||||||
 | 
					export LESS='-F -g -i -M -R -S -w -X -z-4'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set the Less input preprocessor.
 | 
				
			||||||
 | 
					if (( $+commands[lesspipe.sh] )); then
 | 
				
			||||||
 | 
					  export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Temporary Files
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,96 +5,8 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					# Ensure that a non-login, non-interactive shell has a defined environment.
 | 
				
			||||||
# Browser
 | 
					if [[ "$SHLVL" -eq 1 && ! -o LOGIN ]]; then
 | 
				
			||||||
#
 | 
					  source "${ZDOTDIR:-$HOME}/.zprofile"
 | 
				
			||||||
 | 
					 | 
				
			||||||
if [[ "$OSTYPE" == darwin* ]]; then
 | 
					 | 
				
			||||||
  export BROWSER='open'
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Editors
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export EDITOR='nano'
 | 
					 | 
				
			||||||
export VISUAL='nano'
 | 
					 | 
				
			||||||
export PAGER='less'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Language
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [[ -z "$LANG" ]]; then
 | 
					 | 
				
			||||||
  eval "$(locale)"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Less
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the default Less options.
 | 
					 | 
				
			||||||
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
 | 
					 | 
				
			||||||
# Remove -X and -F (exit if the content fits on one screen) to enable it.
 | 
					 | 
				
			||||||
export LESS='-F -g -i -M -R -S -w -X -z-4'
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the Less input preprocessor.
 | 
					 | 
				
			||||||
if (( $+commands[lesspipe.sh] )); then
 | 
					 | 
				
			||||||
  export LESSOPEN='| /usr/bin/env lesspipe.sh %s 2>&-'
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Paths
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
typeset -gU cdpath fpath mailpath manpath path
 | 
					 | 
				
			||||||
typeset -gUT INFOPATH infopath
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the the list of directories that cd searches.
 | 
					 | 
				
			||||||
# cdpath=(
 | 
					 | 
				
			||||||
#   $cdpath
 | 
					 | 
				
			||||||
# )
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the list of directories that info searches for manuals.
 | 
					 | 
				
			||||||
infopath=(
 | 
					 | 
				
			||||||
  /usr/local/share/info
 | 
					 | 
				
			||||||
  /usr/share/info
 | 
					 | 
				
			||||||
  $infopath
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the list of directories that man searches for manuals.
 | 
					 | 
				
			||||||
manpath=(
 | 
					 | 
				
			||||||
  /usr/local/share/man
 | 
					 | 
				
			||||||
  /usr/share/man
 | 
					 | 
				
			||||||
  $manpath
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for path_file in /etc/manpaths.d/*(.N); do
 | 
					 | 
				
			||||||
  manpath+=($(<$path_file))
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
unset path_file
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Set the list of directories that Zsh searches for programs.
 | 
					 | 
				
			||||||
path=(
 | 
					 | 
				
			||||||
  /usr/local/{bin,sbin}
 | 
					 | 
				
			||||||
  /usr/{bin,sbin}
 | 
					 | 
				
			||||||
  /{bin,sbin}
 | 
					 | 
				
			||||||
  $path
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
for path_file in /etc/paths.d/*(.N); do
 | 
					 | 
				
			||||||
  path+=($(<$path_file))
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
unset path_file
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Temporary Files
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [[ -d "$TMPDIR" ]]; then
 | 
					 | 
				
			||||||
  export TMPPREFIX="${TMPDIR%/}/zsh"
 | 
					 | 
				
			||||||
  if [[ ! -d "$TMPPREFIX" ]]; then
 | 
					 | 
				
			||||||
    mkdir -p "$TMPPREFIX"
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user