mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 13:19:09 +00:00 
			
		
		
		
	Compare commits
	
		
			583 Commits
		
	
	
		
			theme/sori
			...
			77edfff10e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 77edfff10e | |||
| 
						 | 
					51c4ff6de4 | ||
| 
						 | 
					3ea20cfbe8 | ||
| 
						 | 
					0aef8086b5 | ||
| 865cc2ef02 | |||
| 
						 | 
					5928fa84cc | ||
| 365a228b7f | |||
| da682405a1 | |||
| 
						 | 
					1875ddb52c | ||
| 
						 | 
					b2bc66ce9d | ||
| 
						 | 
					3a471a05f9 | ||
| 3d3346be0a | |||
| 2676780766 | |||
| 
						 | 
					12df1363ce | ||
| 7e1c7e3c7a | |||
| 1431e4e8c2 | |||
| 
						 | 
					dea85a0740 | ||
| 
						 | 
					3dc3fa7f8c | ||
| 
						 | 
					c857e809c3 | ||
| 
						 | 
					ac1c39d2e1 | ||
| 
						 | 
					2c66331316 | ||
| fca913eded | |||
| 
						 | 
					3da67271b9 | ||
| 
						 | 
					1ff1099d05 | ||
| 
						 | 
					98d69fc91f | ||
| 
						 | 
					15150085e6 | ||
| 45adecd9c9 | |||
| 74d4100434 | |||
| 
						 | 
					7ec1ecde3a | ||
| 
						 | 
					20641f3447 | ||
| 
						 | 
					bf3dfe8c02 | ||
| 
						 | 
					d840f0fc7b | ||
| 
						 | 
					d6e1ef5fcf | ||
| 
						 | 
					7884fb2271 | ||
| a96f1618b4 | |||
| 
						 | 
					ecaed1cfa7 | ||
| 
						 | 
					7f8b9b829a | ||
| d828d06643 | |||
| 
						 | 
					166cbe2fca | ||
| 
						 | 
					48291f68e8 | ||
| 
						 | 
					2451239713 | ||
| 98f6306d1e | |||
| 
						 | 
					f3c92ffeb3 | ||
| 
						 | 
					866d5dfccd | ||
| dc66c17728 | |||
| 
						 | 
					061a7b961c | ||
| 
						 | 
					6833fcd2f2 | ||
| 
						 | 
					f1e24d3fd8 | ||
| 
						 | 
					37443368c1 | ||
| 
						 | 
					afe59b293b | ||
| 
						 | 
					f0942e6dda | ||
| 
						 | 
					d686da3c03 | ||
| 
						 | 
					9037fda36d | ||
| 
						 | 
					53033bc5d9 | ||
| 
						 | 
					7052e2a002 | ||
| 
						 | 
					979144d0e4 | ||
| 
						 | 
					c4a8f446c6 | ||
| 
						 | 
					a3643f124e | ||
| 
						 | 
					efebe3efec | ||
| 
						 | 
					9459a716bf | ||
| 
						 | 
					28ec39d9b2 | ||
| 
						 | 
					9f37fc9841 | ||
| 
						 | 
					f84075b8d4 | ||
| 
						 | 
					af46875c5e | ||
| 
						 | 
					c6b59f8bb1 | ||
| 
						 | 
					515d70f639 | ||
| 
						 | 
					7980dd91c9 | ||
| 
						 | 
					e07fd052d7 | ||
| 
						 | 
					d3d79bbe74 | ||
| 
						 | 
					6eb4021556 | ||
| 
						 | 
					d51e5ce40f | ||
| 
						 | 
					6c5657be8e | ||
| 
						 | 
					fae5e493ec | ||
| 
						 | 
					2368c9142b | ||
| 
						 | 
					1ff9421f7b | ||
| 
						 | 
					424d4cb779 | ||
| 
						 | 
					b14aca307d | ||
| 
						 | 
					0628b91028 | ||
| 
						 | 
					be61026920 | ||
| 
						 | 
					95d223aa8a | ||
| 
						 | 
					742c1ea26f | ||
| 
						 | 
					d80e393f78 | ||
| 
						 | 
					8edc5e9323 | ||
| 
						 | 
					d04a6ef459 | ||
| 
						 | 
					788aa3d158 | ||
| 
						 | 
					261d3b8224 | ||
| 
						 | 
					68300e6de4 | ||
| 
						 | 
					e87a9b0a93 | ||
| 
						 | 
					509c5ca80f | ||
| 
						 | 
					1d1ae0a661 | ||
| 
						 | 
					f830065347 | ||
| 
						 | 
					3285b33f0c | ||
| 
						 | 
					9d42feac16 | ||
| 
						 | 
					93556a7d5f | ||
| 
						 | 
					5a8bfd5bf5 | ||
| 
						 | 
					8a967fc108 | ||
| 
						 | 
					63bc5061a7 | ||
| 
						 | 
					f651140f2c | ||
| 
						 | 
					6a70bdfff2 | ||
| 
						 | 
					c5175145d4 | ||
| 
						 | 
					16ddedd1f3 | ||
| 
						 | 
					db6cd0d668 | ||
| 
						 | 
					40cc9f52f9 | ||
| 
						 | 
					8003d0c6d8 | ||
| 
						 | 
					7222fe5fd6 | ||
| 
						 | 
					095f44796b | ||
| 
						 | 
					4de0377106 | ||
| 
						 | 
					a2f3f419f6 | ||
| 
						 | 
					0a07ba27a2 | ||
| 
						 | 
					ce937020ce | ||
| 
						 | 
					428632ac07 | ||
| 
						 | 
					76b8c810aa | ||
| 
						 | 
					a7f223d959 | ||
| 
						 | 
					d66041cdb7 | ||
| 
						 | 
					b8a3d90a13 | ||
| c005e87859 | |||
| 667fba697e | |||
| 
						 | 
					704fc46c3f | ||
| 
						 | 
					c43d483d47 | ||
| f080e2075e | |||
| 
						 | 
					b7a80d99a8 | ||
| 
						 | 
					c7ef9c1f46 | ||
| 
						 | 
					775f6123b2 | ||
| 
						 | 
					e915c34507 | ||
| 
						 | 
					39151645ac | ||
| 
						 | 
					0a405494ca | ||
| 813bde4d44 | |||
| 
						 | 
					38882275b8 | ||
| 
						 | 
					e9197234cf | ||
| 
						 | 
					685da200d7 | ||
| 
						 | 
					cb8b9ca746 | ||
| 
						 | 
					4e7ab4b8b7 | ||
| 677e301174 | |||
| 
						 | 
					c21295b27f | ||
| 83f3dca4a3 | |||
| 
						 | 
					a132c1007a | ||
| 
						 | 
					2d3763380c | ||
| 
						 | 
					20a78c04e5 | ||
| 
						 | 
					ff91c8d410 | ||
| 
						 | 
					b8f5b31573 | ||
| 
						 | 
					cb69d2d3e4 | ||
| 
						 | 
					793f239a5e | ||
| 
						 | 
					649c0e4561 | ||
| 
						 | 
					13c61bae30 | ||
| 6d546561c6 | |||
| 
						 | 
					530ea10126 | ||
| 
						 | 
					342385618c | ||
| 2da4774473 | |||
| f427a567d7 | |||
| 
						 | 
					de7b3b7fdc | ||
| 
						 | 
					95ff0360ae | ||
| 
						 | 
					5b03d7fa32 | ||
| 
						 | 
					d5bef142d4 | ||
| 9b2744cfdf | |||
| 7fbedf4a3b | |||
| 
						 | 
					f479f37ead | ||
| 
						 | 
					f4ca9ebfc9 | ||
| 
						 | 
					1b99be879c | ||
| 
						 | 
					cfeb8cd6c9 | ||
| 0c22054a49 | |||
| 
						 | 
					d955fbdeb7 | ||
| 
						 | 
					94f9e44f3f | ||
| 
						 | 
					92e6b37f73 | ||
| d2832051f7 | |||
| 65e8ba0596 | |||
| 272528b439 | |||
| a73bb314cc | |||
| cb0099ec7a | |||
| fc8f82329b | |||
| 3d827cdb88 | |||
| 47b37b22ea | |||
| 
						 | 
					e9f281cd6f | ||
| 4b32ae96db | |||
| bca85497f8 | |||
| 
						 | 
					4bcbe2ee68 | ||
| ac9843e2d4 | |||
| 
						 | 
					66b9ea7d44 | ||
| 
						 | 
					7cad349a5a | ||
| 
						 | 
					4a32e9d68b | ||
| 7ec4aad48c | |||
| 
						 | 
					1f52b03a45 | ||
| 
						 | 
					9ae279e25a | ||
| 
						 | 
					2acaec814f | ||
| 
						 | 
					a3a51bdf6c | ||
| 
						 | 
					c6efe80152 | ||
| 
						 | 
					7c94154dda | ||
| 
						 | 
					e86200e7aa | ||
| 721b1535ea | |||
| 
						 | 
					a5ebde1b17 | ||
| a251bd2fb9 | |||
| ef3e9eda18 | |||
| 
						 | 
					2d6205e714 | ||
| b9c34d9445 | |||
| 
						 | 
					0af28e758b | ||
| 048d5302d6 | |||
| e9e8c31217 | |||
| f549bd7a0b | |||
| 
						 | 
					ed511e6747 | ||
| 
						 | 
					13f3cabd81 | ||
| 
						 | 
					b2aead431c | ||
| 
						 | 
					21ce6a6f97 | ||
| 
						 | 
					585b3646f9 | ||
| aeb58b972d | |||
| 
						 | 
					b44893d9eb | ||
| 
						 | 
					ed6303c340 | ||
| 
						 | 
					6d65cb4176 | ||
| 
						 | 
					1bc0da5f48 | ||
| 
						 | 
					55eb406515 | ||
| 
						 | 
					2873885d37 | ||
| 91292526a0 | |||
| a1df63bade | |||
| 
						 | 
					9507a0e881 | ||
| 
						 | 
					75b112bcd0 | ||
| 
						 | 
					f596d5d1d6 | ||
| 
						 | 
					61de4d199d | ||
| 
						 | 
					6ae2f39cc1 | ||
| 
						 | 
					75940e8ee9 | ||
| 
						 | 
					43214f1aed | ||
| 
						 | 
					8b1a7afd81 | ||
| 
						 | 
					8914274ca9 | ||
| 
						 | 
					34948690d5 | ||
| 
						 | 
					a8087e01fb | ||
| 
						 | 
					abb0c7ecb4 | ||
| 
						 | 
					b01f02aa5c | ||
| 
						 | 
					5566a9c792 | ||
| 
						 | 
					3ae422a0da | ||
| 
						 | 
					6dd97d15e0 | ||
| 21b83b65ef | |||
| 
						 | 
					e94b6b2078 | ||
| de23724dc3 | |||
| e6e5e4d68f | |||
| 
						 | 
					09e83ed282 | ||
| 9f86f48ae6 | |||
| 15bfe616bc | |||
| 
						 | 
					1d58546406 | ||
| 
						 | 
					ac65e8eb18 | ||
| 
						 | 
					bb901dfb7e | ||
| f235db7aaa | |||
| 82222831a7 | |||
| 
						 | 
					1f4601e44c | ||
| 
						 | 
					b8d7e2cad8 | ||
| 
						 | 
					5d7c990eec | ||
| 
						 | 
					d22effbf85 | ||
| 4ff726e600 | |||
| c2c53592a1 | |||
| 
						 | 
					4abbc55721 | ||
| 
						 | 
					777674e07e | ||
| 
						 | 
					ba4063f99e | ||
| 
						 | 
					88456ec9b6 | ||
| 
						 | 
					4a16d3fa50 | ||
| a70d24ab10 | |||
| 
						 | 
					a338cba805 | ||
| 
						 | 
					0e6429da97 | ||
| 
						 | 
					9d3e2f0204 | ||
| 
						 | 
					dc8e168d5f | ||
| 
						 | 
					3093f1b966 | ||
| 
						 | 
					11184084bc | ||
| 
						 | 
					54dff31b63 | ||
| 23c56a5640 | |||
| 1a48ae2e54 | |||
| 
						 | 
					eee3c9c166 | ||
| 
						 | 
					39e1a63349 | ||
| 
						 | 
					d275f316ff | ||
| 
						 | 
					6a2cc2e146 | ||
| 
						 | 
					d45d87b08f | ||
| 
						 | 
					a987c8bc8a | ||
| 
						 | 
					f745645342 | ||
| 
						 | 
					a2398fc045 | ||
| 
						 | 
					e7fea3343f | ||
| 
						 | 
					53286ebbdb | ||
| 
						 | 
					2286662b80 | ||
| 
						 | 
					3de1e24965 | ||
| be68a38ff5 | |||
| 32084778d0 | |||
| 
						 | 
					8bfed01773 | ||
| 
						 | 
					b2a9152820 | ||
| 
						 | 
					680fba3112 | ||
| 236907f8af | |||
| 
						 | 
					108392b503 | ||
| a09155f990 | |||
| 35a83744e7 | |||
| b083b134e7 | |||
| 
						 | 
					e6eea17b12 | ||
| 93313aac23 | |||
| f37cf0ffc9 | |||
| 
						 | 
					1ed5331e84 | ||
| 
						 | 
					bfe1815cbf | ||
| 
						 | 
					a43093119e | ||
| 
						 | 
					a3753d8f3b | ||
| 
						 | 
					58809b2d21 | ||
| 
						 | 
					992b9de505 | ||
| 
						 | 
					6f603df7a6 | ||
| 
						 | 
					ff5bd9306e | ||
| 
						 | 
					df4c61861d | ||
| 53facbe9de | |||
| 
						 | 
					6c46804f41 | ||
| 
						 | 
					e9387a177e | ||
| 
						 | 
					ee885d42de | ||
| 
						 | 
					fbcae356d3 | ||
| 
						 | 
					f366e49c32 | ||
| 
						 | 
					ad861d3b45 | ||
| 
						 | 
					2bbf5d0687 | ||
| 
						 | 
					dd7a26e219 | ||
| 
						 | 
					7bb7a7cb6f | ||
| 
						 | 
					66487c9532 | ||
| 
						 | 
					f2042a29cc | ||
| 
						 | 
					dacef14214 | ||
| 
						 | 
					e064d5c65f | ||
| 
						 | 
					152b4a1b5d | ||
| 
						 | 
					e149367445 | ||
| 
						 | 
					cd70822994 | ||
| 
						 | 
					0d6e7de031 | ||
| 
						 | 
					b11b9ce788 | ||
| 
						 | 
					d4332e2faf | ||
| 
						 | 
					92e668e1d9 | ||
| 
						 | 
					3d911cd511 | ||
| 
						 | 
					ae23bedd24 | ||
| 
						 | 
					2995b7d0c8 | ||
| 
						 | 
					6e179f24ab | ||
| 
						 | 
					f8f93d4b91 | ||
| 
						 | 
					b6b43eb331 | ||
| 
						 | 
					300102897a | ||
| 
						 | 
					054eb351f1 | ||
| 
						 | 
					1b441e7654 | ||
| 
						 | 
					443021237a | ||
| 
						 | 
					a0977cb92e | ||
| 
						 | 
					b3c27bb164 | ||
| 
						 | 
					e00562e7cf | ||
| 
						 | 
					742260b55f | ||
| 
						 | 
					580ddc44f3 | ||
| 
						 | 
					4325f74f9d | ||
| 
						 | 
					6d00fdf8c8 | ||
| 
						 | 
					e26387656d | ||
| 
						 | 
					d7622624aa | ||
| 
						 | 
					282b478fd2 | ||
| 
						 | 
					904eef5fa5 | ||
| 
						 | 
					906ac99e20 | ||
| 
						 | 
					0b62639ad5 | ||
| 
						 | 
					54d2a76731 | ||
| 
						 | 
					e32a96be72 | ||
| 
						 | 
					73e94b84bb | ||
| 
						 | 
					82d3265ad5 | ||
| 
						 | 
					66bfe9be27 | ||
| 
						 | 
					83085e5231 | ||
| 
						 | 
					4c31107e3b | ||
| 
						 | 
					d8d6b4d70a | ||
| 
						 | 
					e021adeb4a | ||
| 
						 | 
					aa0395244d | ||
| 
						 | 
					3ab569ff78 | ||
| 
						 | 
					3a0bd28e0c | ||
| 
						 | 
					64d57ec71f | ||
| 
						 | 
					b407ba0c3a | ||
| 
						 | 
					e2785cc246 | ||
| 
						 | 
					029414581e | ||
| 
						 | 
					7cdde9b631 | ||
| 
						 | 
					8ed2c78de8 | ||
| 
						 | 
					043d09bbfe | ||
| 
						 | 
					df3468e957 | ||
| 
						 | 
					65bcbae8bc | ||
| 
						 | 
					64d6ae805c | ||
| 
						 | 
					221c6cd128 | ||
| 
						 | 
					cbe4815189 | ||
| 
						 | 
					a3f40a7479 | ||
| 
						 | 
					d725233bb1 | ||
| 
						 | 
					2436806fce | ||
| 
						 | 
					96bbb31cc8 | ||
| 
						 | 
					ce349dff81 | ||
| 
						 | 
					ad79f78fbe | ||
| 
						 | 
					e159c1a439 | ||
| 
						 | 
					f02dc1af57 | ||
| 
						 | 
					105e9658bb | ||
| 
						 | 
					948d9b3aa5 | ||
| 
						 | 
					79927ac73a | ||
| 
						 | 
					485ad9e704 | ||
| 
						 | 
					c7dcd21c9e | ||
| 
						 | 
					7ebb5e9dda | ||
| 
						 | 
					ff9b901394 | ||
| 
						 | 
					4b0ecffaca | ||
| 
						 | 
					87d39f5dd2 | ||
| 
						 | 
					cbcbedd694 | ||
| 
						 | 
					109864429c | ||
| 
						 | 
					b5d09e2da7 | ||
| 
						 | 
					fb903cb067 | ||
| 
						 | 
					6d5650eae7 | ||
| 
						 | 
					25d8db301d | ||
| 
						 | 
					63310f6403 | ||
| 
						 | 
					1d0bee6098 | ||
| 
						 | 
					9520f1be6f | ||
| 
						 | 
					cd703d3c3c | ||
| 
						 | 
					752f64f085 | ||
| 
						 | 
					00f1d92ed8 | ||
| 
						 | 
					34d4897d0e | ||
| 
						 | 
					3faaffe7e9 | ||
| 
						 | 
					34482cb325 | ||
| 
						 | 
					2cfd366ba6 | ||
| 
						 | 
					808d9d3579 | ||
| 
						 | 
					76388a8cd1 | ||
| 
						 | 
					6a8f1c6b16 | ||
| 
						 | 
					ba0cb8afd8 | ||
| 
						 | 
					46de6fef77 | ||
| 
						 | 
					37c61a058c | ||
| 
						 | 
					38fb41d66e | ||
| 
						 | 
					727f094b0f | ||
| 
						 | 
					8fa14ed72f | ||
| 
						 | 
					58bcc43bf9 | ||
| 
						 | 
					98f37b3c2f | ||
| 
						 | 
					a7fb175b20 | ||
| 
						 | 
					9c528efa60 | ||
| 
						 | 
					83ab314b77 | ||
| 
						 | 
					5ffc8a07f1 | ||
| 
						 | 
					cab4ac54ec | ||
| 
						 | 
					4c272a20f6 | ||
| 
						 | 
					5b244eeadb | ||
| 
						 | 
					3194442759 | ||
| 
						 | 
					9dfa8a67f6 | ||
| 
						 | 
					e6af5f2e91 | ||
| 
						 | 
					dd1133d32e | ||
| 
						 | 
					2f867d6f22 | ||
| 
						 | 
					24e5e49ff2 | ||
| 
						 | 
					730fc4690e | ||
| 
						 | 
					5e295b0835 | ||
| 
						 | 
					8d7e3e27c7 | ||
| 
						 | 
					a60499f933 | ||
| 
						 | 
					7b5196ca66 | ||
| 
						 | 
					3f556400e7 | ||
| 
						 | 
					b3c7d21d31 | ||
| 
						 | 
					591d087ccc | ||
| 
						 | 
					9b6bf4a7cd | ||
| 
						 | 
					19435b16ea | ||
| 
						 | 
					7e7124e84a | ||
| 
						 | 
					09fe5191e7 | ||
| 
						 | 
					0fc49ac4f0 | ||
| 
						 | 
					e364eac8f5 | ||
| 
						 | 
					9bdc1b35d5 | ||
| 
						 | 
					9f1a41de90 | ||
| 
						 | 
					d6276e8025 | ||
| 
						 | 
					8846db9d4d | ||
| 
						 | 
					eddbdd9416 | ||
| 
						 | 
					24b710f545 | ||
| 
						 | 
					a60fe47359 | ||
| 
						 | 
					17a59bada7 | ||
| 
						 | 
					ac628c9059 | ||
| 
						 | 
					bcbaea27af | ||
| 
						 | 
					608f291ad3 | ||
| 
						 | 
					2db7f62c2b | ||
| 
						 | 
					46e34d30b8 | ||
| 
						 | 
					cb4be65d29 | ||
| 
						 | 
					f236344fc8 | ||
| 
						 | 
					90071d3ad0 | ||
| 
						 | 
					c1a8fc0469 | ||
| 
						 | 
					b0c85eddf6 | ||
| 
						 | 
					04bfb5131b | ||
| 
						 | 
					19990c8025 | ||
| 
						 | 
					d25b251ef7 | ||
| 
						 | 
					0f3a5f745e | ||
| 
						 | 
					ebae698f70 | ||
| 
						 | 
					d69070268a | ||
| 
						 | 
					86de7a8d2e | ||
| 
						 | 
					1221e4030d | ||
| 
						 | 
					17bc7530ba | ||
| 
						 | 
					aad91beb3c | ||
| 
						 | 
					2a75fba6a8 | ||
| 
						 | 
					6e1f4ddd19 | ||
| 
						 | 
					7d109fb3fa | ||
| 
						 | 
					899c176942 | ||
| 
						 | 
					3f99519021 | ||
| 
						 | 
					e3520b737f | ||
| 
						 | 
					db48a22c74 | ||
| 
						 | 
					e6136a517b | ||
| 
						 | 
					7d5beeab51 | ||
| 
						 | 
					a70bce3ea6 | ||
| 
						 | 
					75a60bc7bf | ||
| 
						 | 
					5cd3380d9d | ||
| 
						 | 
					c6124d4d37 | ||
| 
						 | 
					09b333eb41 | ||
| 
						 | 
					a876890afd | ||
| 
						 | 
					dbe9a5ea28 | ||
| 
						 | 
					5ef10f7658 | ||
| 
						 | 
					87868441eb | ||
| 
						 | 
					eb47b45a0d | ||
| 
						 | 
					a4ff6acd56 | ||
| 
						 | 
					e52523204b | ||
| 
						 | 
					961326f8e9 | ||
| 
						 | 
					7fe28574a8 | ||
| 
						 | 
					d101b0a319 | ||
| 
						 | 
					f8f4953dce | ||
| 
						 | 
					7c172fc9a7 | ||
| 
						 | 
					ecc34e0051 | ||
| 
						 | 
					1c041c0433 | ||
| 
						 | 
					d9a1380263 | ||
| 
						 | 
					a75c63768c | ||
| 
						 | 
					a0541ce7a5 | ||
| 
						 | 
					2f20a80f72 | ||
| 
						 | 
					5bcc223e95 | ||
| 
						 | 
					14670f40f0 | ||
| 
						 | 
					7ae7a0266c | ||
| 
						 | 
					08e39a587f | ||
| 
						 | 
					658fffb3a6 | ||
| 
						 | 
					6975b119b6 | ||
| 
						 | 
					d02c2951b3 | ||
| 
						 | 
					871b15663c | ||
| 
						 | 
					42d9b78907 | ||
| 
						 | 
					2794f95d3e | ||
| 
						 | 
					46a1ffaf7e | ||
| 
						 | 
					3d7a8c2870 | ||
| 
						 | 
					1050a0a290 | ||
| 
						 | 
					723b3812e1 | ||
| 
						 | 
					7c509a264f | ||
| 
						 | 
					850ad42c96 | ||
| 
						 | 
					4f87376b50 | ||
| 
						 | 
					876f426581 | ||
| 
						 | 
					f15557159a | ||
| 
						 | 
					81b41d2367 | ||
| 
						 | 
					cf7d3cffbd | ||
| 
						 | 
					fb37539f43 | ||
| 
						 | 
					7242b4ed49 | ||
| 
						 | 
					c38c2dd909 | ||
| 
						 | 
					600b4cc9e6 | ||
| 
						 | 
					38f0d2f34e | ||
| 
						 | 
					40853f23c2 | ||
| 
						 | 
					a622652f73 | ||
| 
						 | 
					a8ce3da782 | ||
| 
						 | 
					19d11ab1d0 | ||
| 
						 | 
					e606b09c9e | ||
| 
						 | 
					d035e4cf1e | ||
| 
						 | 
					8a4333103d | ||
| 
						 | 
					bb168c5881 | ||
| 
						 | 
					7c64584629 | ||
| 
						 | 
					7011031a87 | ||
| 
						 | 
					2e20eb8571 | ||
| 
						 | 
					5c0e68f75f | ||
| 
						 | 
					1c0f95c08e | ||
| 
						 | 
					fb6f3f7ee9 | ||
| 
						 | 
					95036c908c | ||
| 
						 | 
					9a70a1675c | ||
| 
						 | 
					8655cd543b | ||
| 
						 | 
					60c433d4ce | ||
| 
						 | 
					b963484fe7 | ||
| 
						 | 
					ee249e50ee | ||
| 
						 | 
					412af29808 | ||
| 
						 | 
					94708f6b50 | ||
| 
						 | 
					8dafaae5a4 | ||
| 
						 | 
					e413ef5a97 | ||
| 
						 | 
					909006638d | ||
| 
						 | 
					464a8d20a1 | ||
| 
						 | 
					95d19b37c1 | ||
| 
						 | 
					c0049855c5 | ||
| 
						 | 
					27c2ccd8b9 | ||
| 
						 | 
					fd0b627a8b | ||
| 
						 | 
					076e29e97d | ||
| 
						 | 
					013668f484 | ||
| 
						 | 
					ddfc870f9a | ||
| 
						 | 
					65b05c0220 | ||
| 
						 | 
					12d48dfcf9 | ||
| 
						 | 
					fb689449a7 | ||
| 
						 | 
					483447082b | ||
| 
						 | 
					2c1ad5bed1 | ||
| 
						 | 
					4e35f701ca | ||
| 
						 | 
					3a6ae0fc6c | ||
| 
						 | 
					dcd8596192 | ||
| 
						 | 
					a7729561e8 | ||
| 
						 | 
					5271af8180 | ||
| 
						 | 
					8913bcccd2 | ||
| 
						 | 
					2ba060a426 | ||
| 
						 | 
					8820b71f37 | ||
| 
						 | 
					0be0ff565a | ||
| 
						 | 
					7346efd206 | ||
| 
						 | 
					b38ced856a | ||
| 
						 | 
					4f19700919 | ||
| 
						 | 
					c8b8397728 | ||
| 
						 | 
					8bd720b0c7 | ||
| 
						 | 
					38baf39513 | ||
| 
						 | 
					e36eed9c8a | ||
| 
						 | 
					64aa907087 | ||
| 
						 | 
					7227c4f0be | ||
| 
						 | 
					2ad1b2f5b1 | ||
| 
						 | 
					a7e4b447b3 | ||
| 
						 | 
					02b3d329ac | ||
| 
						 | 
					e641c2111a | ||
| 
						 | 
					165879d4b3 | ||
| 
						 | 
					de9ed0610b | ||
| 
						 | 
					c05fbedd8d | ||
| 
						 | 
					e137068cac | 
							
								
								
									
										9
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					[*]
 | 
				
			||||||
 | 
					end_of_line = lf
 | 
				
			||||||
 | 
					insert_final_newline = true
 | 
				
			||||||
 | 
					indent_style = space
 | 
				
			||||||
 | 
					indent_size = 2
 | 
				
			||||||
 | 
					trim_trailing_whitespace = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[{.gitattributes,.gitignore,.gitmodules}]
 | 
				
			||||||
 | 
					indent_style = tab
 | 
				
			||||||
							
								
								
									
										24
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.github/ISSUE_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					<!-- Please check if a similar issue already exists or has been closed before before opening your issue. -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Description
 | 
				
			||||||
 | 
					<!-- Provide a general description of the bug or feature -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Expected behavior
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- What you expected to happen -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Actual behavior
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- What actually happened -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Steps to Reproduce
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. [First Step]
 | 
				
			||||||
 | 
					2. [Second Step]
 | 
				
			||||||
 | 
					3. [and so on...]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Versions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Prezto commit:
 | 
				
			||||||
 | 
					  - ZSH version:
 | 
				
			||||||
 | 
					  - OS information:
 | 
				
			||||||
							
								
								
									
										10
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					Please be sure to check out our [contributing guidelines](https://github.com/sorin-ionescu/prezto/blob/master/CONTRIBUTING.md)
 | 
				
			||||||
 | 
					before submitting your pull request.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fixes #
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Proposed Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  -
 | 
				
			||||||
 | 
					  -
 | 
				
			||||||
 | 
					  -
 | 
				
			||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,4 @@
 | 
				
			|||||||
*.zwc
 | 
					*.zwc
 | 
				
			||||||
*.zwc.old
 | 
					*.zwc.old
 | 
				
			||||||
modules/*/cache.zsh
 | 
					modules/*/cache.zsh
 | 
				
			||||||
 | 
					contrib
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,6 @@
 | 
				
			|||||||
 | 
					[submodule "modules/autosuggestions/external"]
 | 
				
			||||||
 | 
						path = modules/autosuggestions/external
 | 
				
			||||||
 | 
						url = https://github.com/zsh-users/zsh-autosuggestions.git
 | 
				
			||||||
[submodule "modules/history-substring-search/external"]
 | 
					[submodule "modules/history-substring-search/external"]
 | 
				
			||||||
	path = modules/history-substring-search/external
 | 
						path = modules/history-substring-search/external
 | 
				
			||||||
	url = https://github.com/zsh-users/zsh-history-substring-search.git
 | 
						url = https://github.com/zsh-users/zsh-history-substring-search.git
 | 
				
			||||||
@@ -12,7 +15,17 @@
 | 
				
			|||||||
	url = https://github.com/davidjrice/prezto_powerline.git
 | 
						url = https://github.com/davidjrice/prezto_powerline.git
 | 
				
			||||||
[submodule "modules/prompt/external/agnoster"]
 | 
					[submodule "modules/prompt/external/agnoster"]
 | 
				
			||||||
	path = modules/prompt/external/agnoster
 | 
						path = modules/prompt/external/agnoster
 | 
				
			||||||
	url = https://gist.github.com/3712874.git
 | 
						url = https://github.com/agnoster/agnoster-zsh-theme.git
 | 
				
			||||||
[submodule "modules/prompt/functions/pure"]
 | 
					[submodule "modules/prompt/external/pure"]
 | 
				
			||||||
	path = modules/prompt/external/pure
 | 
						path = modules/prompt/external/pure
 | 
				
			||||||
	url = https://github.com/sindresorhus/pure.git
 | 
						url = https://github.com/sindresorhus/pure.git
 | 
				
			||||||
 | 
					[submodule "modules/fasd/external"]
 | 
				
			||||||
 | 
						path = modules/fasd/external
 | 
				
			||||||
 | 
						url = https://github.com/clvv/fasd.git
 | 
				
			||||||
 | 
					[submodule "modules/prompt/external/async"]
 | 
				
			||||||
 | 
						path = modules/prompt/external/async
 | 
				
			||||||
 | 
						url = https://github.com/mafredri/zsh-async.git
 | 
				
			||||||
 | 
					[submodule "modules/prompt/external/powerlevel10k"]
 | 
				
			||||||
 | 
						path = modules/prompt/external/powerlevel10k
 | 
				
			||||||
 | 
						url = https://github.com/romkatv/powerlevel10k.git
 | 
				
			||||||
 | 
						shallow = true
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,41 +1,74 @@
 | 
				
			|||||||
Contributing
 | 
					# Contributing
 | 
				
			||||||
------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
This project would not exist without all of its users and [contributors][1].
 | 
					This project would not exist without all of its users and [contributors][1].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you have ideas on how to make the configuration easier to maintain or
 | 
					If you have ideas on how to make the configuration easier to maintain or
 | 
				
			||||||
improve its performance, do not hesitate to fork and send pull requests.
 | 
					improve its performance, do not hesitate to fork and send pull requests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Issue Reporting
 | 
					## Issue Reporting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - Check that the issue has not already been reported.
 | 
					- Check that the issue has not already been reported.
 | 
				
			||||||
   - Check that the issue has not already been fixed in the latest code.
 | 
					- Check that the issue has not already been fixed in the latest code.
 | 
				
			||||||
   - Open an issue with a clear title and description in grammatically correct,
 | 
					- Open an issue with a clear title and description in grammatically correct,
 | 
				
			||||||
  complete sentences.
 | 
					  complete sentences.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Pull Request
 | 
					## Pull Request
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - Read [how to properly contribute to open source projects on GitHub][2].
 | 
					- Read [how to properly contribute to open source projects on GitHub][2].
 | 
				
			||||||
   - Use a topic branch to easily amend a pull request later, if necessary.
 | 
					- Use a topic branch to easily amend a pull request later, if necessary.
 | 
				
			||||||
   - Write [good commit messages][3].
 | 
					- Write [good commit messages][3].
 | 
				
			||||||
   - Squash commits on the topic branch before opening a pull request.
 | 
					- Squash commits on the topic branch before opening a pull request.
 | 
				
			||||||
   - Use the same coding style and spacing.
 | 
					- Use the same coding style and spacing.
 | 
				
			||||||
   - Open a [pull request][4] that relates to but one subject with a clear
 | 
					- Open a [pull request][4] that relates to but one subject with a clear title
 | 
				
			||||||
     title and description in grammatically correct, complete sentences.
 | 
					  and description in grammatically correct, complete sentences.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Modules
 | 
					### Code Style
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - A *README.md* must be present.
 | 
					This project follows the [Google Shell Style Guide][5] when possible. However,
 | 
				
			||||||
   - Large functions must be placed in a *functions* directory.
 | 
					there are a number of additional things to keep in mind.
 | 
				
			||||||
   - Functions that take arguments must have completion.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### Themes
 | 
					- Local variables should be used whenever possible.
 | 
				
			||||||
 | 
					- Prefer `zstyle` over environment variables for configuration.
 | 
				
			||||||
 | 
					- Prefer (( ... )) over [[ ... ]] for arithmetic expression.
 | 
				
			||||||
 | 
					- Use the function keyword to define functions.
 | 
				
			||||||
 | 
					- The 80 character hard limit can be waived for readability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   - A screenshots section must be present in the file header.
 | 
					### Using an Alternative *zprezto* Directory
 | 
				
			||||||
   - The pull request description must have [embedded screenshots][5].
 | 
					
 | 
				
			||||||
 | 
					To work on Prezto without affecting your current configuration:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					mkdir devel-zprezto
 | 
				
			||||||
 | 
					cd devel-zprezto
 | 
				
			||||||
 | 
					git clone --recursive https://github.com/sorin-ionescu/prezto.git .zprezto
 | 
				
			||||||
 | 
					ZDOTDIR=$(pwd)
 | 
				
			||||||
 | 
					echo "Your development ZDOTDIR is $ZDOTDIR"
 | 
				
			||||||
 | 
					setopt EXTENDED_GLOB
 | 
				
			||||||
 | 
					for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
 | 
				
			||||||
 | 
					    ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Then to start zsh in this development environment you will run:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```console
 | 
				
			||||||
 | 
					ZDOTDIR=/path/to/devel-zprezto zsh
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- A *README.md* must be present.
 | 
				
			||||||
 | 
					- Large functions must be placed in a *functions* directory.
 | 
				
			||||||
 | 
					- Functions that take arguments must have completion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Themes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- A screenshots section must be present in the file header.
 | 
				
			||||||
 | 
					- The pull request description must have [embedded screenshots][6].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/contributors
 | 
					[1]: https://github.com/sorin-ionescu/prezto/contributors
 | 
				
			||||||
[2]: http://gun.io/blog/how-to-github-fork-branch-and-pull-request
 | 
					[2]: https://gun.io/blog/how-to-github-fork-branch-and-pull-request
 | 
				
			||||||
[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
 | 
					[3]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
 | 
				
			||||||
[4]: https://help.github.com/articles/using-pull-requests
 | 
					[4]: https://help.github.com/articles/using-pull-requests
 | 
				
			||||||
[5]: http://daringfireball.net/projects/markdown/syntax#img
 | 
					[5]: https://google.github.io/styleguide/shell.xml
 | 
				
			||||||
 | 
					[6]: https://github.github.com/gfm/#images
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								INSTALL.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								INSTALL.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					# Install and update
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```bash
 | 
				
			||||||
 | 
					git clone https://github.com/dcarrillo/prezto.git ~/.zprezto
 | 
				
			||||||
 | 
					cd ~/.zprezto
 | 
				
			||||||
 | 
					git remote add upstream https://github.com/sorin-ionescu/prezto.git
 | 
				
			||||||
 | 
					git submodule update --init --recursive
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Keep updated
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Run the [update](scripts/update_zprezto) script.
 | 
				
			||||||
							
								
								
									
										20
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					Copyright (c) 2009-2011 Robby Russell and contributors
 | 
				
			||||||
 | 
					Copyright (c) 2011-2017 Sorin Ionescu and contributors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					the Software without restriction, including without limitation the rights to
 | 
				
			||||||
 | 
					use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 | 
				
			||||||
 | 
					of the Software, and to permit persons to whom the Software is furnished to do
 | 
				
			||||||
 | 
					so, subject to the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be included in all
 | 
				
			||||||
 | 
					copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
				
			||||||
 | 
					SOFTWARE
 | 
				
			||||||
							
								
								
									
										187
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										187
									
								
								README.md
									
									
									
									
									
								
							@@ -1,117 +1,168 @@
 | 
				
			|||||||
Prezto — Instantly Awesome Zsh
 | 
					# Prezto — Instantly Awesome Zsh
 | 
				
			||||||
==============================
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Prezto is the configuration framework for [Zsh][1]; it enriches the command line
 | 
					Prezto is the configuration framework for [Zsh][1]; it enriches the command line
 | 
				
			||||||
interface environment with sane defaults, aliases, functions, auto completion,
 | 
					interface environment with sane defaults, aliases, functions, auto completion,
 | 
				
			||||||
and prompt themes.
 | 
					and prompt themes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Installation
 | 
					## Installation
 | 
				
			||||||
------------
 | 
					
 | 
				
			||||||
 | 
					### Manual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Prezto will work with any recent release of Zsh, but the minimum required
 | 
					Prezto will work with any recent release of Zsh, but the minimum required
 | 
				
			||||||
version is 4.3.17.
 | 
					version is **4.3.11**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  1. Launch Zsh:
 | 
					01. Launch Zsh:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ```console
 | 
				
			||||||
    zsh
 | 
					    zsh
 | 
				
			||||||
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  2. Clone the repository:
 | 
					02. Clone the repository:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ```console
 | 
				
			||||||
    git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
 | 
					    git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
 | 
				
			||||||
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  3. Create a new Zsh configuration by copying the Zsh configuration files
 | 
					    <details>
 | 
				
			||||||
     provided:
 | 
					      <summary><em>Optional: Installing in <code>$XDG_CONFIG_HOME</code></em></summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      Optionally, if you already have `$XDG_CONFIG_HOME` configured (usually as
 | 
				
			||||||
 | 
					      _`$HOME/.config`_ by default) and intend to install Prezto under
 | 
				
			||||||
 | 
					      _`$XDG_CONFIG_HOME/zsh`_ instead, you can clone the repository there and
 | 
				
			||||||
 | 
					      configure `$ZDOTDIR` separately if not already configured.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - Clone the repository:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ```console
 | 
				
			||||||
 | 
					        git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-${XDG_CONFIG_HOME:-$HOME/.config}/zsh}/.zprezto"
 | 
				
			||||||
 | 
					        ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - Configure `$XDG_CONFIG_HOME` and `$ZDOTDIR` in _`$HOME/.zshenv`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        ```sh
 | 
				
			||||||
 | 
					        export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:=$HOME/.config}"
 | 
				
			||||||
 | 
					        export ZDOTDIR="${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}"
 | 
				
			||||||
 | 
					        source "$ZDOTDIR/.zshenv"
 | 
				
			||||||
 | 
					        ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    </details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					03. Create a new Zsh configuration by copying/linking the Zsh configuration
 | 
				
			||||||
 | 
					    files provided:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ```console
 | 
				
			||||||
    setopt EXTENDED_GLOB
 | 
					    setopt EXTENDED_GLOB
 | 
				
			||||||
    for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
 | 
					    for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
 | 
				
			||||||
      ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
 | 
					      ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  4. Set Zsh as your default shell:
 | 
					    **Note:** If you already have any of the given configuration files, `ln` in
 | 
				
			||||||
 | 
					    the above operation will cause an error. In simple cases, you can load
 | 
				
			||||||
 | 
					    Prezto by adding the line `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to
 | 
				
			||||||
 | 
					    the bottom of your _`${ZDOTDIR:-$HOME}/.zshrc`_ and keep the rest of your
 | 
				
			||||||
 | 
					    Zsh configuration intact. For more complicated setups, we recommend that you
 | 
				
			||||||
 | 
					    back up your original configs and replace them with the provided Prezto
 | 
				
			||||||
 | 
					    [_`runcoms`_][10].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					04. Set Zsh as your default shell:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ```console
 | 
				
			||||||
    chsh -s /bin/zsh
 | 
					    chsh -s /bin/zsh
 | 
				
			||||||
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  5. Open a new Zsh terminal window or tab.
 | 
					05. Open a new Zsh terminal window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### [Fig](https://fig.io)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fig adds apps, shortcuts, and autocomplete to your existing terminal.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Install `prezto` in just one click.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<a href="https://fig.io/plugins/other/prezto" target="_blank"><img src="https://fig.io/badges/install-with-fig.svg" /></a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 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
 | 
				
			||||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
 | 
					the `PATH` variable in _`${ZDOTDIR:-$HOME}/.zprofile`_ then open a new Zsh
 | 
				
			||||||
window or tab.
 | 
					terminal window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Updating
 | 
					## Updating
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Pull the latest changes and update submodules.
 | 
					Run `zprezto-update` to automatically check if there is an update to Prezto.
 | 
				
			||||||
 | 
					If there are no file conflicts, Prezto and its submodules will be automatically
 | 
				
			||||||
 | 
					updated. If there are conflicts you will be instructed to go into the
 | 
				
			||||||
 | 
					`$ZPREZTODIR` directory and resolve them yourself.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    git pull && git submodule update --init --recursive
 | 
					To pull the latest changes and update submodules manually:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Usage
 | 
					```console
 | 
				
			||||||
-----
 | 
					cd $ZPREZTODIR
 | 
				
			||||||
 | 
					git pull
 | 
				
			||||||
 | 
					git submodule sync --recursive
 | 
				
			||||||
 | 
					git submodule update --init --recursive
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Prezto has many features disabled by default. Read the source code and
 | 
					## Usage
 | 
				
			||||||
accompanying README files to learn of what is available.
 | 
					
 | 
				
			||||||
 | 
					Prezto has many features disabled by default. Read the source code and the
 | 
				
			||||||
 | 
					accompanying README files to learn about what is available.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Modules
 | 
					### Modules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  1. Browse */modules* to see what is available.
 | 
					01. Browse [_`modules`_][9] to see what is available.
 | 
				
			||||||
  2. Load the modules you need in *~/.zpreztorc* then open a new Zsh terminal
 | 
					02. Load the modules you need in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then open
 | 
				
			||||||
     window or tab.
 | 
					    a new Zsh terminal window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Themes
 | 
					### Themes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  1. For a list of themes, type `prompt -l`.
 | 
					01. For a list of themes, type `prompt -l`.
 | 
				
			||||||
  2. To preview a theme, type `prompt -p name`.
 | 
					02. To preview a theme, type `prompt -p name`.
 | 
				
			||||||
  3. Load the theme you like in *~/.zpreztorc* then open a new Zsh terminal
 | 
					03. Load the theme you like in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ and then
 | 
				
			||||||
     window or tab.
 | 
					    open a new Zsh terminal window or tab.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ![sorin theme][2]
 | 
					    ![sorin theme][2]
 | 
				
			||||||
 | 
					    Note that the [_`git`_][11] module may be required for special symbols to
 | 
				
			||||||
 | 
					    appear, such as those on the right of the above image. Add `'git'` to the
 | 
				
			||||||
 | 
					    `pmodule` list (under `zstyle ':prezto:load' pmodule \` in your
 | 
				
			||||||
 | 
					    _`${ZDOTDIR:-$HOME}/.zpreztorc`_) to enable this module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Customization
 | 
					### External Modules
 | 
				
			||||||
-------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
The project is managed via [Git][3]. It is highly recommended that you fork this
 | 
					01. By default modules will be loaded from [_`/modules`_][9] and _`/contrib`_.
 | 
				
			||||||
project; so, that you can commit your changes and push them to [GitHub][4] to
 | 
					02. Additional module directories can be added to the
 | 
				
			||||||
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
 | 
					    `:prezto:load:pmodule-dirs` setting in _`${ZDOTDIR:-$HOME}/.zpreztorc`_.
 | 
				
			||||||
bookmark this [reference][6].
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Resources
 | 
					    Note that module names need to be unique or they will cause an error when
 | 
				
			||||||
---------
 | 
					    loading.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ```sh
 | 
				
			||||||
 | 
					    zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
 | 
				
			||||||
 | 
					    ```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Customization
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The project is managed via [Git][3]. We highly recommend that you fork this
 | 
				
			||||||
 | 
					project so that you can commit your changes and push them to your fork on
 | 
				
			||||||
 | 
					[GitHub][4] to preserve them. If you do not know how to use Git, follow this
 | 
				
			||||||
 | 
					[tutorial][5] and bookmark this [reference][6].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
 | 
					The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
License
 | 
					## License
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
(The MIT License)
 | 
					This project is licensed under the MIT License.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copyright (c) 2009-2011 Robby Russell and contributors.
 | 
					[1]: https://www.zsh.org
 | 
				
			||||||
 | 
					[2]: https://i.imgur.com/nrGV6pg.png "sorin theme"
 | 
				
			||||||
Copyright (c) 2011-2015 Sorin Ionescu and contributors.
 | 
					[3]: https://git-scm.com
 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
the Software without restriction, including without limitation the rights to
 | 
					 | 
				
			||||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
 | 
					 | 
				
			||||||
of the Software, and to permit persons to whom the Software is furnished to do
 | 
					 | 
				
			||||||
so, subject to the following conditions:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The above copyright notice and this permission notice shall be included in all
 | 
					 | 
				
			||||||
copies or substantial portions of the Software.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
					 | 
				
			||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
					 | 
				
			||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
					 | 
				
			||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
					 | 
				
			||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
					 | 
				
			||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
					 | 
				
			||||||
SOFTWARE.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[1]: http://www.zsh.org
 | 
					 | 
				
			||||||
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
 | 
					 | 
				
			||||||
[3]: http://git-scm.com
 | 
					 | 
				
			||||||
[4]: https://github.com
 | 
					[4]: https://github.com
 | 
				
			||||||
[5]: http://gitimmersion.com
 | 
					[5]: https://gitimmersion.com
 | 
				
			||||||
[6]: http://gitref.org
 | 
					[6]: https://git.github.io/git-reference/
 | 
				
			||||||
[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]: https://grml.org/zsh/zsh-lovers.html
 | 
				
			||||||
 | 
					[9]: modules#readme
 | 
				
			||||||
 | 
					[10]: runcoms#readme
 | 
				
			||||||
 | 
					[11]: modules/git#readme
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										118
									
								
								init.zsh
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								init.zsh
									
									
									
									
									
								
							@@ -10,13 +10,62 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Check for the minimum supported version.
 | 
					# Check for the minimum supported version.
 | 
				
			||||||
min_zsh_version='4.3.17'
 | 
					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
 | 
					  printf "prezto: old shell detected, minimum required: %s\n" "$min_zsh_version" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
unset min_zsh_version
 | 
					unset min_zsh_version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# zprezto convenience updater
 | 
				
			||||||
 | 
					# The function is surrounded by ( ) instead of { } so it starts in a subshell
 | 
				
			||||||
 | 
					# and won't affect the environment of the calling shell
 | 
				
			||||||
 | 
					function zprezto-update {
 | 
				
			||||||
 | 
					  (
 | 
				
			||||||
 | 
					    function cannot-fast-forward {
 | 
				
			||||||
 | 
					      local STATUS="$1"
 | 
				
			||||||
 | 
					      [[ -n "${STATUS}" ]] && printf "%s\n" "${STATUS}"
 | 
				
			||||||
 | 
					      printf "Unable to fast-forward the changes. You can fix this by "
 | 
				
			||||||
 | 
					      printf "running\ncd '%s' and then\n'git pull' " "${ZPREZTODIR}"
 | 
				
			||||||
 | 
					      printf "to manually pull and possibly merge in changes\n"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    cd -q -- "${ZPREZTODIR}" || return 7
 | 
				
			||||||
 | 
					    local orig_branch="$(git symbolic-ref HEAD 2> /dev/null | cut -d '/' -f 3)"
 | 
				
			||||||
 | 
					    if [[ "$orig_branch" == "master" ]]; then
 | 
				
			||||||
 | 
					      git fetch || return "$?"
 | 
				
			||||||
 | 
					      local UPSTREAM=$(git rev-parse '@{u}')
 | 
				
			||||||
 | 
					      local LOCAL=$(git rev-parse HEAD)
 | 
				
			||||||
 | 
					      local REMOTE=$(git rev-parse "$UPSTREAM")
 | 
				
			||||||
 | 
					      local BASE=$(git merge-base HEAD "$UPSTREAM")
 | 
				
			||||||
 | 
					      if [[ $LOCAL == $REMOTE ]]; then
 | 
				
			||||||
 | 
					        printf "There are no updates.\n"
 | 
				
			||||||
 | 
					        return 0
 | 
				
			||||||
 | 
					      elif [[ $LOCAL == $BASE ]]; then
 | 
				
			||||||
 | 
					        printf "There is an update available. Trying to pull.\n\n"
 | 
				
			||||||
 | 
					        if git pull --ff-only; then
 | 
				
			||||||
 | 
					          printf "Syncing submodules\n"
 | 
				
			||||||
 | 
					          git submodule sync --recursive
 | 
				
			||||||
 | 
					          git submodule update --init --recursive
 | 
				
			||||||
 | 
					          return $?
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          cannot-fast-forward
 | 
				
			||||||
 | 
					          return 1
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					      elif [[ $REMOTE == $BASE ]]; then
 | 
				
			||||||
 | 
					        cannot-fast-forward "Commits in master that aren't in upstream."
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        cannot-fast-forward "Upstream and local have diverged."
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      printf "zprezto install at '%s' is not on the master branch " "${ZPREZTODIR}"
 | 
				
			||||||
 | 
					      printf "(you're on '%s')\nUnable to automatically update.\n" "${orig_branch}"
 | 
				
			||||||
 | 
					      return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Module Loader
 | 
					# Module Loader
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -24,14 +73,46 @@ unset min_zsh_version
 | 
				
			|||||||
# Loads Prezto modules.
 | 
					# Loads Prezto modules.
 | 
				
			||||||
function pmodload {
 | 
					function pmodload {
 | 
				
			||||||
  local -a pmodules
 | 
					  local -a pmodules
 | 
				
			||||||
 | 
					  local -a pmodule_dirs
 | 
				
			||||||
 | 
					  local -a locations
 | 
				
			||||||
  local pmodule
 | 
					  local pmodule
 | 
				
			||||||
  local pfunction_glob='^([_.]*|prompt_*_setup|README*)(-.N:t)'
 | 
					  local pmodule_location
 | 
				
			||||||
 | 
					  local pfunction_glob='^([_.]*|prompt_*_setup|README*|*~)(-.N:t)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Load in any additional directories and warn if they don't exist
 | 
				
			||||||
 | 
					  zstyle -a ':prezto:load' pmodule-dirs 'user_pmodule_dirs'
 | 
				
			||||||
 | 
					  for user_dir in "$user_pmodule_dirs[@]"; do
 | 
				
			||||||
 | 
					    if [[ ! -d "$user_dir" ]]; then
 | 
				
			||||||
 | 
					      echo "$0: Missing user module dir: $user_dir"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pmodule_dirs=("$ZPREZTODIR/modules" "$ZPREZTODIR/contrib" "$user_pmodule_dirs[@]")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # $argv is overridden in the anonymous function.
 | 
					  # $argv is overridden in the anonymous function.
 | 
				
			||||||
  pmodules=("$argv[@]")
 | 
					  pmodules=("$argv[@]")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Load Prezto modules.
 | 
				
			||||||
 | 
					  for pmodule in "$pmodules[@]"; do
 | 
				
			||||||
 | 
					    if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
 | 
				
			||||||
 | 
					      continue
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
 | 
				
			||||||
 | 
					      if (( ${#locations} > 1 )); then
 | 
				
			||||||
 | 
					        if ! zstyle -t ':prezto:load' pmodule-allow-overrides 'yes'; then
 | 
				
			||||||
 | 
					          print "$0: conflicting module locations: $locations"
 | 
				
			||||||
 | 
					          continue
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					      elif (( ${#locations} < 1 )); then
 | 
				
			||||||
 | 
					        print "$0: no such module: $pmodule"
 | 
				
			||||||
 | 
					        continue
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Grab the full path to this module
 | 
				
			||||||
 | 
					      pmodule_location=${locations[-1]}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Add functions to $fpath.
 | 
					      # Add functions to $fpath.
 | 
				
			||||||
  fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
 | 
					      fpath=(${pmodule_location}/functions(-/FN) $fpath)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      function {
 | 
					      function {
 | 
				
			||||||
        local pfunction
 | 
					        local pfunction
 | 
				
			||||||
@@ -40,28 +121,22 @@ function pmodload {
 | 
				
			|||||||
        setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
					        setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Load Prezto functions.
 | 
					        # Load Prezto functions.
 | 
				
			||||||
    for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
 | 
					        for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
 | 
				
			||||||
          autoload -Uz "$pfunction"
 | 
					          autoload -Uz "$pfunction"
 | 
				
			||||||
        done
 | 
					        done
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Load Prezto modules.
 | 
					      if [[ -s "${pmodule_location}/init.zsh" ]]; then
 | 
				
			||||||
  for pmodule in "$pmodules[@]"; do
 | 
					        source "${pmodule_location}/init.zsh"
 | 
				
			||||||
    if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
 | 
					      elif [[ -s "${pmodule_location}/${pmodule}.plugin.zsh" ]]; then
 | 
				
			||||||
      continue
 | 
					        source "${pmodule_location}/${pmodule}.plugin.zsh"
 | 
				
			||||||
    elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
 | 
					 | 
				
			||||||
      print "$0: no such module: $pmodule" >&2
 | 
					 | 
				
			||||||
      continue
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
 | 
					 | 
				
			||||||
        source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
 | 
					 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (( $? == 0 )); then
 | 
					      if (( $? == 0 )); then
 | 
				
			||||||
        zstyle ":prezto:module:$pmodule" loaded 'yes'
 | 
					        zstyle ":prezto:module:$pmodule" loaded 'yes'
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        # Remove the $fpath entry.
 | 
					        # Remove the $fpath entry.
 | 
				
			||||||
        fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
 | 
					        fpath[(r)${pmodule_location}/functions]=()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        function {
 | 
					        function {
 | 
				
			||||||
          local pfunction
 | 
					          local pfunction
 | 
				
			||||||
@@ -71,7 +146,7 @@ function pmodload {
 | 
				
			|||||||
          setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
					          setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          # Unload Prezto functions.
 | 
					          # Unload Prezto functions.
 | 
				
			||||||
          for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/functions/$~pfunction_glob; do
 | 
					          for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
 | 
				
			||||||
            unfunction "$pfunction"
 | 
					            unfunction "$pfunction"
 | 
				
			||||||
          done
 | 
					          done
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -86,6 +161,12 @@ function pmodload {
 | 
				
			|||||||
# Prezto Initialization
 | 
					# Prezto Initialization
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This finds the directory prezto is installed to so plugin managers don't need
 | 
				
			||||||
 | 
					# to rely on dirty hacks to force prezto into a directory. Additionally, it
 | 
				
			||||||
 | 
					# needs to be done here because inside the pmodload function ${0:h} evaluates to
 | 
				
			||||||
 | 
					# the current directory of the shell rather than the prezto dir.
 | 
				
			||||||
 | 
					ZPREZTODIR=${0:h}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source the Prezto configuration file.
 | 
					# Source the Prezto configuration file.
 | 
				
			||||||
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
 | 
					if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
 | 
				
			||||||
  source "${ZDOTDIR:-$HOME}/.zpreztorc"
 | 
					  source "${ZDOTDIR:-$HOME}/.zpreztorc"
 | 
				
			||||||
@@ -102,6 +183,9 @@ zstyle -a ':prezto:load' zmodule 'zmodules'
 | 
				
			|||||||
for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}"
 | 
					for zmodule ("$zmodules[@]") zmodload "zsh/${(z)zmodule}"
 | 
				
			||||||
unset zmodule{s,}
 | 
					unset zmodule{s,}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load more specific 'run-help' function from $fpath.
 | 
				
			||||||
 | 
					(( $+aliases[run-help] )) && unalias run-help && autoload -Uz run-help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Autoload Zsh functions.
 | 
					# Autoload Zsh functions.
 | 
				
			||||||
zstyle -a ':prezto:load' zfunction 'zfunctions'
 | 
					zstyle -a ':prezto:load' zfunction 'zfunctions'
 | 
				
			||||||
for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction"
 | 
					for zfunction ("$zfunctions[@]") autoload -Uz "$zfunction"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,199 +1,166 @@
 | 
				
			|||||||
Modules
 | 
					# Modules
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Load modules in *zpreztorc*. The order matters.
 | 
					Load modules in _`${ZDOTDIR:-$HOME}/.zpreztorc`_. The order matters.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:load' pmodule 'environment' 'terminal'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:load' pmodule 'environment' 'terminal'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Archive
 | 
					## Archive
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides functions to list and extract archives.
 | 
					Provides functions to list and extract archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Command-Not-Found
 | 
					## Autosuggestions
 | 
				
			||||||
-----------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loads the command-not-found tool on Debian-based distributions.
 | 
					Integrates zsh-autosuggestions into Prezto.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Completion
 | 
					## Command-Not-Found
 | 
				
			||||||
----------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loads and configures tab completion and provides additional completions from
 | 
					Loads the command-not-found tool on macOS or Debian-based distributions.
 | 
				
			||||||
the zsh-completions project.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Directory
 | 
					## Completion
 | 
				
			||||||
---------
 | 
					
 | 
				
			||||||
 | 
					Loads and configures <kbd>TAB</kbd> completion and provides additional
 | 
				
			||||||
 | 
					completions from the zsh-completions project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets directory options and defines directory aliases.
 | 
					Sets directory options and defines directory aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DNF
 | 
					## DNF
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines dnf aliases.
 | 
					Defines _dnf_ aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dpkg
 | 
					## Dpkg
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines dpkg aliases and functions.
 | 
					Defines _dpkg_ aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Editor
 | 
					## Editor
 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets key bindings.
 | 
					Sets key bindings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Emacs
 | 
					## Emacs
 | 
				
			||||||
-----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables Emacs dependency management.
 | 
					Enables Emacs dependency management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Environment
 | 
					## Environment
 | 
				
			||||||
-----------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets general shell options and defines environment variables.
 | 
					Sets general shell options and defines environment variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Fasd
 | 
					## Fasd
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Maintains a frequently used file and directory list for fast access.
 | 
					Maintains a frequently used file and directory list for fast access.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Git
 | 
					## Git
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enhances the Git distributed version control system by providing aliases,
 | 
					Enhances the Git distributed version control system by providing aliases,
 | 
				
			||||||
functions and by exposing repository status information to prompts.
 | 
					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
 | 
					## GPG
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for an easier use of GPG by setting up gpg-agent.
 | 
					Provides for an easier use of GPG by setting up gpg-agent.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Haskell
 | 
					## Haskell
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables local Haskell package installation.
 | 
					Enables local Haskell package installation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Helper
 | 
					## Helper
 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides helper functions for developing modules.
 | 
					Provides helper functions for developing modules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
History
 | 
					## History
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets history options and defines history aliases.
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Homebrew
 | 
					## Homebrew
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines Homebrew aliases.
 | 
					Defines Homebrew aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
MacPorts
 | 
					## MacPorts
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
					Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Node.js
 | 
					## Node.js
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides utility functions for Node.js and loads npm completion.
 | 
					Provides utility functions for Node.js and loads npm completion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OCaml
 | 
					## OCaml
 | 
				
			||||||
-----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Initializes OCaml package management.
 | 
					Initializes OCaml package management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OSX
 | 
					## OSX
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines Mac OS X aliases and functions.
 | 
					Defines macOS aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Pacman
 | 
					## Pacman
 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides aliases and functions for the Pacman package manager and frontends.
 | 
					Provides aliases and functions for the Pacman package manager and frontends.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Perl
 | 
					## Perl
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables local Perl module installation on Mac OS X and defines alises.
 | 
					Enables local Perl module installation on macOS and defines alises.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Prompt
 | 
					## Prompt
 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loads prompt themes.
 | 
					Loads prompt themes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Python
 | 
					## Python
 | 
				
			||||||
------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables local Python and local Python package installation.
 | 
					Enables local Python and local Python package installation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ruby on Rails
 | 
					## Ruby on Rails
 | 
				
			||||||
-------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines Ruby on Rails aliases.
 | 
					Defines Ruby on Rails aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Rsync
 | 
					## Rsync
 | 
				
			||||||
-----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines rsync aliases.
 | 
					Defines rsync aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Ruby
 | 
					## Ruby
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Configures Ruby local gem installation, loads version managers, and defines
 | 
					Configures Ruby local gem installation, loads version managers, and defines
 | 
				
			||||||
aliases.
 | 
					aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GNU Screen
 | 
					## GNU Screen
 | 
				
			||||||
----------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines GNU Screen aliases and provides for auto launching it at start-up.
 | 
					Defines GNU Screen aliases and provides for auto launching it at start-up.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Spectrum
 | 
					## Spectrum
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for easier use of 256 colors and effects.
 | 
					Provides for easier use of 256 colors and effects.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SSH
 | 
					## SSH
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for an easier use of SSH by setting up ssh-agent.
 | 
					Provides for an easier use of SSH by setting up ssh-agent.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Syntax Highlighting
 | 
					## Syntax Highlighting
 | 
				
			||||||
-------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Integrates zsh-syntax-highlighting into Prezto.
 | 
					Integrates zsh-syntax-highlighting into Prezto.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Terminal
 | 
					## Terminal
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets terminal window and tab titles.
 | 
					Sets terminal window and tab titles.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Tmux
 | 
					## Tmux
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines tmux aliases and provides for auto launching it at start-up.
 | 
					Defines tmux aliases and provides for auto launching it at start-up.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Utility
 | 
					## Utility
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines general aliases and functions.
 | 
					Defines general aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Wake-on-LAN
 | 
					## Wake-on-LAN
 | 
				
			||||||
-----------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module provides a wrapper around the wakeonlan tool.
 | 
					This module provides a wrapper around the wakeonlan tool.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Yum
 | 
					## Yum
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines yum aliases.
 | 
					Defines yum aliases.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,40 +1,53 @@
 | 
				
			|||||||
Archive
 | 
					# Archive
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides functions to list and extract archives.
 | 
					Provides functions to create, list, and extract archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					This module must be loaded _before_ the [_`completion`_][1] module so that the
 | 
				
			||||||
---------
 | 
					provided completion definitions are loaded automatically by _`completion`_
 | 
				
			||||||
 | 
					module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `lsarchive` lists the contents of one or more archives.
 | 
					## Functions
 | 
				
			||||||
  - `unarchive` extracts the contents of one or more archives.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Supported Formats
 | 
					- `archive` creates an archive based on the provided archive name.
 | 
				
			||||||
-----------------
 | 
					- `lsarchive` lists the contents of one or more archives.
 | 
				
			||||||
 | 
					- `unarchive` extracts the contents of one or more archives.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Supported Formats
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following archive formats are supported when the required utilities are
 | 
					The following archive formats are supported when the required utilities are
 | 
				
			||||||
installed:
 | 
					installed:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - *.tar.gz*, *.tgz* require `tar`.
 | 
					- _.tar.gz_, _.tgz_ require `tar` (optionally `pigz`).
 | 
				
			||||||
  - *.tar.bz2*, *.tbz* require `tar`.
 | 
					- _.tar.bz2_, _.tbz_ require `tar` (optionally `pbzip2`).
 | 
				
			||||||
  - *.tar.xz*, *.txz* require `tar` with *xz* support.
 | 
					- _.tar.xz_, _.txz_ require `tar` with _xz_ support.
 | 
				
			||||||
  - *.tar.zma*, *.tlz* require `tar` with *lzma* support.
 | 
					- _.tar.zma_, _.tlz_ require `tar` with _lzma_ support.
 | 
				
			||||||
  - *.tar* requires `tar`.
 | 
					- _.tar_ requires `tar`.
 | 
				
			||||||
  - *.gz* requires `gunzip`.
 | 
					- _.gz_ requires `gunzip`.
 | 
				
			||||||
  - *.bz2* requires `bunzip2`.
 | 
					- _.bz2_ requires `bunzip2`.
 | 
				
			||||||
  - *.xz* requires `unxz`.
 | 
					- _.xz_ requires `unxz`.
 | 
				
			||||||
  - *.lzma* requires `unlzma`.
 | 
					- _.lzma_ requires `unlzma`.
 | 
				
			||||||
  - *.Z* requires `uncompress`.
 | 
					- _.Z_ requires `uncompress`.
 | 
				
			||||||
  - *.zip* requires `unzip`.
 | 
					- _.zip_, _.jar_ requires `unzip`.
 | 
				
			||||||
  - *.rar* requires `unrar` or `rar`.
 | 
					- _.rar_ requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`.
 | 
				
			||||||
  - *.7z* requires `7za`.
 | 
					- _.7z_ requires `7za`.
 | 
				
			||||||
  - *.deb* requires `ar`, `tar`.
 | 
					- _.deb_ requires `ar`, `tar`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Additionally, if `pigz` and/or `pbzip2` are installed, `archive` will use them
 | 
				
			||||||
-------
 | 
					over their traditional counterparts, `gzip` and `bzip2` respectively, to take
 | 
				
			||||||
 | 
					full advantage of all available CPU cores for compression.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
					## Alternatives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					Specifically on macOS, [The Unarchiver][2] provides a similar command line tool
 | 
				
			||||||
 | 
					which doesn't depend on a number of other programs being installed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][3]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					- [Matt Hamilton](https://github.com/Eriner)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: ../completion#readme
 | 
				
			||||||
 | 
					[2]: https://theunarchiver.com/command-line
 | 
				
			||||||
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,4 +10,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
_arguments \
 | 
					_arguments \
 | 
				
			||||||
  '(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
 | 
					  '(-v --verbose)'{-v,--remove}'[verbose archive listing]' \
 | 
				
			||||||
  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z)(-.)'" && return 0
 | 
					  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z)(-.)'" && return 0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,4 +10,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
_arguments \
 | 
					_arguments \
 | 
				
			||||||
  '(-r --remove)'{-r,--remove}'[remove archive]' \
 | 
					  '(-r --remove)'{-r,--remove}'[remove archive]' \
 | 
				
			||||||
  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'" && return 0
 | 
					  "*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|zst|jar|rar|7z|deb)(-.)'" && return 0
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										75
									
								
								modules/archive/functions/archive
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								modules/archive/functions/archive
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Creates archive file
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Matt Hamilton <m@tthamilton.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function archive {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local archive_name path_to_archive _gzip_bin _bzip2_bin _xz_bin _zstd_bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $# < 2 )); then
 | 
				
			||||||
 | 
					  cat >&2 <<EOF
 | 
				
			||||||
 | 
					usage: $0 [archive_name.zip] [/path/to/include/into/archive ...]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Where 'archive.zip' uses any of the following extensions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.tar.gz, .tar.bz2, .tar.xz, .tar.lzma, .tar.zst, .tar, .zip, .rar, .7z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is no '-v' switch; all operations are verbose.
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# we are quitting (above) if there are not exactly 2 vars,
 | 
				
			||||||
 | 
					#  so we don't need any argc check here.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# strip the path, just in case one is provided for some reason
 | 
				
			||||||
 | 
					archive_name="${1:t}"
 | 
				
			||||||
 | 
					# let paths be handled by actual archive helper
 | 
				
			||||||
 | 
					path_to_archive="${@:2}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# here, we check for dropin/multi-threaded replacements
 | 
				
			||||||
 | 
					# this should eventually be moved to modules/archive/init.zsh
 | 
				
			||||||
 | 
					# as a global alias
 | 
				
			||||||
 | 
					if (( $+commands[pigz] )); then
 | 
				
			||||||
 | 
					  _gzip_bin='pigz'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _gzip_bin='gzip'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[pixz] )); then
 | 
				
			||||||
 | 
					  _xz_bin='pixz'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _xz_bin='xz'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[lbzip2] )); then
 | 
				
			||||||
 | 
					  _bzip2_bin='lbzip2'
 | 
				
			||||||
 | 
					elif (( $+commands[pbzip2] )); then
 | 
				
			||||||
 | 
					  _bzip2_bin='pbzip2'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _bzip2_bin='bzip2'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_zstd_bin='zstd'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "${archive_name}" in
 | 
				
			||||||
 | 
					  (*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.tar.xz|*.txz) tar -cvf "${archive_name}" --use-compress-program="${_xz_bin}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.tar.zst|*.tzst) tar -cvf "${archive_name}" --use-compress-program="${_zstd_bin}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.tar) tar -cvf "${archive_name}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.zip|*.jar) zip -r "${archive_name}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.rar) rar a "${archive_name}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.7z) 7za a "${archive_name}" "${=path_to_archive}" ;;
 | 
				
			||||||
 | 
					  (*.gz) print "\n.gz is only useful for single files, and does not capture permissions. Use .tar.gz" ;;
 | 
				
			||||||
 | 
					  (*.bz2) print "\n.bzip2 is only useful for single files, and does not capture permissions. Use .tar.bz2" ;;
 | 
				
			||||||
 | 
					  (*.xz) print "\n.xz is only useful for single files, and does not capture permissions. Use .tar.xz" ;;
 | 
				
			||||||
 | 
					  (*.lzma) print "\n.lzma is only useful for single files, and does not capture permissions. Use .tar.lzma" ;;
 | 
				
			||||||
 | 
					  (*) print "\nunknown archive type for archive: ${archive_name}" ;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
@@ -5,6 +5,8 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function lsarchive {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local verbose
 | 
					local verbose
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $# == 0 )); then
 | 
					if (( $# == 0 )); then
 | 
				
			||||||
@@ -39,11 +41,14 @@ while (( $# > 0 )); do
 | 
				
			|||||||
    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
					    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
				
			||||||
      && tar --lzma -t${verbose:+v}f "$1" \
 | 
					      && tar --lzma -t${verbose:+v}f "$1" \
 | 
				
			||||||
      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
					      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
				
			||||||
 | 
					    (*.tar.zst|*.tzst) tar -I zstd -t${verbose:+v}f "$1" ;;
 | 
				
			||||||
    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
					    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
				
			||||||
    (*.zip) unzip -l${verbose:+v} "$1" ;;
 | 
					    (*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
 | 
				
			||||||
    (*.rar) unrar &> /dev/null \
 | 
					    (*.rar) ( (( $+commands[unrar] )) \
 | 
				
			||||||
      && unrar ${${verbose:+v}:-l} "$1" \
 | 
					      && unrar ${${verbose:+v}:-l} "$1" ) \
 | 
				
			||||||
      || rar ${${verbose:+v}:-l} "$1" ;;
 | 
					      || ( (( $+commands[rar] )) \
 | 
				
			||||||
 | 
					      && rar ${${verbose:+v}:-l} "$1" ) \
 | 
				
			||||||
 | 
					      || lsar ${verbose:+-l} "$1" ;;
 | 
				
			||||||
    (*.7z) 7za l "$1" ;;
 | 
					    (*.7z) 7za l "$1" ;;
 | 
				
			||||||
    (*)
 | 
					    (*)
 | 
				
			||||||
      print "$0: cannot list: $1" >&2
 | 
					      print "$0: cannot list: $1" >&2
 | 
				
			||||||
@@ -53,3 +58,5 @@ while (( $# > 0 )); do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  shift
 | 
					  shift
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,14 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function unarchive {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local remove_archive
 | 
					local remove_archive
 | 
				
			||||||
local success
 | 
					local success
 | 
				
			||||||
local file_name
 | 
					local file_name
 | 
				
			||||||
 | 
					local file_path
 | 
				
			||||||
local extract_dir
 | 
					local extract_dir
 | 
				
			||||||
 | 
					local _gzip_bin _bzip2_bin _xz_bin _zstd_bin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $# == 0 )); then
 | 
					if (( $# == 0 )); then
 | 
				
			||||||
  cat >&2 <<EOF
 | 
					  cat >&2 <<EOF
 | 
				
			||||||
@@ -27,6 +31,31 @@ if [[ "$1" == "-r" || "$1" == "--remove" ]]; then
 | 
				
			|||||||
  shift
 | 
					  shift
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# here, we check for dropin/multi-threaded replacements
 | 
				
			||||||
 | 
					# this should eventually be moved to modules/archive/init.zsh
 | 
				
			||||||
 | 
					# as a global alias
 | 
				
			||||||
 | 
					if (( $+commands[unpigz] )); then
 | 
				
			||||||
 | 
					  _gzip_bin='unpigz'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _gzip_bin='gunzip'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[pixz] )); then
 | 
				
			||||||
 | 
					  _xz_bin='pixz -d'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _xz_bin='xz'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[lbunzip2] )); then
 | 
				
			||||||
 | 
					  _bzip2_bin='lbunzip2'
 | 
				
			||||||
 | 
					elif (( $+commands[pbunzip2] )); then
 | 
				
			||||||
 | 
					  _bzip2_bin='pbunzip2'
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  _bzip2_bin='bunzip2'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_zstd_bin='zstd'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while (( $# > 0 )); do
 | 
					while (( $# > 0 )); do
 | 
				
			||||||
  if [[ ! -s "$1" ]]; then
 | 
					  if [[ ! -s "$1" ]]; then
 | 
				
			||||||
    print "$0: file not valid: $1" >&2
 | 
					    print "$0: file not valid: $1" >&2
 | 
				
			||||||
@@ -36,34 +65,36 @@ while (( $# > 0 )); do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  success=0
 | 
					  success=0
 | 
				
			||||||
  file_name="${1:t}"
 | 
					  file_name="${1:t}"
 | 
				
			||||||
 | 
					  file_path="${1:A}"
 | 
				
			||||||
  extract_dir="${file_name:r}"
 | 
					  extract_dir="${file_name:r}"
 | 
				
			||||||
  case "$1:l" in
 | 
					  case "$1:l" in
 | 
				
			||||||
    (*.tar.gz|*.tgz) tar xvzf "$1" ;;
 | 
					    (*.tar.gz|*.tgz) tar -xvf "$1" --use-compress-program="${_gzip_bin}" ;;
 | 
				
			||||||
    (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
 | 
					    (*.tar.bz2|*.tbz|*.tbz2) tar -xvf "$1" --use-compress-program="${_bzip2_bin}" ;;
 | 
				
			||||||
    (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
 | 
					    (*.tar.xz|*.txz) tar -xvf "$1" --use-compress-program="${_xz_bin}" ;;
 | 
				
			||||||
      && tar --xz -xvf "$1" \
 | 
					 | 
				
			||||||
      || xzcat "$1" | tar xvf - ;;
 | 
					 | 
				
			||||||
    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
					    (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \
 | 
				
			||||||
      && tar --lzma -xvf "$1" \
 | 
					      && tar --lzma -xvf "$1" \
 | 
				
			||||||
      || lzcat "$1" | tar xvf - ;;
 | 
					      || lzcat "$1" | tar -xvf - ;;
 | 
				
			||||||
    (*.tar) tar xvf "$1" ;;
 | 
					    (*.tar.zst|*.tzst) tar -xvf "$1" --use-compress-program="${_zstd_bin}" ;;
 | 
				
			||||||
 | 
					    (*.tar) tar -xvf "$1" ;;
 | 
				
			||||||
    (*.gz) gunzip "$1" ;;
 | 
					    (*.gz) gunzip "$1" ;;
 | 
				
			||||||
    (*.bz2) bunzip2 "$1" ;;
 | 
					    (*.bz2) bunzip2 "$1" ;;
 | 
				
			||||||
    (*.xz) unxz "$1" ;;
 | 
					    (*.xz) unxz "$1" ;;
 | 
				
			||||||
    (*.lzma) unlzma "$1" ;;
 | 
					    (*.lzma) unlzma "$1" ;;
 | 
				
			||||||
    (*.Z) uncompress "$1" ;;
 | 
					    (*.Z) uncompress "$1" ;;
 | 
				
			||||||
    (*.zip) unzip "$1" -d $extract_dir ;;
 | 
					    (*.zip|*.jar) unzip "$1" -d $extract_dir ;;
 | 
				
			||||||
    (*.rar) unrar &> /dev/null \
 | 
					    (*.rar) ( (( $+commands[unrar] )) \
 | 
				
			||||||
      && unrar x -ad "$1" \
 | 
					      && unrar x -ad "$1" ) \
 | 
				
			||||||
      || rar x -ad "$1" ;;
 | 
					      || ( (( $+commands[rar] )) \
 | 
				
			||||||
 | 
					      && rar x -ad "$1" ) \
 | 
				
			||||||
 | 
					      || unar -d "$1" ;;
 | 
				
			||||||
    (*.7z) 7za x "$1" ;;
 | 
					    (*.7z) 7za x "$1" ;;
 | 
				
			||||||
    (*.deb)
 | 
					    (*.deb)
 | 
				
			||||||
      mkdir -p "$extract_dir/control"
 | 
					      mkdir -p "$extract_dir/control"
 | 
				
			||||||
      mkdir -p "$extract_dir/data"
 | 
					      mkdir -p "$extract_dir/data"
 | 
				
			||||||
      cd "$extract_dir"; ar vx "../${1}" > /dev/null
 | 
					      cd "$extract_dir"; ar vx "${file_path}" > /dev/null
 | 
				
			||||||
      cd control; tar xzvf ../control.tar.gz
 | 
					      cd control; tar xvf ../control.tar.*
 | 
				
			||||||
      cd ../data; tar xzvf ../data.tar.gz
 | 
					      cd ../data; tar xvf ../data.tar.*
 | 
				
			||||||
      cd ..; rm *.tar.gz debian-binary
 | 
					      cd ..; rm control.tar.* data.tar.* debian-binary
 | 
				
			||||||
      cd ..
 | 
					      cd ..
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
    (*)
 | 
					    (*)
 | 
				
			||||||
@@ -76,3 +107,5 @@ while (( $# > 0 )); do
 | 
				
			|||||||
  (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
 | 
					  (( $success == 0 )) && (( $remove_archive == 0 )) && rm "$1"
 | 
				
			||||||
  shift
 | 
					  shift
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										62
									
								
								modules/autosuggestions/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								modules/autosuggestions/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					# Autosuggestions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Integrates [zsh-autosuggestions][1] into Prezto, which implements the
 | 
				
			||||||
 | 
					[Fish shell][2]'s autosuggestions feature, where the user can type in any part
 | 
				
			||||||
 | 
					of a previously entered command and Zsh suggests commands as you type based on
 | 
				
			||||||
 | 
					history and completions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If this module is used in conjunction with the [_`syntax-highlighting`_][3]
 | 
				
			||||||
 | 
					module, this module must be loaded _after_ the _`syntax-highlighting`_ module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Additionally, if this module is used in conjunction with the
 | 
				
			||||||
 | 
					[_`history-substring-search`_][4] module, this module must be loaded _after_ the
 | 
				
			||||||
 | 
					_`history-substring-search`_ module as well.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To elaborate, the relative order of loading the modules would be
 | 
				
			||||||
 | 
					_`syntax-highlighting`_, _`history-substring-search`_ and _`autosuggestions`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					New features and bug fixes should be submitted to the [zsh-autosuggestions][1]
 | 
				
			||||||
 | 
					project according to its rules and regulations. This module will be synchronized
 | 
				
			||||||
 | 
					against it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Highlighting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If colors are enabled, _autosuggestions_ will automatically highlight
 | 
				
			||||||
 | 
					positive results.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To enable highlighting for this module only, add the following line to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:autosuggestions' color 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To set the query found color, add the following line to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:autosuggestions:color' found ''
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Troubleshooting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Autosuggestions from previous sessions don't show up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					For autosuggestions from previous shell sessions to work, please make sure you
 | 
				
			||||||
 | 
					also have the `history` module enabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][5]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: https://github.com/tarruda/zsh-autosuggestions
 | 
				
			||||||
 | 
					[2]: https://fishshell.com
 | 
				
			||||||
 | 
					[3]: ../syntax-highlighting#readme
 | 
				
			||||||
 | 
					[4]: ../history-substring-search#readme
 | 
				
			||||||
 | 
					[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
							
								
								
									
										1
									
								
								modules/autosuggestions/external
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								modules/autosuggestions/external
									
									
									
									
									
										Submodule
									
								
							 Submodule modules/autosuggestions/external added at a411ef3e09
									
								
							
							
								
								
									
										35
									
								
								modules/autosuggestions/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								modules/autosuggestions/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Integrates zsh-autosuggestions into Prezto.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load dependencies.
 | 
				
			||||||
 | 
					pmodload 'editor'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Source module files.
 | 
				
			||||||
 | 
					source "${0:h}/external/zsh-autosuggestions.zsh" || return 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Highlighting
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set highlight color, default 'fg=8'.
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:autosuggestions:color' found \
 | 
				
			||||||
 | 
					  'ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE' || ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Disable highlighting.
 | 
				
			||||||
 | 
					if ! zstyle -t ':prezto:module:autosuggestions' color; then
 | 
				
			||||||
 | 
					  ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=''
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Key Bindings
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -n "$key_info" ]]; then
 | 
				
			||||||
 | 
					  # vi
 | 
				
			||||||
 | 
					  bindkey -M viins "$key_info[Control]F" vi-forward-word
 | 
				
			||||||
 | 
					  bindkey -M viins "$key_info[Control]E" vi-add-eol
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										13
									
								
								modules/aws/functions/_aws_switch_profile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								modules/aws/functions/_aws_switch_profile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#compdef aws_switch_profile
 | 
				
			||||||
 | 
					#autoload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ ! -f ~/.aws/credentials ]]; then
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local profiles
 | 
				
			||||||
 | 
					profiles=$(grep -E "^\[.+\]" ~/.aws/credentials | tr -d '[' | tr -d ']' )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_arguments "1:toggle:((
 | 
				
			||||||
 | 
					$profiles
 | 
				
			||||||
 | 
					))" && return 0
 | 
				
			||||||
							
								
								
									
										33
									
								
								modules/aws/functions/aws-info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								modules/aws/functions/aws-info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Exposes information about the AWS_PROFILE environment via the $aws_info associative
 | 
				
			||||||
 | 
					# array.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function aws-info {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local profile_format
 | 
				
			||||||
 | 
					local profile_formatted
 | 
				
			||||||
 | 
					local aws_prompt
 | 
				
			||||||
 | 
					local aws_region_prompt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unset aws_info
 | 
				
			||||||
 | 
					typeset -gA aws_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( ${+AWS_SECRET_ACCESS_KEY} )); then
 | 
				
			||||||
 | 
					  aws_prompt="${AWS_PROFILE}  "
 | 
				
			||||||
 | 
					elif (( ${+AWS_PROFILE} )); then
 | 
				
			||||||
 | 
					    aws_prompt=$AWS_PROFILE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( ${+AWS_DEFAULT_REGION} )) && [[ ${_aws_region} = "true" ]]; then
 | 
				
			||||||
 | 
					  AWS_REGION=$(cut -d "-" -f 1 <<<$AWS_DEFAULT_REGION | cut -b 1)$(cut -d "-" -f 2 <<<$AWS_DEFAULT_REGION | cut -b 1)$(cut -d "-" -f 3 <<<$AWS_DEFAULT_REGION | cut -b 1)
 | 
				
			||||||
 | 
					  aws_region_prompt=" $AWS_REGION"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( ${+AWS_SECRET_ACCESS_KEY} )) || (( ${+AWS_DEFAULT_REGION} )); then
 | 
				
			||||||
 | 
					  zstyle -s ':prezto:module:aws:info:profile' format 'profile_format'
 | 
				
			||||||
 | 
					  zformat -f profile_formatted "$profile_format" "v:${aws_prompt:t}${aws_region_prompt}"
 | 
				
			||||||
 | 
					  aws_info[profile]="$profile_formatted"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
							
								
								
									
										185
									
								
								modules/aws/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										185
									
								
								modules/aws/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,185 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Defines aws cli aliases/functions.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Daniel Carrillo
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Get the output parameter
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:aws' output '_aws_output' || _aws_output='table'
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:aws' show_region '_aws_region' || _aws_region='false'
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:aws' profile '_aws_profile' || _aws_profile='default'
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:aws' sso '_aws_sso' || _aws_sso='false'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Return if requirements are not found.
 | 
				
			||||||
 | 
					if (( ! $+commands[aws] )); then
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function _get_aws_profile {
 | 
				
			||||||
 | 
					    if [[ -z "${AWS_PROFILE+1}" ]]; then
 | 
				
			||||||
 | 
					        echo ${_aws_profile}
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        echo $AWS_PROFILE
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_i {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-instances --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query 'Reservations[].Instances[].[Tags[?Key==`Name`] | [0].Value, LaunchTime, State.Name,
 | 
				
			||||||
 | 
					                 InstanceType, VpcId, InstanceId, Placement.AvailabilityZone, PrivateIpAddress, PublicIpAddress]'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_ebs {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-volumes --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query 'Volumes[].[Tags[?Key==`Name`] | [0].Value, VolumeId, Attachments[0].InstanceId, Size, VolumeType, Iops, AvailabilityZone]'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_elb {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws elb describe-load-balancers --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query "LoadBalancerDescriptions[*].{type:'elb',scheme:Scheme,dns:DNSName,vpc:VPCId,name:LoadBalancerName,subnets:Subnets[*] | join(',', @)}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws elbv2 describe-load-balancers --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query "LoadBalancers[*].{type:Type,scheme:Scheme,dns:DNSName,vpc:VpcId,name:LoadBalancerName,subnets:AvailabilityZones[*].SubnetId | join(',', @)}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_userdata {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-instance-attribute --profile $profile --output text \
 | 
				
			||||||
 | 
					        --attribute userData --instance-id $1 \
 | 
				
			||||||
 | 
					        --query 'UserData.Value' | base64 -d
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_vpc {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-vpcs --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query 'Vpcs[*].{id:VpcId,cidr:CidrBlock,tag:Tags[0].Value}'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_subnets {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-subnets --profile $profile --output text \
 | 
				
			||||||
 | 
					        --query 'Subnets[].[Tags[?Key==`Name`] | [0].Value, SubnetId, VpcId, CidrBlock]' \
 | 
				
			||||||
 | 
					        | sort -k1 | column -t
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_ag {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws autoscaling describe-auto-scaling-groups --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --query 'AutoScalingGroups[*].{name:AutoScalingGroupName,az:VPCZoneIdentifier}'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_ami {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    aws ec2 describe-images --profile $profile --output ${_aws_output} \
 | 
				
			||||||
 | 
					        --owner self --query 'Images[*].{date:CreationDate,id:ImageId,name:Name,virt:VirtualizationType,st:State}'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_kms_decrypt {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -z $1 ]]; then
 | 
				
			||||||
 | 
					        echo "String is missing"
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    aws kms --profile $profile decrypt --ciphertext-blob fileb://<(base64 -d <<<$1) \
 | 
				
			||||||
 | 
					        --output text --query Plaintext | base64 -d
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_ssm_session {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -z $1 ]]; then
 | 
				
			||||||
 | 
					        echo "Instance id is missing"
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    aws ssm start-session --profile $profile --target $1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_ssm_session_any {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					    local id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -z $1 ]]; then
 | 
				
			||||||
 | 
					        echo "Instance name is missing"
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    id=$(aws ec2 describe-instances --profile $profile --output text \
 | 
				
			||||||
 | 
					        --filter "Name=tag:Name,Values=$1" "Name=instance-state-name,Values=running" \
 | 
				
			||||||
 | 
					        --query 'Reservations[0].Instances[0].InstanceId')
 | 
				
			||||||
 | 
					    if [[ $2 == "ssh" ]]; then
 | 
				
			||||||
 | 
					        shift 2
 | 
				
			||||||
 | 
					        AWS_PROFILE=$profile ssh $id $@
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        aws ssm start-session --profile $profile --target $id
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_cf {
 | 
				
			||||||
 | 
					    local profile=$(_get_aws_profile)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ! type "jq" > /dev/null; then
 | 
				
			||||||
 | 
					      echo "ERROR: this function needs jq to be installed"
 | 
				
			||||||
 | 
					      return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    aws cloudfront list-distributions --profile $profile --output json \
 | 
				
			||||||
 | 
					        --query "DistributionList.Items[*].{id:Id,domain:DomainName,status:Status,
 | 
				
			||||||
 | 
					                 origin:Origins.Items[].DomainName | join(' ', @), aliases:Aliases.Items | join(' ', @)}" \
 | 
				
			||||||
 | 
					        | jq -r ".[] | [.id, .domain, .aliases, .status, .origin] | @csv" | tr -d '"' | column --separator="," --table
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ~/.ssh/config
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Host i-*
 | 
				
			||||||
 | 
					#    ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"
 | 
				
			||||||
 | 
					#    User <your_user>
 | 
				
			||||||
 | 
					function ssh_aws_any {
 | 
				
			||||||
 | 
					    host=$1
 | 
				
			||||||
 | 
					    shift
 | 
				
			||||||
 | 
					    extra_params=$@
 | 
				
			||||||
 | 
					    aws_ssm_session_any $host ssh $extra_params
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_switch_profile {
 | 
				
			||||||
 | 
					    local region
 | 
				
			||||||
 | 
					    local credentials
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -z $1 ]]; then
 | 
				
			||||||
 | 
					        echo "Profile can't be an empty string"
 | 
				
			||||||
 | 
					        return 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "Activating profile $1..."
 | 
				
			||||||
 | 
					    unset -m "AWS_*"
 | 
				
			||||||
 | 
					    export AWS_PROFILE=$1
 | 
				
			||||||
 | 
					    if [[ -f ~/.aws/credentials ]]; then #&& (( ! ${+AWS_DEFAULT_REGION} ))
 | 
				
			||||||
 | 
					      region=$(aws configure get region)
 | 
				
			||||||
 | 
					      if [[ ! -z $region ]]; then
 | 
				
			||||||
 | 
					        export AWS_DEFAULT_REGION=$region
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        unset AWS_DEFAULT_REGION
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if [[ ${_aws_sso} == "true" ]]; then
 | 
				
			||||||
 | 
					        credentials=$(aws-export-credentials --env-export 2>&1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if [[ $credentials =~ "has expired" ]]; then
 | 
				
			||||||
 | 
					            aws sso login
 | 
				
			||||||
 | 
					            credentials=$(aws-export-credentials --env-export)
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        eval $credentials
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function aws_deactivate_profile {
 | 
				
			||||||
 | 
					    echo "Deactivating aws profile..."
 | 
				
			||||||
 | 
					    unset -m "AWS_*"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,15 +1,23 @@
 | 
				
			|||||||
Command-Not-Found
 | 
					# Command-Not-Found
 | 
				
			||||||
=================
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Displays installation information for not found commands by loading the
 | 
					When you try to use a command that is not available locally, searches the
 | 
				
			||||||
[command-not-found][1] tool on Debian-based and Arch Linux-based distributions.
 | 
					package manager for a package offering that command and suggests the proper
 | 
				
			||||||
 | 
					install command.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					Debian and Arch Linux based distributions use the [`command-not-found`][1] tool.
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
					macOS uses Homebrew's [`command-not-found` clone][2]. Note that unless you have
 | 
				
			||||||
 | 
					a recent version of Homebrew installed, you might also need to tap the
 | 
				
			||||||
 | 
					`command-not-found` Homebrew repository [following the instructions][3].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Joseph Booker](https://github.com/sargas)
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][4]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Joseph Booker](https://github.com/sargas)
 | 
				
			||||||
 | 
					- [Indrajit Raychaudhuri](https://github.com/indrajitr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://code.launchpad.net/command-not-found
 | 
					[1]: https://code.launchpad.net/command-not-found
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/Homebrew/homebrew-command-not-found
 | 
				
			||||||
 | 
					[3]: https://github.com/Homebrew/homebrew-command-not-found#install
 | 
				
			||||||
 | 
					[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,14 +3,20 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Joseph Jon Booker <joe@neoturbine.net>
 | 
					#   Joseph Jon Booker <joe@neoturbine.net>
 | 
				
			||||||
 | 
					#   Indrajit Raychaudhuri <irc+code@indrajit.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load command-not-found on Debian-based distributions.
 | 
					# Load command-not-found on Debian-based distributions.
 | 
				
			||||||
if [[ -s '/etc/zsh_command_not_found' ]]; then
 | 
					if [[ -s /etc/zsh_command_not_found ]]; then
 | 
				
			||||||
  source '/etc/zsh_command_not_found'
 | 
					  source /etc/zsh_command_not_found
 | 
				
			||||||
# Load command-not-found on Arch Linux-based distributions.
 | 
					# Load command-not-found on Arch Linux-based distributions.
 | 
				
			||||||
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
 | 
					elif [[ -s /usr/share/doc/pkgfile/command-not-found.zsh ]]; then
 | 
				
			||||||
  source '/usr/share/doc/pkgfile/command-not-found.zsh'
 | 
					  source /usr/share/doc/pkgfile/command-not-found.zsh
 | 
				
			||||||
 | 
					# Load command-not-found on macOS when Homebrew tap is configured.
 | 
				
			||||||
 | 
					elif (( $+commands[brew] )) \
 | 
				
			||||||
 | 
					      && [[ -s ${hb_cnf_handler::="${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}/Library/Taps/homebrew/homebrew-command-not-found/handler.sh"} ]]; then
 | 
				
			||||||
 | 
					  source "$hb_cnf_handler"
 | 
				
			||||||
 | 
					  unset hb_cnf_handler
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,23 +1,55 @@
 | 
				
			|||||||
Completion
 | 
					# Completion
 | 
				
			||||||
==========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Loads and configures tab completion and provides additional completions from
 | 
					Loads and configures <kbd>TAB</kbd> completion and provides additional
 | 
				
			||||||
the [zsh-completions][1] project.
 | 
					completions from the [zsh-completions][1] project.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module must be loaded **after** the *utility* module.
 | 
					This module must be loaded late _after_ the _`utility`_ module and all other
 | 
				
			||||||
 | 
					modules that provide completion definitions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Contributors
 | 
					## Options
 | 
				
			||||||
------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Completions should be submitted to the [zsh-completions][1] project according
 | 
					- `COMPLETE_IN_WORD` complete from both ends of a word.
 | 
				
			||||||
to its rules and regulations. This module will be synchronized against it.
 | 
					- `ALWAYS_TO_END` move cursor to the end of a completed word.
 | 
				
			||||||
 | 
					- `PATH_DIRS` perform path search even on command names with slashes.
 | 
				
			||||||
 | 
					- `AUTO_MENU` show completion menu on a successive <kbd>TAB</kbd> press.
 | 
				
			||||||
 | 
					- `AUTO_LIST` automatically list choices on ambiguous completion.
 | 
				
			||||||
 | 
					- `AUTO_PARAM_SLASH` if completed parameter is a directory, add a trailing
 | 
				
			||||||
 | 
					  slash (`/`).
 | 
				
			||||||
 | 
					- `EXTENDED_GLOB` needed for file modification glob modifiers with _compinit_.
 | 
				
			||||||
 | 
					- `MENU_COMPLETE` do not autoselect the first completion entry.
 | 
				
			||||||
 | 
					- `FLOW_CONTROL` disable start/stop characters in shell editor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Variables
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
					- `LS_COLORS` used by default for Zsh [standard style][2] 'list-colors'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					## Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Ignore _`/etc/hosts`_ Entries
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To ignore certain entries from static _`/etc/hosts`_ for host completion, add
 | 
				
			||||||
 | 
					the following lines in _`${ZDOTDIR:-$HOME}/.zpreztorc`_ with the IP addresses of
 | 
				
			||||||
 | 
					the hosts as they appear in _`/etc/hosts`_. Both IP address and the associated
 | 
				
			||||||
 | 
					hostname(s) will be ignored during host completion. However, some of the entries
 | 
				
			||||||
 | 
					ignored from _`/etc/hosts`_ still might appear during completion because of
 | 
				
			||||||
 | 
					their presence in _ssh_ configuration or history).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
 | 
				
			||||||
 | 
					    '0.0.0.0' '127.0.0.1'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Completions should be submitted to the [zsh-completions][1] project according to
 | 
				
			||||||
 | 
					its rules and regulations. This module will be synchronized against it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][3]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/zsh-users/zsh-completions
 | 
					[1]: https://github.com/zsh-users/zsh-completions
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://zsh.sourceforge.net/Doc/Release/Completion-System.html#Standard-Styles
 | 
				
			||||||
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule modules/completion/external updated: 68c949470e...0331b2908f
									
								
							@@ -7,15 +7,23 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if [[ "$TERM" == 'dumb' ]]; then
 | 
					if [[ $TERM == 'dumb' ]]; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Add zsh-completions to $fpath.
 | 
					# Add zsh-completions to $fpath.
 | 
				
			||||||
fpath=("${0:h}/external/src" $fpath)
 | 
					fpath=(${0:h}/external/src $fpath)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load and initialize the completion system ignoring insecure directories.
 | 
					# Add completion for keg-only brewed curl on macOS when available.
 | 
				
			||||||
autoload -Uz compinit && compinit -i
 | 
					if (( $+commands[brew] )); then
 | 
				
			||||||
 | 
					  brew_prefix=${HOMEBREW_PREFIX:-${HOMEBREW_REPOSITORY:-$commands[brew]:A:h:h}}
 | 
				
			||||||
 | 
					  # $HOMEBREW_PREFIX defaults to $HOMEBREW_REPOSITORY but is explicitly set to
 | 
				
			||||||
 | 
					  # /usr/local when $HOMEBREW_REPOSITORY is /usr/local/Homebrew.
 | 
				
			||||||
 | 
					  # https://github.com/Homebrew/brew/blob/2a850e02d8f2dedcad7164c2f4b95d340a7200bb/bin/brew#L66-L69
 | 
				
			||||||
 | 
					  [[ $brew_prefix == '/usr/local/Homebrew' ]] && brew_prefix=$brew_prefix:h
 | 
				
			||||||
 | 
					  fpath=($brew_prefix/opt/curl/share/zsh/site-functions(/N) $fpath)
 | 
				
			||||||
 | 
					  unset brew_prefix
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Options
 | 
					# Options
 | 
				
			||||||
@@ -27,16 +35,49 @@ setopt PATH_DIRS           # Perform path search even on command names with slas
 | 
				
			|||||||
setopt AUTO_MENU            # Show completion menu on a successive tab press.
 | 
					setopt AUTO_MENU            # Show completion menu on a successive tab press.
 | 
				
			||||||
setopt AUTO_LIST            # Automatically list choices on ambiguous completion.
 | 
					setopt AUTO_LIST            # Automatically list choices on ambiguous completion.
 | 
				
			||||||
setopt AUTO_PARAM_SLASH     # If completed parameter is a directory, add a trailing slash.
 | 
					setopt AUTO_PARAM_SLASH     # If completed parameter is a directory, add a trailing slash.
 | 
				
			||||||
 | 
					setopt EXTENDED_GLOB        # Needed for file modification glob modifiers with compinit.
 | 
				
			||||||
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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Variables
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Standard style used by default for 'list-colors'
 | 
				
			||||||
 | 
					LS_COLORS=${LS_COLORS:-'di=34:ln=35:so=32:pi=33:ex=31:bd=36;01:cd=33;01:su=31;40;07:sg=36;40;07:tw=32;40;07:ow=33;40;07:'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Initialization
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load and initialize the completion system ignoring insecure directories with a
 | 
				
			||||||
 | 
					# cache time of 20 hours, so it should almost always regenerate the first time a
 | 
				
			||||||
 | 
					# shell is opened each day.
 | 
				
			||||||
 | 
					autoload -Uz compinit
 | 
				
			||||||
 | 
					_comp_path="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump"
 | 
				
			||||||
 | 
					# #q expands globs in conditional expressions
 | 
				
			||||||
 | 
					if [[ $_comp_path(#qNmh-20) ]]; then
 | 
				
			||||||
 | 
					  # -C (skip function check) implies -i (skip security check).
 | 
				
			||||||
 | 
					  compinit -C -d "$_comp_path"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					  mkdir -p "$_comp_path:h"
 | 
				
			||||||
 | 
					  compinit -i -d "$_comp_path"
 | 
				
			||||||
 | 
					  # Keep $_comp_path younger than cache time even if it isn't regenerated.
 | 
				
			||||||
 | 
					  touch "$_comp_path"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					unset _comp_path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Styles
 | 
					# Styles
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Defaults.
 | 
				
			||||||
 | 
					zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
 | 
				
			||||||
 | 
					zstyle ':completion:*:default' list-prompt '%S%M matches%s'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Use caching to make completion for commands such as dpkg and apt usable.
 | 
					# Use caching to make completion for commands such as dpkg and apt usable.
 | 
				
			||||||
zstyle ':completion::complete:*' use-cache on
 | 
					zstyle ':completion::complete:*' use-cache on
 | 
				
			||||||
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
 | 
					zstyle ':completion::complete:*' cache-path "${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompcache"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Case-insensitive (all), partial-word, and then substring completion.
 | 
					# Case-insensitive (all), partial-word, and then substring completion.
 | 
				
			||||||
if zstyle -t ':prezto:module:completion:*' case-sensitive; then
 | 
					if zstyle -t ':prezto:module:completion:*' case-sensitive; then
 | 
				
			||||||
@@ -56,7 +97,6 @@ zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f'
 | 
				
			|||||||
zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
 | 
					zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
 | 
				
			||||||
zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
 | 
					zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
 | 
				
			||||||
zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
 | 
					zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
 | 
				
			||||||
zstyle ':completion:*:default' list-prompt '%S%M matches%s'
 | 
					 | 
				
			||||||
zstyle ':completion:*' format ' %F{yellow}-- %d --%f'
 | 
					zstyle ':completion:*' format ' %F{yellow}-- %d --%f'
 | 
				
			||||||
zstyle ':completion:*' group-name ''
 | 
					zstyle ':completion:*' group-name ''
 | 
				
			||||||
zstyle ':completion:*' verbose yes
 | 
					zstyle ':completion:*' verbose yes
 | 
				
			||||||
@@ -66,8 +106,9 @@ zstyle ':completion:*' completer _complete _match _approximate
 | 
				
			|||||||
zstyle ':completion:*:match:*' original only
 | 
					zstyle ':completion:*:match:*' original only
 | 
				
			||||||
zstyle ':completion:*:approximate:*' max-errors 1 numeric
 | 
					zstyle ':completion:*:approximate:*' max-errors 1 numeric
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Increase the number of errors based on the length of the typed word.
 | 
					# Increase the number of errors based on the length of the typed word. But make
 | 
				
			||||||
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
 | 
					# sure to cap (at 7) the max-errors to avoid hanging.
 | 
				
			||||||
 | 
					zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3>7?7:($#PREFIX+$#SUFFIX)/3))numeric)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Don't complete unavailable commands.
 | 
					# Don't complete unavailable commands.
 | 
				
			||||||
zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
 | 
					zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
 | 
				
			||||||
@@ -76,7 +117,6 @@ zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
 | 
				
			|||||||
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
 | 
					zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Directories
 | 
					# Directories
 | 
				
			||||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
 | 
					 | 
				
			||||||
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
 | 
					zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
 | 
				
			||||||
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
 | 
					zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
 | 
				
			||||||
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
 | 
					zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
 | 
				
			||||||
@@ -88,14 +128,17 @@ zstyle ':completion:*:history-words' remove-all-dups yes
 | 
				
			|||||||
zstyle ':completion:*:history-words' list false
 | 
					zstyle ':completion:*:history-words' list false
 | 
				
			||||||
zstyle ':completion:*:history-words' menu yes
 | 
					zstyle ':completion:*:history-words' menu yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Environmental Variables
 | 
					# Environment Variables
 | 
				
			||||||
zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
 | 
					zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Populate hostname completion.
 | 
					# Populate hostname completion. But allow ignoring custom entries from static
 | 
				
			||||||
 | 
					# */etc/hosts* which might be uninteresting.
 | 
				
			||||||
 | 
					zstyle -a ':prezto:module:completion:*:hosts' etc-host-ignores '_etc_host_ignores'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
zstyle -e ':completion:*:hosts' hosts 'reply=(
 | 
					zstyle -e ':completion:*:hosts' hosts 'reply=(
 | 
				
			||||||
  ${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
 | 
					  ${=${=${=${${(f)"$(cat {/etc/ssh/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))"}%%(\#${_etc_host_ignores:+|${(j:|:)~_etc_host_ignores}})*}
 | 
				
			||||||
  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
 | 
					  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2> /dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
 | 
				
			||||||
)'
 | 
					)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Don't complete uninteresting users...
 | 
					# Don't complete uninteresting users...
 | 
				
			||||||
@@ -139,9 +182,8 @@ if [[ -s "$HOME/.mutt/aliases" ]]; then
 | 
				
			|||||||
fi
 | 
					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:*:(ssh|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 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
					 | 
				
			||||||
zstyle ':completion:*:ssh:*' group-order users 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:]]##)##' '*@*'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,35 +1,30 @@
 | 
				
			|||||||
Directory
 | 
					# Directory
 | 
				
			||||||
=========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets directory options and defines directory aliases.
 | 
					Sets directory options and defines directory aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Options
 | 
					## Options
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `AUTO_CD` auto changes to a directory without typing `cd`.
 | 
					- `AUTO_CD` auto changes to a directory without typing `cd`.
 | 
				
			||||||
  - `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
 | 
					- `AUTO_PUSHD` pushes the old directory onto the stack on `cd`.
 | 
				
			||||||
  - `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
 | 
					- `PUSHD_IGNORE_DUPS` does not store duplicates in the stack.
 | 
				
			||||||
  - `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`.
 | 
					- `PUSHD_SILENT` does not print the directory stack after `pushd` or `popd`.
 | 
				
			||||||
  - `PUSHD_TO_HOME` pushes to the home directory when no argument is given.
 | 
					- `PUSHD_TO_HOME` pushes to the home directory when no argument is given.
 | 
				
			||||||
  - `CDABLE_VARS` changes directory to a path stored in a variable.
 | 
					- `CDABLE_VARS` changes directory to a path stored in a variable.
 | 
				
			||||||
  - `AUTO_NAME_DIRS` auto adds variable-stored paths to `~` list.
 | 
					- `MULTIOS` writes to multiple descriptors.
 | 
				
			||||||
  - `MULTIOS` writes to multiple descriptors.
 | 
					- `EXTENDED_GLOB` uses extended globbing syntax.
 | 
				
			||||||
  - `EXTENDED_GLOB` uses extended globbing syntax.
 | 
					- `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
 | 
				
			||||||
  - `CLOBBER` does not overwrite existing files with `>` and `>>`. Use `>!` and
 | 
					 | 
				
			||||||
  `>>!` to bypass.
 | 
					  `>>!` to bypass.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `d` prints the contents of the directory stack.
 | 
					- `d` prints the contents of the directory stack.
 | 
				
			||||||
  - `1 ... 9` changes the directory to the **n** previous one.
 | 
					- `1 ... 9` changes the directory to the **n** previous one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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][1]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [James Cox](https://github.com/imajes)
 | 
					- [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]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,7 +16,6 @@ setopt PUSHD_IGNORE_DUPS    # Do not store duplicates in the stack.
 | 
				
			|||||||
setopt PUSHD_SILENT         # Do not print the directory stack after pushd or popd.
 | 
					setopt PUSHD_SILENT         # Do not print the directory stack after pushd or popd.
 | 
				
			||||||
setopt PUSHD_TO_HOME        # Push to home directory when no argument is given.
 | 
					setopt PUSHD_TO_HOME        # Push to home directory when no argument is given.
 | 
				
			||||||
setopt CDABLE_VARS          # Change directory to a path stored in a variable.
 | 
					setopt CDABLE_VARS          # Change directory to a path stored in a variable.
 | 
				
			||||||
setopt AUTO_NAME_DIRS       # Auto add variable-stored paths to ~ list.
 | 
					 | 
				
			||||||
setopt MULTIOS              # Write to multiple descriptors.
 | 
					setopt MULTIOS              # Write to multiple descriptors.
 | 
				
			||||||
setopt EXTENDED_GLOB        # Use extended globbing syntax.
 | 
					setopt EXTENDED_GLOB        # Use extended globbing syntax.
 | 
				
			||||||
unsetopt CLOBBER            # Do not overwrite existing files with > and >>.
 | 
					unsetopt CLOBBER            # Do not overwrite existing files with > and >>.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,29 +1,25 @@
 | 
				
			|||||||
DNF
 | 
					# DNF
 | 
				
			||||||
===
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines [dnf][1] aliases.
 | 
					Defines [dnf][1] aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `dnfc` removes package(s) and leaves.
 | 
					- `dnfc` removes package(s) and leaves.
 | 
				
			||||||
  - `dnfi` installs package(s).
 | 
					- `dnfi` installs package(s).
 | 
				
			||||||
  - `dnfh` displays history.
 | 
					- `dnfh` displays history.
 | 
				
			||||||
  - `dnfl` lists packages.
 | 
					- `dnfl` lists packages.
 | 
				
			||||||
  - `dnfL` lists installed packages.
 | 
					- `dnfL` lists installed packages.
 | 
				
			||||||
  - `dnfq` displays package information.
 | 
					- `dnfq` displays package information.
 | 
				
			||||||
  - `dnfr` removes package(s).
 | 
					- `dnfr` removes package(s).
 | 
				
			||||||
  - `dnfs` searches for a package.
 | 
					- `dnfs` searches for a package.
 | 
				
			||||||
  - `dnfu` updates packages.
 | 
					- `dnfu` updates packages.
 | 
				
			||||||
  - `dnfU` upgrates packages.
 | 
					- `dnfU` upgrades packages.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://fedoraproject.org/wiki/Features/DNF
 | 
					[1]: https://fedoraproject.org/wiki/Features/DNF
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										196
									
								
								modules/docker/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								modules/docker/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,196 @@
 | 
				
			|||||||
 | 
					# Docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Defines [Docker][1] aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dk` is short for `docker`
 | 
				
			||||||
 | 
					- `dka` Attach to a running container
 | 
				
			||||||
 | 
					- `dkb` Build an image from a Dockerfile
 | 
				
			||||||
 | 
					- `dkd` Inspect changes on a container's filesystem
 | 
				
			||||||
 | 
					- `dkdf` Show docker filesystem usage
 | 
				
			||||||
 | 
					- `dke` Run a command in a running container
 | 
				
			||||||
 | 
					- `dkE` Run an interactive command in a running container
 | 
				
			||||||
 | 
					- `dkh` Show the history of an image
 | 
				
			||||||
 | 
					- `dki` List images
 | 
				
			||||||
 | 
					- `dkin` Return low-level information on a container, image or task
 | 
				
			||||||
 | 
					- `dkk` Kill a running container
 | 
				
			||||||
 | 
					- `dkl` Fetch the logs of a container
 | 
				
			||||||
 | 
					- `dkli` Log in to a Docker registry
 | 
				
			||||||
 | 
					- `dklo` Log out from a Docker registry
 | 
				
			||||||
 | 
					- `dkls` is alias for `dkps`
 | 
				
			||||||
 | 
					- `dkp` Pause all processes within one or more containers
 | 
				
			||||||
 | 
					- `dkP` Unpause all processes within one or more containers
 | 
				
			||||||
 | 
					- `dkpl` Pull an image or a repository from a registry
 | 
				
			||||||
 | 
					- `dkph` Push an image or a repository to a registry
 | 
				
			||||||
 | 
					- `dkps` List containers
 | 
				
			||||||
 | 
					- `dkpsa` List all containers (default lists just running)
 | 
				
			||||||
 | 
					- `dkr` Run a command in a new container
 | 
				
			||||||
 | 
					- `dkR` Run an interactive command in a new container and automatically remove
 | 
				
			||||||
 | 
					  the container when it exits
 | 
				
			||||||
 | 
					- `dkRe` like `dkR` and set entry point to `/bin/bash`
 | 
				
			||||||
 | 
					- `dkrm` Remove one or more containers
 | 
				
			||||||
 | 
					- `dkrmi` Remove one or more images
 | 
				
			||||||
 | 
					- `dkrmC` Clean up exited containers
 | 
				
			||||||
 | 
					- `dkrmI` Clean up dangling images
 | 
				
			||||||
 | 
					- `dkrmV` Clean up unused volumes ( Docker >= 1.9 )
 | 
				
			||||||
 | 
					- `dkrn` Rename a container
 | 
				
			||||||
 | 
					- `dks` Start one or more stopped containers
 | 
				
			||||||
 | 
					- `dkS` Restart a container
 | 
				
			||||||
 | 
					- `dkss` Display a live stream of container(s) resource usage statistics
 | 
				
			||||||
 | 
					- `dksv` Save one or more images to a tar archive (streamed to STDOUT by
 | 
				
			||||||
 | 
					  default)
 | 
				
			||||||
 | 
					- `dkt` Tag an image into a repository
 | 
				
			||||||
 | 
					- `dktop` Display the running processes of a container
 | 
				
			||||||
 | 
					- `dkup` Update configuration of one or more containers
 | 
				
			||||||
 | 
					- `dkV` Manage Docker volumes
 | 
				
			||||||
 | 
					- `dkv` Show the Docker version information
 | 
				
			||||||
 | 
					- `dkw` Block until a container stops, then print its exit code
 | 
				
			||||||
 | 
					- `dkx` Stop a running container
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### container (C)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkC` Manage containers
 | 
				
			||||||
 | 
					- `dkCa` Attach to a running container
 | 
				
			||||||
 | 
					- `dkCcp` Copy files/folders between a container and the local filesystem
 | 
				
			||||||
 | 
					- `dkCd` Inspect changes on a container's filesystem
 | 
				
			||||||
 | 
					- `dkCe` Run a command in a running container
 | 
				
			||||||
 | 
					- `dkCin` Display detailed information on one or more containers
 | 
				
			||||||
 | 
					- `dkCk` Kill one or more running containers
 | 
				
			||||||
 | 
					- `dkCl` Fetch the logs of a container
 | 
				
			||||||
 | 
					- `dkCls` List containers
 | 
				
			||||||
 | 
					- `dkCp` Pause all processes within one or more containers
 | 
				
			||||||
 | 
					- `dkCpr` Remove all stopped containers
 | 
				
			||||||
 | 
					- `dkCrn` Rename a container
 | 
				
			||||||
 | 
					- `dkCS` Restart one or more containers
 | 
				
			||||||
 | 
					- `dkCrm` Remove one or more containers
 | 
				
			||||||
 | 
					- `dkCr` Run a command in a new container
 | 
				
			||||||
 | 
					- `dkCR` Run an interactive command in a new container and automatically remove
 | 
				
			||||||
 | 
					  the container when it exits
 | 
				
			||||||
 | 
					- `dkCRe` like `dkCR` and set entry point to `/bin/bash`
 | 
				
			||||||
 | 
					- `dkCs` Start one or more stopped containers
 | 
				
			||||||
 | 
					- `dkCss` Display a live stream of container(s) resource usage statistics
 | 
				
			||||||
 | 
					- `dkCx` Stop one or more running containers
 | 
				
			||||||
 | 
					- `dkCtop` Display the running processes of a container
 | 
				
			||||||
 | 
					- `dkCP` Unpause all processes within one or more containers
 | 
				
			||||||
 | 
					- `dkCup` Update configuration of one or more containers
 | 
				
			||||||
 | 
					- `dkCw` Block until one or more containers stop, then print their exit codes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### image (I)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkI` Manage images
 | 
				
			||||||
 | 
					- `dkIb` Build an image from a Dockerfile
 | 
				
			||||||
 | 
					- `dkIh` Show the history of an image
 | 
				
			||||||
 | 
					- `dkIim` Import the contents from a tarball to create a filesystem image
 | 
				
			||||||
 | 
					- `dkIin` Display detailed information on one or more images
 | 
				
			||||||
 | 
					- `dkIls` List images
 | 
				
			||||||
 | 
					- `dkIpr` Remove unused images
 | 
				
			||||||
 | 
					- `dkIpl` Pull an image or a repository from a registry
 | 
				
			||||||
 | 
					- `dkIph` Push an image or a repository to a registry
 | 
				
			||||||
 | 
					- `dkIrm` Remove one or more images
 | 
				
			||||||
 | 
					- `dkIsv` Save one or more images to a tar archive (streamed to STDOUT by
 | 
				
			||||||
 | 
					  default)
 | 
				
			||||||
 | 
					- `dkIt` Tag an image into a repository
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### volume (V)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkV` Manage volumes
 | 
				
			||||||
 | 
					- `dkVin` Display detailed information on one or more volumes
 | 
				
			||||||
 | 
					- `dkVls` List volumes
 | 
				
			||||||
 | 
					- `dkVpr` Remove all unused volumes
 | 
				
			||||||
 | 
					- `dkVrm` Remove one or more volumes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### network (N)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkN` Manage networks
 | 
				
			||||||
 | 
					- `dkNs` Connect a container to a network
 | 
				
			||||||
 | 
					- `dkNx` Disconnects a container from a network
 | 
				
			||||||
 | 
					- `dkNin` Displays detailed information on a network
 | 
				
			||||||
 | 
					- `dkNls` Lists all the networks created by the user
 | 
				
			||||||
 | 
					- `dkNpr` Remove all unused networks
 | 
				
			||||||
 | 
					- `dkNrm` Deletes one or more networks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### system (Y)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkY` Manage Docker
 | 
				
			||||||
 | 
					- `dkYdf` Show docker filesystem usage
 | 
				
			||||||
 | 
					- `dkYpr` Remove unused data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### stack (K)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkK` Manage Docker stacks
 | 
				
			||||||
 | 
					- `dkKls` List stacks
 | 
				
			||||||
 | 
					- `dkKps` List the tasks in the stack
 | 
				
			||||||
 | 
					- `dkKrm` Remove the stack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### swarm (W)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkW` Manage Docker Swarm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Docker Machine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkm` is short for `docker-machine`
 | 
				
			||||||
 | 
					- `dkma` Get or set the active machine
 | 
				
			||||||
 | 
					- `dkmcp` Copy files between machines
 | 
				
			||||||
 | 
					- `dkmd` Set up the default machine ; alowing you to use `dkme` without
 | 
				
			||||||
 | 
					  arguments
 | 
				
			||||||
 | 
					- `dkme` Set up the environment for the Docker client (eg: `dkme staging` to
 | 
				
			||||||
 | 
					  toggle to staging)
 | 
				
			||||||
 | 
					- `dkmin` Inspect information about a machine
 | 
				
			||||||
 | 
					- `dkmip` Get the IP address of a machine
 | 
				
			||||||
 | 
					- `dkmk` Kill a machine
 | 
				
			||||||
 | 
					- `dkmls` List machines
 | 
				
			||||||
 | 
					- `dkmpr` Re-provision existing machines
 | 
				
			||||||
 | 
					- `dkmps` is alias for `dkmls`
 | 
				
			||||||
 | 
					- `dkmrg` Regenerate TLS Certificates for a machine
 | 
				
			||||||
 | 
					- `dkmrm` Remove a machine
 | 
				
			||||||
 | 
					- `dkms` Start a machine
 | 
				
			||||||
 | 
					- `dkmsh` Log into or run a command on a machine with SSH
 | 
				
			||||||
 | 
					- `dkmst` Get the status of a machine
 | 
				
			||||||
 | 
					- `dkmS` Restart a machine
 | 
				
			||||||
 | 
					- `dkmu` Get the URL of a machine
 | 
				
			||||||
 | 
					- `dkmup` Upgrade a machine to the latest version of Docker
 | 
				
			||||||
 | 
					- `dkmV` Show the Docker Machine version or a machine docker version
 | 
				
			||||||
 | 
					- `dkmx` Stop a machine
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Docker Compose
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `dkc` is short for `docker-compose`
 | 
				
			||||||
 | 
					- `dkcb` Build or rebuild services
 | 
				
			||||||
 | 
					- `dkcB` Build or rebuild services and do not use cache when building the image
 | 
				
			||||||
 | 
					- `dkcd` Stop and remove containers, networks, images, and volumes
 | 
				
			||||||
 | 
					- `dkce` Execute a command in a running container
 | 
				
			||||||
 | 
					- `dkck` Kill containers
 | 
				
			||||||
 | 
					- `dkcl` View output from containers
 | 
				
			||||||
 | 
					- `dkcls` is alias for `dkcps`
 | 
				
			||||||
 | 
					- `dkcp` Pause services
 | 
				
			||||||
 | 
					- `dkcP` Unpause services
 | 
				
			||||||
 | 
					- `dkcpl` Pull service images
 | 
				
			||||||
 | 
					- `dkcph` Push service images
 | 
				
			||||||
 | 
					- `dkcps` List containers
 | 
				
			||||||
 | 
					- `dkcr` Run a one-off command
 | 
				
			||||||
 | 
					- `dkcR` Run a one-off command and remove container after run.
 | 
				
			||||||
 | 
					- `dkcrm` Remove stopped containers
 | 
				
			||||||
 | 
					- `dkcs` Start services
 | 
				
			||||||
 | 
					- `dkcsc` Set number of containers for a service
 | 
				
			||||||
 | 
					- `dkcS` Restart services
 | 
				
			||||||
 | 
					- `dkcu` Create and start containers
 | 
				
			||||||
 | 
					- `dkcU` Create and start containers in detached mode: Run containers in the
 | 
				
			||||||
 | 
					  background, print new container names
 | 
				
			||||||
 | 
					- `dkcV` Show the Docker-Compose version information
 | 
				
			||||||
 | 
					- `dkcx` Stop services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Support
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you're having problems, use the [Prezto issue tracker][2].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Acknowledgements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This module is a copy of [akarzim/zsh-docker-aliases][3] by [François Vantomme][4] (MIT License).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: https://www.docker.com/
 | 
				
			||||||
 | 
					[2]: https://github.com/zsh-users/prezto/issues
 | 
				
			||||||
 | 
					[3]: https://github.com/akarzim/zsh-docker-aliases
 | 
				
			||||||
 | 
					[4]: https://github.com/akarzim
 | 
				
			||||||
							
								
								
									
										177
									
								
								modules/docker/alias.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								modules/docker/alias.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,177 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Defines Docker aliases.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Author:
 | 
				
			||||||
 | 
					#   François Vantomme <akarzim@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Docker
 | 
				
			||||||
 | 
					alias dk='docker'
 | 
				
			||||||
 | 
					alias dka='docker attach'
 | 
				
			||||||
 | 
					alias dkb='docker build'
 | 
				
			||||||
 | 
					alias dkd='docker diff'
 | 
				
			||||||
 | 
					alias dkdf='docker system df'
 | 
				
			||||||
 | 
					alias dke='docker exec'
 | 
				
			||||||
 | 
					alias dkE='docker exec -it'
 | 
				
			||||||
 | 
					alias dkh='docker history'
 | 
				
			||||||
 | 
					alias dki='docker images'
 | 
				
			||||||
 | 
					alias dkin='docker inspect'
 | 
				
			||||||
 | 
					alias dkim='docker import'
 | 
				
			||||||
 | 
					alias dkk='docker kill'
 | 
				
			||||||
 | 
					alias dkl='docker logs'
 | 
				
			||||||
 | 
					alias dkli='docker login'
 | 
				
			||||||
 | 
					alias dklo='docker logout'
 | 
				
			||||||
 | 
					alias dkls='docker ps'
 | 
				
			||||||
 | 
					alias dkp='docker pause'
 | 
				
			||||||
 | 
					alias dkP='docker unpause'
 | 
				
			||||||
 | 
					alias dkpl='docker pull'
 | 
				
			||||||
 | 
					alias dkph='docker push'
 | 
				
			||||||
 | 
					alias dkps='docker ps'
 | 
				
			||||||
 | 
					alias dkpsa='docker ps -a'
 | 
				
			||||||
 | 
					alias dkr='docker run'
 | 
				
			||||||
 | 
					alias dkR='docker run -it --rm'
 | 
				
			||||||
 | 
					alias dkRe='docker run -it --rm --entrypoint /bin/bash'
 | 
				
			||||||
 | 
					alias dkRM='docker system prune'
 | 
				
			||||||
 | 
					alias dkrm='docker rm'
 | 
				
			||||||
 | 
					alias dkrmi='docker rmi'
 | 
				
			||||||
 | 
					alias dkrn='docker rename'
 | 
				
			||||||
 | 
					alias dks='docker start'
 | 
				
			||||||
 | 
					alias dkS='docker restart'
 | 
				
			||||||
 | 
					alias dkss='docker stats'
 | 
				
			||||||
 | 
					alias dksv='docker save'
 | 
				
			||||||
 | 
					alias dkt='docker tag'
 | 
				
			||||||
 | 
					alias dktop='docker top'
 | 
				
			||||||
 | 
					alias dkup='docker update'
 | 
				
			||||||
 | 
					alias dkV='docker volume'
 | 
				
			||||||
 | 
					alias dkv='docker version'
 | 
				
			||||||
 | 
					alias dkw='docker wait'
 | 
				
			||||||
 | 
					alias dkx='docker stop'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Container (C)
 | 
				
			||||||
 | 
					alias dkC='docker container'
 | 
				
			||||||
 | 
					alias dkCa='docker container attach'
 | 
				
			||||||
 | 
					alias dkCcp='docker container cp'
 | 
				
			||||||
 | 
					alias dkCd='docker container diff'
 | 
				
			||||||
 | 
					alias dkCe='docker container exec'
 | 
				
			||||||
 | 
					alias dkCin='docker container inspect'
 | 
				
			||||||
 | 
					alias dkCk='docker container kill'
 | 
				
			||||||
 | 
					alias dkCl='docker container logs'
 | 
				
			||||||
 | 
					alias dkCls='docker container ls'
 | 
				
			||||||
 | 
					alias dkCp='docker container pause'
 | 
				
			||||||
 | 
					alias dkCpr='docker container prune'
 | 
				
			||||||
 | 
					alias dkCrn='docker container rename'
 | 
				
			||||||
 | 
					alias dkCS='docker container restart'
 | 
				
			||||||
 | 
					alias dkCrm='docker container rm'
 | 
				
			||||||
 | 
					alias dkCr='docker container run'
 | 
				
			||||||
 | 
					alias dkCR='docker container run -it --rm'
 | 
				
			||||||
 | 
					alias dkCRe='docker container run -it --rm --entrypoint /bin/bash'
 | 
				
			||||||
 | 
					alias dkCs='docker container start'
 | 
				
			||||||
 | 
					alias dkCss='docker container stats'
 | 
				
			||||||
 | 
					alias dkCx='docker container stop'
 | 
				
			||||||
 | 
					alias dkCtop='docker container top'
 | 
				
			||||||
 | 
					alias dkCP='docker container unpause'
 | 
				
			||||||
 | 
					alias dkCup='docker container update'
 | 
				
			||||||
 | 
					alias dkCw='docker container wait'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Image (I)
 | 
				
			||||||
 | 
					alias dkI='docker image'
 | 
				
			||||||
 | 
					alias dkIb='docker image build'
 | 
				
			||||||
 | 
					alias dkIh='docker image history'
 | 
				
			||||||
 | 
					alias dkIim='docker image import'
 | 
				
			||||||
 | 
					alias dkIin='docker image inspect'
 | 
				
			||||||
 | 
					alias dkIls='docker image ls'
 | 
				
			||||||
 | 
					alias dkIpr='docker image prune'
 | 
				
			||||||
 | 
					alias dkIpl='docker image pull'
 | 
				
			||||||
 | 
					alias dkIph='docker image push'
 | 
				
			||||||
 | 
					alias dkIrm='docker image rm'
 | 
				
			||||||
 | 
					alias dkIsv='docker image save'
 | 
				
			||||||
 | 
					alias dkIt='docker image tag'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Volume (V)
 | 
				
			||||||
 | 
					alias dkV='docker volume'
 | 
				
			||||||
 | 
					alias dkVin='docker volume inspect'
 | 
				
			||||||
 | 
					alias dkVls='docker volume ls'
 | 
				
			||||||
 | 
					alias dkVpr='docker volume prune'
 | 
				
			||||||
 | 
					alias dkVrm='docker volume rm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Network (N)
 | 
				
			||||||
 | 
					alias dkN='docker network'
 | 
				
			||||||
 | 
					alias dkNs='docker network connect'
 | 
				
			||||||
 | 
					alias dkNx='docker network disconnect'
 | 
				
			||||||
 | 
					alias dkNin='docker network inspect'
 | 
				
			||||||
 | 
					alias dkNls='docker network ls'
 | 
				
			||||||
 | 
					alias dkNpr='docker network prune'
 | 
				
			||||||
 | 
					alias dkNrm='docker network rm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## System (Y)
 | 
				
			||||||
 | 
					alias dkY='docker system'
 | 
				
			||||||
 | 
					alias dkYdf='docker system df'
 | 
				
			||||||
 | 
					alias dkYpr='docker system prune'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Stack (K)
 | 
				
			||||||
 | 
					alias dkK='docker stack'
 | 
				
			||||||
 | 
					alias dkKls='docker stack ls'
 | 
				
			||||||
 | 
					alias dkKps='docker stack ps'
 | 
				
			||||||
 | 
					alias dkKrm='docker stack rm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Swarm (W)
 | 
				
			||||||
 | 
					alias dkW='docker swarm'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## CleanUp (rm)
 | 
				
			||||||
 | 
					# Clean up exited containers (docker < 1.13)
 | 
				
			||||||
 | 
					alias dkrmC='docker rm $(docker ps -qaf status=exited)'
 | 
				
			||||||
 | 
					# Clean up dangling images (docker < 1.13)
 | 
				
			||||||
 | 
					alias dkrmI='docker rmi $(docker images -qf dangling=true)'
 | 
				
			||||||
 | 
					# Clean up dangling volumes (docker < 1.13)
 | 
				
			||||||
 | 
					alias dkrmV='docker volume rm $(docker volume ls -qf dangling=true)'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Docker Machine (m)
 | 
				
			||||||
 | 
					alias dkm='docker-machine'
 | 
				
			||||||
 | 
					alias dkma='docker-machine active'
 | 
				
			||||||
 | 
					alias dkmcp='docker-machine scp'
 | 
				
			||||||
 | 
					alias dkmin='docker-machine inspect'
 | 
				
			||||||
 | 
					alias dkmip='docker-machine ip'
 | 
				
			||||||
 | 
					alias dkmk='docker-machine kill'
 | 
				
			||||||
 | 
					alias dkmls='docker-machine ls'
 | 
				
			||||||
 | 
					alias dkmpr='docker-machine provision'
 | 
				
			||||||
 | 
					alias dkmps='docker-machine ps'
 | 
				
			||||||
 | 
					alias dkmrg='docker-machine regenerate-certs'
 | 
				
			||||||
 | 
					alias dkmrm='docker-machine rm'
 | 
				
			||||||
 | 
					alias dkms='docker-machine start'
 | 
				
			||||||
 | 
					alias dkmsh='docker-machine ssh'
 | 
				
			||||||
 | 
					alias dkmst='docker-machine status'
 | 
				
			||||||
 | 
					alias dkmS='docker-machine restart'
 | 
				
			||||||
 | 
					alias dkmu='docker-machine url'
 | 
				
			||||||
 | 
					alias dkmup='docker-machine upgrade'
 | 
				
			||||||
 | 
					alias dkmv='docker-machine version'
 | 
				
			||||||
 | 
					alias dkmx='docker-machine stop'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Docker Compose (c)
 | 
				
			||||||
 | 
					alias dkc='docker compose'
 | 
				
			||||||
 | 
					alias dkcb='docker compose build'
 | 
				
			||||||
 | 
					alias dkcB='docker compose build --no-cache'
 | 
				
			||||||
 | 
					alias dkcd='docker compose down'
 | 
				
			||||||
 | 
					alias dkce='docker compose exec'
 | 
				
			||||||
 | 
					alias dkck='docker compose kill'
 | 
				
			||||||
 | 
					alias dkcl='docker compose logs'
 | 
				
			||||||
 | 
					alias dkcls='docker compose ps'
 | 
				
			||||||
 | 
					alias dkcp='docker compose pause'
 | 
				
			||||||
 | 
					alias dkcP='docker compose unpause'
 | 
				
			||||||
 | 
					alias dkcpl='docker compose pull'
 | 
				
			||||||
 | 
					alias dkcph='docker compose push'
 | 
				
			||||||
 | 
					alias dkcps='docker compose ps'
 | 
				
			||||||
 | 
					alias dkcr='docker compose run'
 | 
				
			||||||
 | 
					alias dkcR='docker compose run --rm'
 | 
				
			||||||
 | 
					alias dkcrm='docker compose rm'
 | 
				
			||||||
 | 
					alias dkcs='docker compose start'
 | 
				
			||||||
 | 
					alias dkcsc='docker compose scale'
 | 
				
			||||||
 | 
					alias dkcS='docker compose restart'
 | 
				
			||||||
 | 
					alias dkcu='docker compose up'
 | 
				
			||||||
 | 
					alias dkcU='docker compose up -d'
 | 
				
			||||||
 | 
					alias dkcv='docker compose version'
 | 
				
			||||||
 | 
					alias dkcx='docker compose stop'
 | 
				
			||||||
							
								
								
									
										57
									
								
								modules/docker/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								modules/docker/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Defines Docker aliases.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Author:
 | 
				
			||||||
 | 
					#   François Vantomme <akarzim@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Return if requirements are not found.
 | 
				
			||||||
 | 
					if (( ! $+commands[docker] )); then
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Functions
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set Docker Machine environment
 | 
				
			||||||
 | 
					function dkme {
 | 
				
			||||||
 | 
					  if (( ! $+commands[docker-machine] )); then
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  eval $(docker-machine env $1)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Set Docker Machine default machine
 | 
				
			||||||
 | 
					function dkmd {
 | 
				
			||||||
 | 
					  if (( ! $+commands[docker-machine] )); then
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  pushd ~/.docker/machine/machines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ ! -d $1 ]]; then
 | 
				
			||||||
 | 
					    echo "Docker machine '$1' does not exists. Abort."
 | 
				
			||||||
 | 
					    popd
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ -L default ]]; then
 | 
				
			||||||
 | 
					    eval $(rm -f default)
 | 
				
			||||||
 | 
					  elif [[ -d default ]]; then
 | 
				
			||||||
 | 
					    echo "A default machine already exists. Abort."
 | 
				
			||||||
 | 
					    popd
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  elif [[ -e default ]]; then
 | 
				
			||||||
 | 
					    echo "A file named 'default' already exists. Abort."
 | 
				
			||||||
 | 
					    popd
 | 
				
			||||||
 | 
					    return 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  eval $(ln -s $1 default)
 | 
				
			||||||
 | 
					  popd
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Source module files.
 | 
				
			||||||
 | 
					source "${0:h}/alias.zsh"
 | 
				
			||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
Dpkg
 | 
					# Dpkg
 | 
				
			||||||
====
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines [dpkg][1] aliases and functions.
 | 
					Defines [_dpkg_][1] aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `debc` cleans the cache.
 | 
					- `debc` cleans the cache.
 | 
				
			||||||
- `debf` displays a file's package.
 | 
					- `debf` displays a file's package.
 | 
				
			||||||
@@ -20,22 +18,20 @@ Aliases
 | 
				
			|||||||
- `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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					## Functions
 | 
				
			||||||
---------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
- `deb-clone` generates a script that can be used to duplicate a dpkg-based
 | 
					- `deb-clone` generates a script that can be used to duplicate a `dpkg`-based
 | 
				
			||||||
  system.
 | 
					  system.
 | 
				
			||||||
- `deb-history` displays dpkg history.
 | 
					- `deb-history` displays `dpkg` history.
 | 
				
			||||||
- `deb-kbuild` makes a dpkg Linux kernel package.
 | 
					- `deb-kbuild` makes a `dpkg` Linux kernel package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Daniel Bolton](https://github.com/dbb)
 | 
					- [Daniel Bolton](https://github.com/dbb)
 | 
				
			||||||
  - [Benjamin Boudreau](https://github.com/dreur)
 | 
					- [Benjamin Boudreau](https://github.com/dreur)
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://wiki.debian.org/Teams/Dpkg
 | 
					[1]: https://wiki.debian.org/Teams/Dpkg
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,8 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function deb-clone {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local clone_script="${0}.sh"
 | 
					local clone_script="${0}.sh"
 | 
				
			||||||
local package_list=$(
 | 
					local package_list=$(
 | 
				
			||||||
  perl \
 | 
					  perl \
 | 
				
			||||||
@@ -23,3 +25,5 @@ rm "$clone_script"
 | 
				
			|||||||
print '#!/bin/sh\n' > "$clone_script"
 | 
					print '#!/bin/sh\n' > "$clone_script"
 | 
				
			||||||
print "aptitude install ${package_list}\n" >> "$clone_script"
 | 
					print "aptitude install ${package_list}\n" >> "$clone_script"
 | 
				
			||||||
chmod +x "$clone_script"
 | 
					chmod +x "$clone_script"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,8 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function deb-history {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
case "$1" in
 | 
					case "$1" in
 | 
				
			||||||
  (install)
 | 
					  (install)
 | 
				
			||||||
    zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
 | 
					    zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
 | 
				
			||||||
@@ -34,3 +36,5 @@ Commands:
 | 
				
			|||||||
EOF
 | 
					EOF
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,13 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function deb-kbuild {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
make-kpkg clean
 | 
					make-kpkg clean
 | 
				
			||||||
MAKEFLAGS='' time fakeroot make-kpkg \
 | 
					MAKEFLAGS='' time fakeroot make-kpkg \
 | 
				
			||||||
  --append-to-version '-custom' \
 | 
					  --append-to-version '-custom' \
 | 
				
			||||||
  --revision "$(date +"%Y%m%d")" \
 | 
					  --revision "$(date +"%Y%m%d")" \
 | 
				
			||||||
  kernel_image \
 | 
					  kernel_image \
 | 
				
			||||||
  kernel_headers
 | 
					  kernel_headers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,4 +54,4 @@ fi
 | 
				
			|||||||
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.
 | 
				
			||||||
alias deb-kclean='sudo aptitude remove -P "?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))"'
 | 
					alias deb-kclean='sudo aptitude remove -P "?and(~i~nlinux-(ima|hea) ?not(~n$(uname -r)))"'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,61 +1,102 @@
 | 
				
			|||||||
Editor
 | 
					# Editor
 | 
				
			||||||
======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets key bindings.
 | 
					Sets editor specific key bindings options and variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Settings
 | 
					## Options
 | 
				
			||||||
--------
 | 
					
 | 
				
			||||||
 | 
					- `BEEP` beep on error in line editor.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `WORDCHARS` treat a given set of characters as part of a word.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Key bindings
 | 
					### Key bindings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
 | 
					To enable key bindings, add the following to _`${ZDOTDIR:-$HOME}/.zpreztorc`_,
 | 
				
			||||||
with 'emacs' or 'vi'.
 | 
					and replace `'<bindings>'` with `'emacs'` or `'vi'`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor' key-bindings 'bindings'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor' key-bindings '<bindings>'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Dot Expansion
 | 
					### Dot Expansion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable the auto conversion of .... to ../.., add the following to
 | 
					To enable the auto conversion of .... to ../.., add the following to
 | 
				
			||||||
*zpreztorc*.
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Theming
 | 
					### PS Context
 | 
				
			||||||
-------
 | 
					
 | 
				
			||||||
 | 
					To enable the prompt context to be set, add the following to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor' ps-context 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Theming
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To indicate when the editor is in the primary keymap (emacs or viins), add
 | 
					To indicate when the editor is in the primary keymap (emacs or viins), add
 | 
				
			||||||
the following to your `theme_prompt_setup` function.
 | 
					the following to your `theme_prompt_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To indicate when the editor is in the primary keymap (emacs or viins) insert
 | 
					To indicate when the editor is in the primary keymap (emacs or viins) insert
 | 
				
			||||||
mode, add the following to your `theme_prompt_setup` function.
 | 
					mode, add the following to your `theme_prompt_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To indicate when the editor is in the primary keymap (emacs or viins) overwrite
 | 
					To indicate when the editor is in the primary keymap (emacs or viins) overwrite
 | 
				
			||||||
mode, add the following to your `theme_prompt_setup` function.
 | 
					mode, add the following to your `theme_prompt_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To indicate when the editor is in the alternate keymap (vicmd), add the
 | 
					To indicate when the editor is in the alternate keymap (vicmd), add the
 | 
				
			||||||
following to your `theme_prompt_setup` function.
 | 
					following to your `theme_prompt_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To indicate when the editor is completing, add the following to your
 | 
					To indicate when the editor is completing, add the following to your
 | 
				
			||||||
`theme_prompt_setup` function.
 | 
					`theme_prompt_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:editor:info:completing' format '...'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:editor:info:completing' format '...'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
 | 
					Then add `$editor_info[context]`, where context is _keymap_, _insert_, or
 | 
				
			||||||
*overwrite*, to `$PROMPT` or `$RPROMPT`.
 | 
					_overwrite_, to `$PROMPT` or `$RPROMPT`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Convenience Functions
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
					### bindkey-all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					Provides a function `bindkey-all` which can be useful for checking how all of
 | 
				
			||||||
 | 
					the keys are bound. Normal `bindkey` command will only list the keys bound for
 | 
				
			||||||
 | 
					one keymap, which is not as useful if you want to grep through the output. The
 | 
				
			||||||
 | 
					keymap's names go to stderr so when you grep through `bindkey-all`'s output you
 | 
				
			||||||
 | 
					will still see the headings and can tell which keymap each binding goes to.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/oh-my-zsh/issues
 | 
					It will also pass through arguments so you can use bindkey-all to set bindings
 | 
				
			||||||
 | 
					for all keymaps at once. If provided arguments it will _not_ print out the
 | 
				
			||||||
 | 
					names of each of the keymaps, and just run the command for each keymap.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,8 +14,7 @@ fi
 | 
				
			|||||||
# Options
 | 
					# Options
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Beep on error in line editor.
 | 
					setopt BEEP                     # Beep on error in line editor.
 | 
				
			||||||
setopt BEEP
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Variables
 | 
					# Variables
 | 
				
			||||||
@@ -31,6 +30,8 @@ key_info=(
 | 
				
			|||||||
  'Control'         '\C-'
 | 
					  'Control'         '\C-'
 | 
				
			||||||
  'ControlLeft'     '\e[1;5D \e[5D \e\e[D \eOd'
 | 
					  'ControlLeft'     '\e[1;5D \e[5D \e\e[D \eOd'
 | 
				
			||||||
  'ControlRight'    '\e[1;5C \e[5C \e\e[C \eOc'
 | 
					  'ControlRight'    '\e[1;5C \e[5C \e\e[C \eOc'
 | 
				
			||||||
 | 
					  'ControlPageUp'   '\e[5;5~'
 | 
				
			||||||
 | 
					  'ControlPageDown' '\e[6;5~'
 | 
				
			||||||
  'Escape'       '\e'
 | 
					  'Escape'       '\e'
 | 
				
			||||||
  'Meta'         '\M-'
 | 
					  'Meta'         '\M-'
 | 
				
			||||||
  'Backspace'    "^?"
 | 
					  'Backspace'    "^?"
 | 
				
			||||||
@@ -78,10 +79,21 @@ zle -N edit-command-line
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Functions
 | 
					# Functions
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					# Runs bindkey but for all of the keymaps. Running it with no arguments will
 | 
				
			||||||
 | 
					# print out the mappings for all of the keymaps.
 | 
				
			||||||
 | 
					function bindkey-all {
 | 
				
			||||||
 | 
					  local keymap=''
 | 
				
			||||||
 | 
					  for keymap in $(bindkey -l); do
 | 
				
			||||||
 | 
					    [[ "$#" -eq 0 ]] && printf "#### %s\n" "${keymap}" 1>&2
 | 
				
			||||||
 | 
					    bindkey -M "${keymap}" "$@"
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
# Exposes information about the Zsh Line Editor via the $editor_info associative
 | 
					# Exposes information about the Zsh Line Editor via the $editor_info associative
 | 
				
			||||||
# array.
 | 
					# array.
 | 
				
			||||||
function editor-info {
 | 
					function editor-info {
 | 
				
			||||||
 | 
					  # Ensure that we're going to set the editor-info for prompts that
 | 
				
			||||||
 | 
					  # are prezto managed and/or compatible.
 | 
				
			||||||
 | 
					  if zstyle -t ':prezto:module:prompt' managed; then
 | 
				
			||||||
    # Clean up previous $editor_info.
 | 
					    # Clean up previous $editor_info.
 | 
				
			||||||
    unset editor_info
 | 
					    unset editor_info
 | 
				
			||||||
    typeset -gA editor_info
 | 
					    typeset -gA editor_info
 | 
				
			||||||
@@ -103,12 +115,28 @@ function editor-info {
 | 
				
			|||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    unset REPLY
 | 
					    unset REPLY
 | 
				
			||||||
 | 
					    zle zle-reset-prompt
 | 
				
			||||||
  zle reset-prompt
 | 
					  fi
 | 
				
			||||||
  zle -R
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
zle -N editor-info
 | 
					zle -N editor-info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Reset the prompt based on the current context and
 | 
				
			||||||
 | 
					# the ps-context option.
 | 
				
			||||||
 | 
					function zle-reset-prompt {
 | 
				
			||||||
 | 
					  if zstyle -t ':prezto:module:editor' ps-context; then
 | 
				
			||||||
 | 
					    # If we aren't within one of the specified contexts, then we want to reset
 | 
				
			||||||
 | 
					    # the prompt with the appropriate editor_info[keymap] if there is one.
 | 
				
			||||||
 | 
					    if [[ $CONTEXT != (select|cont) ]]; then
 | 
				
			||||||
 | 
					      zle reset-prompt
 | 
				
			||||||
 | 
					      zle -R
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    zle reset-prompt
 | 
				
			||||||
 | 
					    zle -R
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					zle -N zle-reset-prompt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Updates editor information when the keymap changes.
 | 
					# Updates editor information when the keymap changes.
 | 
				
			||||||
function zle-keymap-select {
 | 
					function zle-keymap-select {
 | 
				
			||||||
  zle editor-info
 | 
					  zle editor-info
 | 
				
			||||||
@@ -186,6 +214,14 @@ zle -N expand-dot-to-parent-directory-path
 | 
				
			|||||||
function expand-or-complete-with-indicator {
 | 
					function expand-or-complete-with-indicator {
 | 
				
			||||||
  local indicator
 | 
					  local indicator
 | 
				
			||||||
  zstyle -s ':prezto:module:editor:info:completing' format 'indicator'
 | 
					  zstyle -s ':prezto:module:editor:info:completing' format 'indicator'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # This is included to work around a bug in zsh which shows up when interacting
 | 
				
			||||||
 | 
					  # with multi-line prompts.
 | 
				
			||||||
 | 
					  if [[ -z "$indicator" ]]; then
 | 
				
			||||||
 | 
					    zle expand-or-complete
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  print -Pn "$indicator"
 | 
					  print -Pn "$indicator"
 | 
				
			||||||
  zle expand-or-complete
 | 
					  zle expand-or-complete
 | 
				
			||||||
  zle redisplay
 | 
					  zle redisplay
 | 
				
			||||||
@@ -201,6 +237,35 @@ function prepend-sudo {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
zle -N prepend-sudo
 | 
					zle -N prepend-sudo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Expand aliases
 | 
				
			||||||
 | 
					function glob-alias {
 | 
				
			||||||
 | 
					  zle _expand_alias
 | 
				
			||||||
 | 
					  zle expand-word
 | 
				
			||||||
 | 
					  zle magic-space
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					zle -N glob-alias
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Toggle the comment character at the start of the line. This is meant to work
 | 
				
			||||||
 | 
					# around a buggy implementation of pound-insert in zsh.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This is currently only used for the emacs keys because vi-pound-insert has
 | 
				
			||||||
 | 
					# been reported to work properly.
 | 
				
			||||||
 | 
					function pound-toggle {
 | 
				
			||||||
 | 
					  if [[ "$BUFFER" = '#'* ]]; then
 | 
				
			||||||
 | 
					    # Because of an oddity in how zsh handles the cursor when the buffer size
 | 
				
			||||||
 | 
					    # changes, we need to make this check before we modify the buffer and let
 | 
				
			||||||
 | 
					    # zsh handle moving the cursor back if it's past the end of the line.
 | 
				
			||||||
 | 
					    if [[ $CURSOR != $#BUFFER ]]; then
 | 
				
			||||||
 | 
					      (( CURSOR -= 1 ))
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    BUFFER="${BUFFER:1}"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    BUFFER="#$BUFFER"
 | 
				
			||||||
 | 
					    (( CURSOR += 1 ))
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					zle -N pound-toggle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Reset to default key bindings.
 | 
					# Reset to default key bindings.
 | 
				
			||||||
bindkey -d
 | 
					bindkey -d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -208,9 +273,11 @@ bindkey -d
 | 
				
			|||||||
# Emacs Key Bindings
 | 
					# Emacs Key Bindings
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}"
 | 
					for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}" \
 | 
				
			||||||
 | 
					  "${key_info[Escape]}${key_info[Left]}"
 | 
				
			||||||
  bindkey -M emacs "$key" emacs-backward-word
 | 
					  bindkey -M emacs "$key" emacs-backward-word
 | 
				
			||||||
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}"
 | 
					for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}" \
 | 
				
			||||||
 | 
					  "${key_info[Escape]}${key_info[Right]}"
 | 
				
			||||||
  bindkey -M emacs "$key" emacs-forward-word
 | 
					  bindkey -M emacs "$key" emacs-forward-word
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Kill to the beginning of the line.
 | 
					# Kill to the beginning of the line.
 | 
				
			||||||
@@ -236,15 +303,22 @@ if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
				
			|||||||
    history-incremental-pattern-search-forward
 | 
					    history-incremental-pattern-search-forward
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Toggle comment at the start of the line. Note that we use pound-toggle which
 | 
				
			||||||
 | 
					# is similar to pount insert, but meant to work around some issues that were
 | 
				
			||||||
 | 
					# being seen in iTerm.
 | 
				
			||||||
 | 
					bindkey -M emacs "$key_info[Escape];" pound-toggle
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Vi Key Bindings
 | 
					# Vi Key Bindings
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Edit command in an external editor.
 | 
					# Edit command in an external editor emacs style (v is used for visual mode)
 | 
				
			||||||
bindkey -M vicmd "v" edit-command-line
 | 
					bindkey -M vicmd "$key_info[Control]X$key_info[Control]E" edit-command-line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Undo/Redo
 | 
					# Undo/Redo
 | 
				
			||||||
bindkey -M vicmd "u" undo
 | 
					bindkey -M vicmd "u" undo
 | 
				
			||||||
 | 
					bindkey -M viins "$key_info[Control]_" undo
 | 
				
			||||||
bindkey -M vicmd "$key_info[Control]R" redo
 | 
					bindkey -M vicmd "$key_info[Control]R" redo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
					if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
				
			||||||
@@ -255,14 +329,61 @@ else
 | 
				
			|||||||
  bindkey -M vicmd "/" history-incremental-search-forward
 | 
					  bindkey -M vicmd "/" history-incremental-search-forward
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Toggle comment at the start of the line.
 | 
				
			||||||
 | 
					bindkey -M vicmd "#" vi-pound-insert
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Emacs and Vi Key Bindings
 | 
					# Emacs and Vi Key Bindings
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for keymap in 'emacs' 'viins'; do
 | 
					# Unbound keys in vicmd and viins mode will cause really odd things to happen
 | 
				
			||||||
 | 
					# such as the casing of all the characters you have typed changing or other
 | 
				
			||||||
 | 
					# undefined things. In emacs mode they just insert a tilde, but bind these keys
 | 
				
			||||||
 | 
					# in the main keymap to a noop op so if there is no keybind in the users mode
 | 
				
			||||||
 | 
					# it will fall back and do nothing.
 | 
				
			||||||
 | 
					function _prezto-zle-noop {  ; }
 | 
				
			||||||
 | 
					zle -N _prezto-zle-noop
 | 
				
			||||||
 | 
					local -a unbound_keys
 | 
				
			||||||
 | 
					unbound_keys=(
 | 
				
			||||||
 | 
					  "${key_info[F1]}"
 | 
				
			||||||
 | 
					  "${key_info[F2]}"
 | 
				
			||||||
 | 
					  "${key_info[F3]}"
 | 
				
			||||||
 | 
					  "${key_info[F4]}"
 | 
				
			||||||
 | 
					  "${key_info[F5]}"
 | 
				
			||||||
 | 
					  "${key_info[F6]}"
 | 
				
			||||||
 | 
					  "${key_info[F7]}"
 | 
				
			||||||
 | 
					  "${key_info[F8]}"
 | 
				
			||||||
 | 
					  "${key_info[F9]}"
 | 
				
			||||||
 | 
					  "${key_info[F10]}"
 | 
				
			||||||
 | 
					  "${key_info[F11]}"
 | 
				
			||||||
 | 
					  "${key_info[F12]}"
 | 
				
			||||||
 | 
					  "${key_info[PageUp]}"
 | 
				
			||||||
 | 
					  "${key_info[PageDown]}"
 | 
				
			||||||
 | 
					  "${key_info[ControlPageUp]}"
 | 
				
			||||||
 | 
					  "${key_info[ControlPageDown]}"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					for keymap in $unbound_keys; do
 | 
				
			||||||
 | 
					  bindkey -M viins "${keymap}" _prezto-zle-noop
 | 
				
			||||||
 | 
					  bindkey -M vicmd "${keymap}" _prezto-zle-noop
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Keybinds for all keymaps
 | 
				
			||||||
 | 
					for keymap in 'emacs' 'viins' 'vicmd'; do
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[Home]" beginning-of-line
 | 
					  bindkey -M "$keymap" "$key_info[Home]" beginning-of-line
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[End]" end-of-line
 | 
					  bindkey -M "$keymap" "$key_info[End]" end-of-line
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Keybinds for all vi keymaps
 | 
				
			||||||
 | 
					for keymap in viins vicmd; do
 | 
				
			||||||
 | 
					  # Ctrl + Left and Ctrl + Right bindings to forward/backward word
 | 
				
			||||||
 | 
					  for key in "${(s: :)key_info[ControlLeft]}"
 | 
				
			||||||
 | 
					    bindkey -M "$keymap" "$key" vi-backward-word
 | 
				
			||||||
 | 
					  for key in "${(s: :)key_info[ControlRight]}"
 | 
				
			||||||
 | 
					    bindkey -M "$keymap" "$key" vi-forward-word
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Keybinds for emacs and vi insert mode
 | 
				
			||||||
 | 
					for keymap in 'emacs' 'viins'; do
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[Insert]" overwrite-mode
 | 
					  bindkey -M "$keymap" "$key_info[Insert]" overwrite-mode
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[Delete]" delete-char
 | 
					  bindkey -M "$keymap" "$key_info[Delete]" delete-char
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[Backspace]" backward-delete-char
 | 
					  bindkey -M "$keymap" "$key_info[Backspace]" backward-delete-char
 | 
				
			||||||
@@ -305,8 +426,14 @@ for keymap in 'emacs' 'viins'; do
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # Insert 'sudo ' at the beginning of the line.
 | 
					  # Insert 'sudo ' at the beginning of the line.
 | 
				
			||||||
  bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]S" prepend-sudo
 | 
					  bindkey -M "$keymap" "$key_info[Control]X$key_info[Control]S" prepend-sudo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # control-space expands all aliases, including global
 | 
				
			||||||
 | 
					  bindkey -M "$keymap" "$key_info[Control] " glob-alias
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Delete key deletes character in vimcmd cmd mode instead of weird default functionality
 | 
				
			||||||
 | 
					bindkey -M vicmd "$key_info[Delete]" delete-char
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Do not expand .... to ../.. during incremental search.
 | 
					# Do not expand .... to ../.. during incremental search.
 | 
				
			||||||
if zstyle -t ':prezto:module:editor' dot-expansion; then
 | 
					if zstyle -t ':prezto:module:editor' dot-expansion; then
 | 
				
			||||||
  bindkey -M isearch . self-insert 2> /dev/null
 | 
					  bindkey -M isearch . self-insert 2> /dev/null
 | 
				
			||||||
@@ -326,4 +453,4 @@ else
 | 
				
			|||||||
  print "prezto: editor: invalid key bindings: $key_bindings" >&2
 | 
					  print "prezto: editor: invalid key bindings: $key_bindings" >&2
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unset key{,map,bindings}
 | 
					unset key{,map,_bindings}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
Emacs
 | 
					# Emacs
 | 
				
			||||||
=====
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables Emacs dependency management.
 | 
					Enables Emacs dependency management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dependency management
 | 
					## Dependency management
 | 
				
			||||||
---------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Carton][1] installs and manages Emacs packages for Emacs package development
 | 
					[Carton][1] installs and manages Emacs packages for Emacs package development
 | 
				
			||||||
and Emacs configuration.
 | 
					and Emacs configuration.
 | 
				
			||||||
@@ -12,22 +10,20 @@ and Emacs configuration.
 | 
				
			|||||||
This module prepends the Carton directory to the path variable to enable the
 | 
					This module prepends the Carton directory to the path variable to enable the
 | 
				
			||||||
execution of `carton`.
 | 
					execution of `carton`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Carton
 | 
					### Carton
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `cai` installs dependencies.
 | 
					- `cai` installs dependencies.
 | 
				
			||||||
  - `cau` updates dependencies.
 | 
					- `cau` updates dependencies.
 | 
				
			||||||
  - `caI` initializes the current directory for dependency management.
 | 
					- `caI` initializes the current directory for dependency management.
 | 
				
			||||||
  - `cae` executes a command which correct dependencies.
 | 
					- `cae` executes a command which correct dependencies.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
					- [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/rejeep/carton
 | 
					[1]: https://github.com/rejeep/carton
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,52 @@
 | 
				
			|||||||
Environment
 | 
					# Environment
 | 
				
			||||||
===========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets general shell options and defines environment variables.
 | 
					Sets general shell options and defines environment variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module must be loaded first.
 | 
					This module must be loaded first.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Environment Variables
 | 
					## Contributors
 | 
				
			||||||
---------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Contributors
 | 
					This module **MUST NOT** rely on any command that is not built in Zsh.
 | 
				
			||||||
------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module **MUST NOT** rely on any command not built in Zsh.
 | 
					Non-interactive environment variables should be defined in
 | 
				
			||||||
 | 
					[_`${ZDOTDIR:-$HOME}/.zshenv`_][1].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Non-interactive environment variables should be defined in *zshenv*.
 | 
					## Options
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					### General
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
					- `COMBINING_CHARS` combine zero-length punctuation characters (accents) with
 | 
				
			||||||
 | 
					  the base character.
 | 
				
			||||||
 | 
					- `INTERACTIVE_COMMENTS` enable comments in interactive shell.
 | 
				
			||||||
 | 
					- `RC_QUOTES` allow 'Henry''s Garage' instead of 'Henry'\''s Garage'.
 | 
				
			||||||
 | 
					- `MAIL_WARNING` don't print a warning message if a mail file has been accessed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					### Jobs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					- `LONG_LIST_JOBS` list jobs in the long format by default.
 | 
				
			||||||
 | 
					- `AUTO_RESUME` attempt to resume existing job before creating a new process.
 | 
				
			||||||
 | 
					- `NOTIFY` report status of background jobs immediately.
 | 
				
			||||||
 | 
					- `BG_NICE` don't run all background jobs at a lower priority.
 | 
				
			||||||
 | 
					- `HUP` don't kill jobs on shell exit.
 | 
				
			||||||
 | 
					- `CHECK_JOBS` don't report on jobs when shell exit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Termcap
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_mb` begins blinking.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_md` begins bold.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_me` ends mode.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_se` ends standout-mode.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_so` begins standout-mode.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_ue` ends underline.
 | 
				
			||||||
 | 
					- `LESS_TERMCAP_us` begins underline.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][2]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: ../../runcoms#zshenv
 | 
				
			||||||
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,19 +9,36 @@
 | 
				
			|||||||
# Smart URLs
 | 
					# Smart URLs
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
autoload -Uz url-quote-magic
 | 
					# This logic comes from an old version of zim. Essentially, bracketed-paste was
 | 
				
			||||||
zle -N self-insert url-quote-magic
 | 
					# added as a requirement of url-quote-magic in 5.1, but in 5.1.1 bracketed
 | 
				
			||||||
 | 
					# paste had a regression. Additionally, 5.2 added bracketed-paste-url-magic
 | 
				
			||||||
 | 
					# which is generally better than url-quote-magic so we load that when possible.
 | 
				
			||||||
 | 
					autoload -Uz is-at-least
 | 
				
			||||||
 | 
					if [[ ${ZSH_VERSION} != 5.1.1 && ${TERM} != "dumb" ]]; then
 | 
				
			||||||
 | 
					  if is-at-least 5.2; then
 | 
				
			||||||
 | 
					    autoload -Uz bracketed-paste-url-magic
 | 
				
			||||||
 | 
					    zle -N bracketed-paste bracketed-paste-url-magic
 | 
				
			||||||
 | 
					  elif is-at-least 5.1; then
 | 
				
			||||||
 | 
					    autoload -Uz bracketed-paste-magic
 | 
				
			||||||
 | 
					    zle -N bracketed-paste bracketed-paste-magic
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  autoload -Uz url-quote-magic
 | 
				
			||||||
 | 
					  zle -N self-insert url-quote-magic
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# General
 | 
					# General
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setopt BRACE_CCL          # Allow brace character class list expansion.
 | 
					 | 
				
			||||||
setopt COMBINING_CHARS      # Combine zero-length punctuation characters (accents)
 | 
					setopt COMBINING_CHARS      # Combine zero-length punctuation characters (accents)
 | 
				
			||||||
                            # with the base character.
 | 
					                            # with the base character.
 | 
				
			||||||
 | 
					setopt INTERACTIVE_COMMENTS # Enable comments in interactive shell.
 | 
				
			||||||
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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Allow mapping Ctrl+S and Ctrl+Q shortcuts
 | 
				
			||||||
 | 
					[[ -r ${TTY:-} && -w ${TTY:-} && $+commands[stty] == 1 ]] && stty -ixon <$TTY >$TTY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Jobs
 | 
					# Jobs
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,38 +1,41 @@
 | 
				
			|||||||
Fasd
 | 
					# Fasd
 | 
				
			||||||
====
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Fasd][1] is a command-line productivity booster, inspired by tools like
 | 
					[Fasd][1] is a command-line productivity booster, inspired by tools like
 | 
				
			||||||
[autojump][2], [z][3] and [v][4], it offers quick access to files and
 | 
					[autojump][2], [z][3] and [v][4], it offers quick access to files and
 | 
				
			||||||
directories by keeping track of files and directories that were previously
 | 
					directories by keeping track of files and directories that were previously
 | 
				
			||||||
accessed.
 | 
					accessed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For completion to work, this module must be loaded **after** the *completion*
 | 
					For shell completion to work, this module must be loaded _after_ the
 | 
				
			||||||
module.
 | 
					[_`completion`_][5] module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The Prezto Fasd configuration differs from the default. The default aliases have
 | 
					The Prezto Fasd configuration differs from the default. The default aliases have
 | 
				
			||||||
been disabled.
 | 
					been disabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Installation
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `j` changes the current working directory interactively.
 | 
					`fasd` is bundled with prezto as a git submodule. Alternatively, you can
 | 
				
			||||||
 | 
					manually install `fasd`. If a manual installation is found, it will be used
 | 
				
			||||||
 | 
					instead of the bundled version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Completion
 | 
					## Aliases
 | 
				
			||||||
----------
 | 
					
 | 
				
			||||||
 | 
					- `j` changes the current working directory interactively.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Completion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`,
 | 
					Type `,`, `f,`, `d,` in front of a comma-separated query or type `,,`, `,,f`,
 | 
				
			||||||
`,,d` at the end of a comma-separated query then hit <kbd>tab</kbd>.
 | 
					`,,d` at the end of a comma-separated query then hit <kbd>TAB</kbd>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Authors
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][5].*
 | 
					_The authors of this module should be contacted via the [issue tracker][6]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Wei Dai](https://github.com/clvv)
 | 
					- [Wei Dai](https://github.com/clvv)
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/clvv/fasd
 | 
					[1]: https://github.com/clvv/fasd
 | 
				
			||||||
[2]: https://github.com/joelthelion/autojump
 | 
					[2]: https://github.com/joelthelion/autojump
 | 
				
			||||||
[3]: https://github.com/rupa/z
 | 
					[3]: https://github.com/rupa/z
 | 
				
			||||||
[4]: https://github.com/rupa/v
 | 
					[4]: https://github.com/rupa/v
 | 
				
			||||||
[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[5]: ../completion#readme
 | 
				
			||||||
 | 
					[6]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								modules/fasd/external
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								modules/fasd/external
									
									
									
									
									
										Submodule
									
								
							 Submodule modules/fasd/external added at 48220241e7
									
								
							@@ -9,17 +9,20 @@
 | 
				
			|||||||
# Load dependencies.
 | 
					# Load dependencies.
 | 
				
			||||||
pmodload 'editor'
 | 
					pmodload 'editor'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# If the command doesn't exist externally, we need to fall back to the bundled
 | 
				
			||||||
 | 
					# submodule.
 | 
				
			||||||
if (( ! $+commands[fasd] )); then
 | 
					if (( ! $+commands[fasd] )); then
 | 
				
			||||||
  return 1
 | 
					  source "${0:h}/external/fasd" || return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Initialization
 | 
					# Initialization
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cache_file="${0:h}/cache.zsh"
 | 
					cache_file="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/fasd-cache.zsh"
 | 
				
			||||||
if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file"  ]]; then
 | 
					if [[ "${commands[fasd]}" -nt "$cache_file" \
 | 
				
			||||||
 | 
					      || "${ZDOTDIR:-$HOME}/.zpreztorc" -nt "$cache_file" \
 | 
				
			||||||
 | 
					      || ! -s "$cache_file"  ]]; then
 | 
				
			||||||
  # Set the base init arguments.
 | 
					  # Set the base init arguments.
 | 
				
			||||||
  init_args=(zsh-hook)
 | 
					  init_args=(zsh-hook)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -28,6 +31,7 @@ if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file"  ]]; then
 | 
				
			|||||||
    init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)
 | 
					    init_args+=(zsh-ccomp zsh-ccomp-install zsh-wcomp zsh-wcomp-install)
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  mkdir -p "$cache_file:h"
 | 
				
			||||||
  # Cache init code.
 | 
					  # Cache init code.
 | 
				
			||||||
  fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null
 | 
					  fasd --init "$init_args[@]" >! "$cache_file" 2> /dev/null
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,219 +1,336 @@
 | 
				
			|||||||
Git
 | 
					# Git
 | 
				
			||||||
===
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enhances the [Git][1] distributed version control system by providing aliases,
 | 
					Enhances the [Git][1] distributed version control system by providing aliases,
 | 
				
			||||||
functions and by exposing repository status information to prompts.
 | 
					functions and by exposing repository status information to prompts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Git **1.7.2** is the [minimum required version][7].
 | 
					This module must be loaded _before_ the [_`completion`_][13] module so that the
 | 
				
			||||||
 | 
					provided completion definitions are loaded automatically by _`completion`_
 | 
				
			||||||
 | 
					module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Settings
 | 
					**Note:** Git **2.11** is the minimum required version for better
 | 
				
			||||||
--------
 | 
					[git-rev-list][7] and [git-submodule][14] support.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Log
 | 
					### Log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The format of the [git-log][8] output is configurable via the following style,
 | 
					To configure the format of the [git-log][8] output, add the following to
 | 
				
			||||||
where context is *brief*, *oneline*, and *medium*, which will be passed to the
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'<context>'` with `'brief'`,
 | 
				
			||||||
`--pretty=format:` switch.
 | 
					`'oneline'`, and `'medium'`. This will be passed to the `--pretty=format:`
 | 
				
			||||||
 | 
					switch.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:log:context' format ''
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:log:context' format '<context>'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Status
 | 
					### Status
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Retrieving the status of a repository with submodules can take a long time.
 | 
					Retrieving the status of a repository with [git-submodule][9] can take a long
 | 
				
			||||||
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
 | 
					time. To configure the submodules to ignore, add the following to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'<state>'` with `'dirty'`,
 | 
				
			||||||
 | 
					`'untracked'`, `'all'`, or `'none'`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:status:ignore' submodules 'all'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:status:ignore' submodules '<state>'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This setting affects all aliases and functions that call `git-status`.
 | 
					This setting affects all aliases and functions that call `git-status`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					
 | 
				
			||||||
 | 
					Aliases are enabled by default. To disable them, add the following to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:alias' skip 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Git
 | 
					### Git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `g` is short for `git`.
 | 
					- `g` is short for `git`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Branch
 | 
					### Branch (b)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gb` lists, creates, renames, and deletes branches.
 | 
					- `gb` lists, creates, renames, and deletes branches.
 | 
				
			||||||
  - `gbc` creates a new branch.
 | 
					- `gbc` creates a new branch.
 | 
				
			||||||
  - `gbl` lists branches and their commits.
 | 
					- `gbl` lists branches and their commits. (also `gbv`)
 | 
				
			||||||
  - `gbL` lists local and remote branches and their commits.
 | 
					- `gbL` lists all local and remote branches and their commits.
 | 
				
			||||||
  - `gbs` lists branches and their commits with ancestry graphs.
 | 
					- `gbr` renames a branch. (also `gbm`)
 | 
				
			||||||
  - `gbS` lists local and remote branches and their commits with ancestry
 | 
					- `gbR` renames a branch even if the new branch name already exists. (also
 | 
				
			||||||
    graphs.
 | 
					  `gbM`)
 | 
				
			||||||
  - `gbx` deletes a branch.
 | 
					- `gbs` lists branches and their commits with ancestry graphs.
 | 
				
			||||||
  - `gbX` deletes a branch irrespective of its merged status.
 | 
					- `gbS` lists local and remote branches and their commits with ancestry graphs.
 | 
				
			||||||
  - `gbm` renames a branch.
 | 
					- `gbV` lists branches with more verbose information about their commits.
 | 
				
			||||||
  - `gbM` renames a branch even if the new branch name already exists.
 | 
					- `gbx` deletes a branch. (also `gbd`)
 | 
				
			||||||
 | 
					- `gbX` deletes a branch irrespective of its merged status. (also `gbD`)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Commit (c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Commit
 | 
					- `gc` records changes to the repository.
 | 
				
			||||||
 | 
					- `gcS` records changes to the repository. (Signed)
 | 
				
			||||||
 | 
					- `gca` stages all modified and deleted files.
 | 
				
			||||||
 | 
					- `gcaS` stages all modified and deleted files. (Signed)
 | 
				
			||||||
 | 
					- `gcm` records changes to the repository with the given message.
 | 
				
			||||||
 | 
					- `gcmS` records changes to the repository with the given message. (Signed)
 | 
				
			||||||
 | 
					- `gcam` stages all modified and deleted files, and records changes to the
 | 
				
			||||||
 | 
					  repository with the given message.
 | 
				
			||||||
 | 
					- `gco` checks out a branch or paths to work tree.
 | 
				
			||||||
 | 
					- `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
 | 
				
			||||||
 | 
					  _HEAD_.
 | 
				
			||||||
 | 
					- `gcfS` amends the tip of the current branch using the same log message as
 | 
				
			||||||
 | 
					  _HEAD_. (Signed)
 | 
				
			||||||
 | 
					- `gcF` amends the tip of the current branch.
 | 
				
			||||||
 | 
					- `gcFS` amends the tip of the current branch. (Signed)
 | 
				
			||||||
 | 
					- `gcp` applies changes introduced by existing commits.
 | 
				
			||||||
 | 
					- `gcP` applies changes introduced by existing commits without committing.
 | 
				
			||||||
 | 
					- `gcr` reverts existing commits by reverting patches and recording new commits.
 | 
				
			||||||
 | 
					- `gcR` removes the _HEAD_ commit.
 | 
				
			||||||
 | 
					- `gcs` displays commits with various objects.
 | 
				
			||||||
 | 
					- `gcsS` displays commits with GPG signature.
 | 
				
			||||||
 | 
					- `gcl` lists lost commits.
 | 
				
			||||||
 | 
					- `gcy` displays commits yet to be applied to upstream in the short format.
 | 
				
			||||||
 | 
					- `gcY` displays commits yet to be applied to upstream.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gc` records changes to the repository.
 | 
					### Conflict (C)
 | 
				
			||||||
  - `gca` stages all modified and deleted files.
 | 
					 | 
				
			||||||
  - `gcm` records changes to the repository with the given message.
 | 
					 | 
				
			||||||
  - `gco` checks out a branch or paths to work tree.
 | 
					 | 
				
			||||||
  - `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
 | 
					 | 
				
			||||||
    *HEAD*.
 | 
					 | 
				
			||||||
  - `gcF` amends the tip of the current branch.
 | 
					 | 
				
			||||||
  - `gcp` applies changes introduced by existing commits.
 | 
					 | 
				
			||||||
  - `gcP` applies changes introduced by existing commits without committing.
 | 
					 | 
				
			||||||
  - `gcr` reverts existing commits by reverting patches and recording new
 | 
					 | 
				
			||||||
     commits.
 | 
					 | 
				
			||||||
  - `gcR` removes the *HEAD* commit.
 | 
					 | 
				
			||||||
  - `gcs` displays various types of objects.
 | 
					 | 
				
			||||||
  - `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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gCl` lists unmerged files.
 | 
					### Data (d)
 | 
				
			||||||
  - `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
 | 
					- `gd` displays information about files in the index and the work tree.
 | 
				
			||||||
 | 
					- `gdc` lists cached files.
 | 
				
			||||||
 | 
					- `gdx` lists deleted files.
 | 
				
			||||||
 | 
					- `gdm` lists modified files.
 | 
				
			||||||
 | 
					- `gdu` lists untracked files.
 | 
				
			||||||
 | 
					- `gdk` lists killed files.
 | 
				
			||||||
 | 
					- `gdi` lists ignored files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gd` displays information about files in the index and the work tree.
 | 
					### Fetch (f)
 | 
				
			||||||
  - `gdc` lists cached files.
 | 
					 | 
				
			||||||
  - `gdx` lists deleted files.
 | 
					 | 
				
			||||||
  - `gdm` lists modified files.
 | 
					 | 
				
			||||||
  - `gdu` lists untracked files.
 | 
					 | 
				
			||||||
  - `gdk` lists killed files.
 | 
					 | 
				
			||||||
  - `gdi` lists ignored files.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Fetch
 | 
					- `gf` downloads objects and references from another repository.
 | 
				
			||||||
 | 
					- `gfa` downloads objects and references from all remote repositories.
 | 
				
			||||||
 | 
					- `gfc` clones a repository into a new directory.
 | 
				
			||||||
 | 
					- `gfcr` clones a repository into a new directory including all submodules.
 | 
				
			||||||
 | 
					- `gfm` fetches from and merges with another repository or local branch.
 | 
				
			||||||
 | 
					- `gfr` fetches from and rebases on another repository or local branch.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gf` downloads objects and references from another repository.
 | 
					### Flow (F)
 | 
				
			||||||
  - `gfc` clones a repository into a new directory.
 | 
					 | 
				
			||||||
  - `gfm` fetches from and merges with another repository or local branch.
 | 
					 | 
				
			||||||
  - `gfr` fetches from and rebases on another repository or local branch.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Grep
 | 
					- `gFi` is short for `git flow init`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gg` displays lines matching a pattern.
 | 
					#### Feature (Ff)
 | 
				
			||||||
  - `ggi` displays lines matching a pattern ignoring case.
 | 
					 | 
				
			||||||
  - `ggl` lists files matching a pattern.
 | 
					 | 
				
			||||||
  - `ggL` lists files that are not matching a pattern.
 | 
					 | 
				
			||||||
  - `ggv` displays lines not matching a pattern.
 | 
					 | 
				
			||||||
  - `ggw` displays lines matching a pattern at word boundary.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Index
 | 
					- `gFf` is short for `git flow feature`
 | 
				
			||||||
 | 
					- `gFfl` is short for `git flow feature list`
 | 
				
			||||||
 | 
					- `gFfs` is short for `git flow feature start`
 | 
				
			||||||
 | 
					- `gFff` is short for `git flow feature finish`
 | 
				
			||||||
 | 
					- `gFfp` is short for `git flow feature publish`
 | 
				
			||||||
 | 
					- `gFft` is short for `git flow feature track`
 | 
				
			||||||
 | 
					- `gFfd` is short for `git flow feature diff`
 | 
				
			||||||
 | 
					- `gFfr` is short for `git flow feature rebase`
 | 
				
			||||||
 | 
					- `gFfc` is short for `git flow feature checkout`
 | 
				
			||||||
 | 
					- `gFfm` is short for `git flow feature pull`
 | 
				
			||||||
 | 
					- `gFfx` is short for `git flow feature delete`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gia` adds file contents to the index.
 | 
					#### Bugfix (Fb)
 | 
				
			||||||
  - `giA` adds file contents to the index interactively.
 | 
					 | 
				
			||||||
  - `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 (word diff).
 | 
					 | 
				
			||||||
  - `gir` resets the current HEAD 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 and forced).
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Log
 | 
					- `gFb` is short for `git flow bugfix`
 | 
				
			||||||
 | 
					- `gFbl` is short for `git flow bugfix list`
 | 
				
			||||||
 | 
					- `gFbs` is short for `git flow bugfix start`
 | 
				
			||||||
 | 
					- `gFbf` is short for `git flow bugfix finish`
 | 
				
			||||||
 | 
					- `gFbp` is short for `git flow bugfix publish`
 | 
				
			||||||
 | 
					- `gFbt` is short for `git flow bugfix track`
 | 
				
			||||||
 | 
					- `gFbd` is short for `git flow bugfix diff`
 | 
				
			||||||
 | 
					- `gFbr` is short for `git flow bugfix rebase`
 | 
				
			||||||
 | 
					- `gFbc` is short for `git flow bugfix checkout`
 | 
				
			||||||
 | 
					- `gFbm` is short for `git flow bugfix pull`
 | 
				
			||||||
 | 
					- `gFbx` is short for `git flow bugfix delete`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gl` displays the log.
 | 
					#### Release (Fl)
 | 
				
			||||||
  - `gls` displays the stats log.
 | 
					 | 
				
			||||||
  - `gld` displays the diff log.
 | 
					 | 
				
			||||||
  - `glo` displays the one line log.
 | 
					 | 
				
			||||||
  - `glg` displays the graph log.
 | 
					 | 
				
			||||||
  - `glb` displays the brief commit log.
 | 
					 | 
				
			||||||
  - `glc` displays the commit count for each contributor in descending order.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Merge
 | 
					- `gFl` is short for `git flow release`
 | 
				
			||||||
 | 
					- `gFll` is short for `git flow release list`
 | 
				
			||||||
 | 
					- `gFls` is short for `git flow release start`
 | 
				
			||||||
 | 
					- `gFlf` is short for `git flow release finish`
 | 
				
			||||||
 | 
					- `gFlp` is short for `git flow release publish`
 | 
				
			||||||
 | 
					- `gFlt` is short for `git flow release track`
 | 
				
			||||||
 | 
					- `gFld` is short for `git flow release diff`
 | 
				
			||||||
 | 
					- `gFlr` is short for `git flow release rebase`
 | 
				
			||||||
 | 
					- `gFlc` is short for `git flow release checkout`
 | 
				
			||||||
 | 
					- `gFlm` is short for `git flow release pull`
 | 
				
			||||||
 | 
					- `gFlx` is short for `git flow release delete`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gm` joins two or more development histories together.
 | 
					#### Hotfix (Fh)
 | 
				
			||||||
  - `gmC` joins two or more development histories together but does not commit.
 | 
					
 | 
				
			||||||
  - `gmF` joins two or more development histories together but does not commit
 | 
					- `gFh` is short for `git flow hotfix`
 | 
				
			||||||
 | 
					- `gFhl` is short for `git flow hotfix list`
 | 
				
			||||||
 | 
					- `gFhs` is short for `git flow hotfix start`
 | 
				
			||||||
 | 
					- `gFhf` is short for `git flow hotfix finish`
 | 
				
			||||||
 | 
					- `gFhp` is short for `git flow hotfix publish`
 | 
				
			||||||
 | 
					- `gFht` is short for `git flow hotfix track`
 | 
				
			||||||
 | 
					- `gFhd` is short for `git flow hotfix diff`
 | 
				
			||||||
 | 
					- `gFhr` is short for `git flow hotfix rebase`
 | 
				
			||||||
 | 
					- `gFhc` is short for `git flow hotfix checkout`
 | 
				
			||||||
 | 
					- `gFhm` is short for `git flow hotfix pull`
 | 
				
			||||||
 | 
					- `gFhx` is short for `git flow hotfix delete`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Support (Fs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gFs` is short for `git flow support`
 | 
				
			||||||
 | 
					- `gFsl` is short for `git flow support list`
 | 
				
			||||||
 | 
					- `gFss` is short for `git flow support start`
 | 
				
			||||||
 | 
					- `gFsf` is short for `git flow support finish`
 | 
				
			||||||
 | 
					- `gFsp` is short for `git flow support publish`
 | 
				
			||||||
 | 
					- `gFst` is short for `git flow support track`
 | 
				
			||||||
 | 
					- `gFsd` is short for `git flow support diff`
 | 
				
			||||||
 | 
					- `gFsr` is short for `git flow support rebase`
 | 
				
			||||||
 | 
					- `gFsc` is short for `git flow support checkout`
 | 
				
			||||||
 | 
					- `gFsm` is short for `git flow support pull`
 | 
				
			||||||
 | 
					- `gFsx` is short for `git flow support delete`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Grep (g)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gg` displays lines matching a pattern.
 | 
				
			||||||
 | 
					- `ggi` displays lines matching a pattern ignoring case.
 | 
				
			||||||
 | 
					- `ggl` lists files matching a pattern.
 | 
				
			||||||
 | 
					- `ggL` lists files that are not matching a pattern.
 | 
				
			||||||
 | 
					- `ggv` displays lines not matching a pattern.
 | 
				
			||||||
 | 
					- `ggw` displays lines matching a pattern at word boundary.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Index (i)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gia` adds file contents to the index.
 | 
				
			||||||
 | 
					- `giA` adds file contents to the index interactively.
 | 
				
			||||||
 | 
					- `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 (word diff).
 | 
				
			||||||
 | 
					- `gii` temporarily ignore differences in a given file.
 | 
				
			||||||
 | 
					- `giI` unignore differences in a given file.
 | 
				
			||||||
 | 
					- `gir` resets the current HEAD 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 and forced).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Log (l)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gl` displays the log.
 | 
				
			||||||
 | 
					- `gls` displays the stats log.
 | 
				
			||||||
 | 
					- `gld` displays the diff log.
 | 
				
			||||||
 | 
					- `glo` displays the one line log.
 | 
				
			||||||
 | 
					- `glg` displays the graph log.
 | 
				
			||||||
 | 
					- `glb` displays the brief commit log.
 | 
				
			||||||
 | 
					- `glc` displays the commit count for each contributor in descending order.
 | 
				
			||||||
 | 
					- `glS` displays the log and checks the validity of signed commits.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Merge (m)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gm` joins two or more development histories together.
 | 
				
			||||||
 | 
					- `gmC` joins two or more development histories together but does not commit.
 | 
				
			||||||
 | 
					- `gmF` joins two or more development histories together but does not commit
 | 
				
			||||||
  generating a merge commit even if the merge resolved as a fast-forward.
 | 
					  generating a merge commit even if the merge resolved as a fast-forward.
 | 
				
			||||||
  - `gma` aborts the conflict resolution, and reconstructs the pre-merge state.
 | 
					- `gma` aborts the conflict resolution, and reconstructs the pre-merge state.
 | 
				
			||||||
  - `gmt` runs the merge conflict resolution tools to resolve conflicts.
 | 
					- `gmt` runs the merge conflict resolution tools to resolve conflicts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Push
 | 
					### Push (p)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gp` updates remote refs along with associated objects.
 | 
					- `gp` updates remote refs along with associated objects.
 | 
				
			||||||
  - `gpf` forcefully updates remote refs along with associated objects.
 | 
					- `gpf` forcefully updates remote refs along with associated objects using the
 | 
				
			||||||
  - `gpa` updates remote branches along with associated objects.
 | 
					  safer `--force-with-lease` option.
 | 
				
			||||||
  - `gpA` updates remote branches and tags along with associated objects.
 | 
					- `gpF` forcefully updates remote refs along with associated objects using the
 | 
				
			||||||
  - `gpt` updates remote tags along with associated objects.
 | 
					  riskier `--force` option.
 | 
				
			||||||
  - `gpc` updates remote refs along with associated objects and adds *origin*
 | 
					- `gpa` updates remote branches along with associated objects.
 | 
				
			||||||
     as an upstream reference for the current branch.
 | 
					- `gpA` updates remote branches and tags along with associated objects.
 | 
				
			||||||
  - `gpp` pulls and pushes from origin to origin.
 | 
					- `gpt` updates remote tags along with associated objects.
 | 
				
			||||||
 | 
					- `gpc` updates remote refs along with associated objects and adds _origin_ as
 | 
				
			||||||
 | 
					  an upstream reference for the current branch.
 | 
				
			||||||
 | 
					- `gpp` pulls and pushes from origin to origin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Rebase
 | 
					### Rebase (r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gr` forward-ports local commits to the updated upstream head.
 | 
					- `gr` forward-ports local commits to the updated upstream _HEAD_.
 | 
				
			||||||
  - `gra` aborts the rebase.
 | 
					- `gra` aborts the rebase.
 | 
				
			||||||
  - `grc` continues the rebase after merge conflicts are resolved.
 | 
					- `grc` continues the rebase after merge conflicts are resolved.
 | 
				
			||||||
  - `gri` makes a list of commits to be rebased and opens the editor.
 | 
					- `gri` makes a list of commits to be rebased and opens the editor.
 | 
				
			||||||
  - `grs` skips the current patch.
 | 
					- `grs` skips the current patch.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Remote
 | 
					### Remote (R)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gR` manages tracked repositories.
 | 
					- `gR` manages tracked repositories.
 | 
				
			||||||
  - `gRl` lists remote names and their 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.
 | 
				
			||||||
  - `gRp` prunes 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Stash
 | 
					### Stash (s)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gs` stashes the changes of the dirty working directory.
 | 
					- `gs` stashes the changes of the dirty working directory.
 | 
				
			||||||
  - `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.
 | 
				
			||||||
  - `gsl` lists stashed states.
 | 
					- `gsl` lists stashed states.
 | 
				
			||||||
  - `gsL` lists dropped stashed states.
 | 
					- `gsL` lists dropped stashed states.
 | 
				
			||||||
  - `gsd` displays changes between the stash 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.
 | 
				
			||||||
  - `gsS` stashes the changes of the dirty working directory interactively.
 | 
					- `gsS` stashes the changes of the dirty working directory interactively.
 | 
				
			||||||
  - `gsw` stashes the changes of the dirty working directory retaining the index.
 | 
					- `gsw` stashes the changes of the dirty working directory retaining the index.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Submodule
 | 
					### Submodule (S)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gS` initializes, updates, or inspects submodules.
 | 
					- `gS` initializes, updates, or inspects submodules.
 | 
				
			||||||
  - `gSa` adds given a repository as a submodule.
 | 
					- `gSa` adds given a repository as a submodule.
 | 
				
			||||||
  - `gSf` evaluates a shell command in each of checked out submodules.
 | 
					- `gSf` evaluates a shell command in each of checked out submodules.
 | 
				
			||||||
  - `gSi` initializes submodules.
 | 
					- `gSi` initializes submodules.
 | 
				
			||||||
  - `gSI` initializes and clones submodules recursively.
 | 
					- `gSI` initializes and clones submodules recursively.
 | 
				
			||||||
  - `gSl` lists the commits of all submodules.
 | 
					- `gSl` lists the commits of all submodules.
 | 
				
			||||||
  - `gSm` moves a submodule.
 | 
					- `gSm` moves a submodule.
 | 
				
			||||||
  - `gSs` synchronizes submodules' remote URL to the value specified in
 | 
					- `gSs` synchronizes submodules' remote URL to the value specified in
 | 
				
			||||||
    .gitmodules.
 | 
					  _.gitmodules_.
 | 
				
			||||||
  - `gSu` fetches and merges the latest changes for all submodule.
 | 
					- `gSu` fetches and merges the latest changes for all submodule.
 | 
				
			||||||
  - `gSx` removes a submodule.
 | 
					- `gSx` removes a submodule.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Working directory
 | 
					### Tag (t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gws` displays working-tree status in the short format.
 | 
					- `gt` lists tags or creates tag.
 | 
				
			||||||
  - `gwS` displays working-tree status.
 | 
					- `gtl` lists tags matching pattern.
 | 
				
			||||||
  - `gwd` displays changes between the working tree and the index (diff).
 | 
					- `gts` creates a signed tag.
 | 
				
			||||||
  - `gwD` displays changes between the working tree and the index (word diff).
 | 
					- `gtv` validate a signed tag.
 | 
				
			||||||
  - `gwr` resets the current HEAD to the specified state, does not touch the
 | 
					
 | 
				
			||||||
 | 
					### Working directory (w)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `gws` displays working-tree status in the short format.
 | 
				
			||||||
 | 
					- `gwS` displays working-tree status.
 | 
				
			||||||
 | 
					- `gwd` displays changes between the working tree and the index (diff).
 | 
				
			||||||
 | 
					- `gwD` displays changes between the working tree and the index (word diff).
 | 
				
			||||||
 | 
					- `gwr` resets the current HEAD to the specified state, does not touch the
 | 
				
			||||||
  index nor the working tree.
 | 
					  index nor the working tree.
 | 
				
			||||||
  - `gwR` resets the current HEAD, index and working tree to the specified state.
 | 
					- `gwR` resets the current HEAD, index and working tree to the specified state.
 | 
				
			||||||
  - `gwc` removes untracked files from the working tree (dry-run).
 | 
					- `gwc` removes untracked files from the working tree (dry-run).
 | 
				
			||||||
  - `gwC` removes untracked files from the working tree.
 | 
					- `gwC` removes untracked files from the working tree.
 | 
				
			||||||
  - `gwx` removes files from the working tree and from the index recursively.
 | 
					- `gwx` removes files from the working tree and from the index recursively.
 | 
				
			||||||
  - `gwX` removes files from the working tree and from the index recursively and
 | 
					- `gwX` removes files from the working tree and from the index recursively and
 | 
				
			||||||
  forcefully.
 | 
					  forcefully.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Shadows
 | 
					### Shadows
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following aliases may shadow system commands:
 | 
					The following aliases may shadow system commands:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `gpt` shadows the [GUID partition table maintenance utility][4].
 | 
					- `gb` shadows the [GB][10].
 | 
				
			||||||
  - `gs` shadows the [Ghostscript][5].
 | 
					- `gm` shadows the [GraphicsMagick image processor][11].
 | 
				
			||||||
 | 
					- `gpt` shadows the [GUID partition table maintenance utility][4].
 | 
				
			||||||
 | 
					- `gs` shadows the [Ghostscript interpreter and previewer][5].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you frequently use the above commands, you may wish to remove said aliases
 | 
					If you frequently use the above commands, you may wish to remove said aliases
 | 
				
			||||||
from this module or to disable them at the bottom of the zshrc with `unalias`.
 | 
					from this module or to disable them at the bottom of the zshrc with `unalias`.
 | 
				
			||||||
@@ -221,114 +338,127 @@ from this module or to disable them at the bottom of the zshrc with `unalias`.
 | 
				
			|||||||
You can temporarily bypass an alias by prefixing it with a backward slash:
 | 
					You can temporarily bypass an alias by prefixing it with a backward slash:
 | 
				
			||||||
`\gpt`.
 | 
					`\gpt`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					## Functions
 | 
				
			||||||
---------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `git-branch-current` displays the current branch.
 | 
					- `git-branch-current` displays the current branch.
 | 
				
			||||||
  - `git-commit-lost` lists lost commits.
 | 
					- `git-commit-lost` lists lost commits.
 | 
				
			||||||
  - `git-dir` displays the path to the Git directory.
 | 
					- `git-dir` displays the path to the Git directory.
 | 
				
			||||||
  - `git-hub-browse` opens the [GitHub][3] repository in the default browser.
 | 
					- `git-hub-browse` opens the [GitHub][3] repository in the default browser.
 | 
				
			||||||
  - `git-hub-shorten-url` shortens GitHub URLs.
 | 
					- `git-hub-shorten-url` shortens [GitHub URLs][12].
 | 
				
			||||||
  - `git-info` exposes repository information via the `$git_info` associative
 | 
					- `git-info` exposes repository information via the `$git_info` associative
 | 
				
			||||||
  array.
 | 
					  array.
 | 
				
			||||||
  - `git-root` displays the path to the working tree root.
 | 
					- `git-root` displays the path to the working tree root.
 | 
				
			||||||
  - `git-stash-clear-interactive` asks for confirmation before clearing the stash.
 | 
					- `git-stash-clear-interactive` asks for confirmation before clearing the stash.
 | 
				
			||||||
  - `git-stash-dropped` lists dropped stashed states.
 | 
					- `git-stash-dropped` lists dropped stashed states.
 | 
				
			||||||
  - `git-stash-recover` recovers given dropped stashed states.
 | 
					- `git-stash-recover` recovers given dropped stashed states.
 | 
				
			||||||
  - `git-submodule-move` moves a submodule.
 | 
					- `git-submodule-move` moves a submodule.
 | 
				
			||||||
  - `git-submodule-remove` removes a submodule.
 | 
					- `git-submodule-remove` removes a submodule.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Theming
 | 
					## Theming
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
To display information about the current repository in a prompt, define the
 | 
					To display information about the current repository in a prompt, define the
 | 
				
			||||||
following styles in the `prompt_name_setup` function, where the syntax for
 | 
					following styles in the `prompt_name_setup` function, where the syntax for
 | 
				
			||||||
setting a style is as follows.
 | 
					setting a style is as follows.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:info:context:subcontext' format 'string'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:info:context:subcontext' format 'string'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Main Contexts
 | 
					### Main Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name      | Format Code | Description
 | 
					| Name     | Format Code | Description                        |
 | 
				
			||||||
| --------- | :---------: | ---------------------------------------------------
 | 
					| -------- | :---------: | ---------------------------------- |
 | 
				
			||||||
| action    |     %s      | Special action name
 | 
					| action   |     %s      | Special action name                |
 | 
				
			||||||
| 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
 | 
					| position |     %p      | Commits from the nearest tag count |
 | 
				
			||||||
| remote    |     %R      | Remote name
 | 
					| remote   |     %R      | Remote name                        |
 | 
				
			||||||
| stashed   |     %S      | Stashed states count
 | 
					| stashed  |     %S      | Stashed states count               |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Concise Contexts
 | 
					### Concise Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name      | Format Code | Description
 | 
					| Name      | Format Code | Description           |
 | 
				
			||||||
| --------- | :---------: | ---------------------------------------------------
 | 
					| --------- | :---------: | --------------------- |
 | 
				
			||||||
| clean     |     %C      | Clean state
 | 
					| clean     |     %C      | Clean state           |
 | 
				
			||||||
| dirty     |     %D      | Dirty files count
 | 
					| dirty     |     %D      | Dirty files count     |
 | 
				
			||||||
| indexed   |     %i      | Indexed files count
 | 
					| indexed   |     %i      | Indexed files count   |
 | 
				
			||||||
| unindexed |     %I      | Unindexed files count
 | 
					| unindexed |     %I      | Unindexed files count |
 | 
				
			||||||
| untracked |     %u      | Untracked files count
 | 
					| untracked |     %u      | Untracked files count |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following contexts must be enabled with the following zstyle:
 | 
					The following contexts must be enabled with the following zstyle:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:info' verbose 'yes'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:info' verbose 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Verbose Contexts
 | 
					### Verbose Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name      | Format Code | Description
 | 
					| Name      | Format Code | Description           |
 | 
				
			||||||
| --------- | :---------: | ---------------------------------------------------
 | 
					| --------- | :---------: | --------------------- |
 | 
				
			||||||
| added     |     %a      | Added files count
 | 
					| 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  |
 | 
				
			||||||
| renamed   |     %r      | Renamed files count
 | 
					| renamed   |     %r      | Renamed files count   |
 | 
				
			||||||
| unmerged  |     %U      | Unmerged files count
 | 
					| unmerged  |     %U      | Unmerged files count  |
 | 
				
			||||||
| untracked |     %u      | Untracked files count
 | 
					| untracked |     %u      | Untracked files count |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Special Action Contexts
 | 
					### Special Action Contexts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Name                 |   Format    | Description
 | 
					| Name                 | Format | Description                  |
 | 
				
			||||||
| -------------------- | :---------: | -----------------------------------------
 | 
					| -------------------- | :----: | ---------------------------- |
 | 
				
			||||||
| apply                |    value    | Applying patches
 | 
					| apply                | value  | Applying patches             |
 | 
				
			||||||
| bisect               |    value    | Binary searching for changes
 | 
					| bisect               | value  | Binary searching for changes |
 | 
				
			||||||
| cherry-pick          |    value    | Cherry picking
 | 
					| cherry-pick          | value  | Cherry picking               |
 | 
				
			||||||
| cherry-pick-sequence |    value    | Cherry picking sequence
 | 
					| cherry-pick-sequence | value  | Cherry picking sequence      |
 | 
				
			||||||
| merge                |    value    | Merging
 | 
					| merge                | value  | Merging                      |
 | 
				
			||||||
| 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               |
 | 
				
			||||||
 | 
					| revert               | value  | Reverting                    |
 | 
				
			||||||
 | 
					| revert-sequence      | value  | Reverting sequence           |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:info:branch' format 'branch:%b'
 | 
					```sh
 | 
				
			||||||
    zstyle ':prezto:module:git:info:remote' format 'remote:%R'
 | 
					zstyle ':prezto:module:git:info:branch' format 'branch:%b'
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:info:remote' format 'remote:%R'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Second, format how the above attributes are displayed in prompts.
 | 
					Second, format how the above attributes are displayed in prompts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:git:info:keys' format \
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:git:info:keys' format \
 | 
				
			||||||
  'prompt'  ' git(%b)' \
 | 
					  'prompt'  ' git(%b)' \
 | 
				
			||||||
  'rprompt' '[%R]'
 | 
					  'rprompt' '[%R]'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Authors
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][6].*
 | 
					_The authors of this module should be contacted via the [issue tracker][6]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://www.git-scm.com
 | 
					[1]: https://www.git-scm.com
 | 
				
			||||||
[2]: https://github.com/defunkt/hub
 | 
					[2]: https://hub.github.com
 | 
				
			||||||
[3]: https://www.github.com
 | 
					[3]: https://www.github.com
 | 
				
			||||||
[4]: http://www.manpagez.com/man/8/gpt/
 | 
					[4]: https://www.manpagez.com/man/8/gpt/
 | 
				
			||||||
[5]: http://linux.die.net/man/1/gs
 | 
					[5]: https://www.manpagez.com/man/1/gs/
 | 
				
			||||||
[6]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[6]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
[7]: https://github.com/sorin-ionescu/prezto/issues/219
 | 
					[7]: https://github.com/sorin-ionescu/prezto/issues/219
 | 
				
			||||||
[8]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html
 | 
					[8]: https://git-scm.com/docs/git-log
 | 
				
			||||||
 | 
					[9]: https://git-scm.com/docs/git-submodule
 | 
				
			||||||
 | 
					[10]: https://getgb.io/
 | 
				
			||||||
 | 
					[11]: https://www.manpagez.com/man/1/gm/
 | 
				
			||||||
 | 
					[12]: https://github.blog/2011-11-10-git-io-github-url-shortener
 | 
				
			||||||
 | 
					[13]: ../completion#readme
 | 
				
			||||||
 | 
					[14]: https://github.com/sorin-ionescu/prezto/pull/1929
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,6 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Settings
 | 
					# Settings
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Log
 | 
					# Log
 | 
				
			||||||
zstyle -s ':prezto:module:git:log:medium' format '_git_log_medium_format' \
 | 
					zstyle -s ':prezto:module:git:log:medium' format '_git_log_medium_format' \
 | 
				
			||||||
@@ -26,156 +25,251 @@ zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_subm
 | 
				
			|||||||
# Aliases
 | 
					# Aliases
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Git
 | 
					if ! zstyle -t ':prezto:module:git:alias' skip; then
 | 
				
			||||||
alias g='git'
 | 
					  # Git
 | 
				
			||||||
 | 
					  alias g='git'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Branch (b)
 | 
					  # Branch (b)
 | 
				
			||||||
alias gb='git branch'
 | 
					  alias gb='git branch'
 | 
				
			||||||
alias gbc='git checkout -b'
 | 
					  alias gba='git branch --all --verbose'
 | 
				
			||||||
alias gbl='git branch -v'
 | 
					  alias gbc='git checkout -b'
 | 
				
			||||||
alias gbL='git branch -av'
 | 
					  alias gbd='git branch --delete'
 | 
				
			||||||
alias gbx='git branch -d'
 | 
					  alias gbD='git branch --delete --force'
 | 
				
			||||||
alias gbX='git branch -D'
 | 
					  alias gbl='git branch --verbose'
 | 
				
			||||||
alias gbm='git branch -m'
 | 
					  alias gbL='git branch --all --verbose'
 | 
				
			||||||
alias gbM='git branch -M'
 | 
					  alias gbm='git branch --move'
 | 
				
			||||||
alias gbs='git show-branch'
 | 
					  alias gbM='git branch --move --force'
 | 
				
			||||||
alias gbS='git show-branch -a'
 | 
					  alias gbr='git branch --move'
 | 
				
			||||||
 | 
					  alias gbR='git branch --move --force'
 | 
				
			||||||
 | 
					  alias gbs='git show-branch'
 | 
				
			||||||
 | 
					  alias gbS='git show-branch --all'
 | 
				
			||||||
 | 
					  alias gbv='git branch --verbose'
 | 
				
			||||||
 | 
					  alias gbV='git branch --verbose --verbose'
 | 
				
			||||||
 | 
					  alias gbx='git branch --delete'
 | 
				
			||||||
 | 
					  alias gbX='git branch --delete --force'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Commit (c)
 | 
					  # Commit (c)
 | 
				
			||||||
alias gc='git commit --verbose'
 | 
					  alias gc='git commit --verbose'
 | 
				
			||||||
alias gca='git commit --verbose --all'
 | 
					  alias gcS='git commit --verbose --gpg-sign'
 | 
				
			||||||
alias gcm='git commit --message'
 | 
					  alias gca='git commit --verbose --all'
 | 
				
			||||||
alias gco='git checkout'
 | 
					  alias gcaS='git commit --verbose --all --gpg-sign'
 | 
				
			||||||
alias gcO='git checkout --patch'
 | 
					  alias gcm='git commit --message'
 | 
				
			||||||
alias gcf='git commit --amend --reuse-message HEAD'
 | 
					  alias gcmS='git commit --message --gpg-sign'
 | 
				
			||||||
alias gcF='git commit --verbose --amend'
 | 
					  alias gcam='git commit --all --message'
 | 
				
			||||||
alias gcp='git cherry-pick --ff'
 | 
					  alias gco='git checkout'
 | 
				
			||||||
alias gcP='git cherry-pick --no-commit'
 | 
					  alias gcO='git checkout --patch'
 | 
				
			||||||
alias gcr='git revert'
 | 
					  alias gcf='git commit --amend --reuse-message HEAD'
 | 
				
			||||||
alias gcR='git reset "HEAD^"'
 | 
					  alias gcfS='git commit --amend --reuse-message HEAD --gpg-sign'
 | 
				
			||||||
alias gcs='git show'
 | 
					  alias gcF='git commit --verbose --amend'
 | 
				
			||||||
alias gcl='git-commit-lost'
 | 
					  alias gcFS='git commit --verbose --amend --gpg-sign'
 | 
				
			||||||
 | 
					  alias gcp='git cherry-pick --ff'
 | 
				
			||||||
 | 
					  alias gcP='git cherry-pick --no-commit'
 | 
				
			||||||
 | 
					  alias gcr='git revert'
 | 
				
			||||||
 | 
					  alias gcR='git reset "HEAD^"'
 | 
				
			||||||
 | 
					  alias gcs='git show'
 | 
				
			||||||
 | 
					  alias gcsS='git show --pretty=short --show-signature'
 | 
				
			||||||
 | 
					  alias gcl='git-commit-lost'
 | 
				
			||||||
 | 
					  alias gcy='git cherry --verbose --abbrev'
 | 
				
			||||||
 | 
					  alias gcY='git cherry --verbose'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Conflict (C)
 | 
					  # Conflict (C)
 | 
				
			||||||
alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"'
 | 
					  alias gCl='git --no-pager diff --name-only --diff-filter=U'
 | 
				
			||||||
alias gCa='git add $(gCl)'
 | 
					  alias gCa='git add $(gCl)'
 | 
				
			||||||
alias gCe='git mergetool $(gCl)'
 | 
					  alias gCe='git mergetool $(gCl)'
 | 
				
			||||||
alias gCo='git checkout --ours --'
 | 
					  alias gCo='git checkout --ours --'
 | 
				
			||||||
alias gCO='gCo $(gCl)'
 | 
					  alias gCO='gCo $(gCl)'
 | 
				
			||||||
alias gCt='git checkout --theirs --'
 | 
					  alias gCt='git checkout --theirs --'
 | 
				
			||||||
alias gCT='gCt $(gCl)'
 | 
					  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'
 | 
				
			||||||
alias gdx='git ls-files --deleted'
 | 
					  alias gdx='git ls-files --deleted'
 | 
				
			||||||
alias gdm='git ls-files --modified'
 | 
					  alias gdm='git ls-files --modified'
 | 
				
			||||||
alias gdu='git ls-files --other --exclude-standard'
 | 
					  alias gdu='git ls-files --other --exclude-standard'
 | 
				
			||||||
alias gdk='git ls-files --killed'
 | 
					  alias gdk='git ls-files --killed'
 | 
				
			||||||
alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
 | 
					  alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Fetch (f)
 | 
					  # Fetch (f)
 | 
				
			||||||
alias gf='git fetch'
 | 
					  alias gf='git fetch'
 | 
				
			||||||
alias gfc='git clone'
 | 
					  alias gfa='git fetch --all'
 | 
				
			||||||
alias gfm='git pull'
 | 
					  alias gfc='git clone'
 | 
				
			||||||
alias gfr='git pull --rebase'
 | 
					  alias gfcr='git clone --recurse-submodules'
 | 
				
			||||||
 | 
					  alias gfm='git pull'
 | 
				
			||||||
 | 
					  alias gfma='git pull --autostash'
 | 
				
			||||||
 | 
					  alias gfr='git pull --rebase'
 | 
				
			||||||
 | 
					  alias gfra='git pull --rebase --autostash'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Grep (g)
 | 
					  # Flow (F)
 | 
				
			||||||
alias gg='git grep'
 | 
					  alias gFi='git flow init'
 | 
				
			||||||
alias ggi='git grep --ignore-case'
 | 
					  alias gFf='git flow feature'
 | 
				
			||||||
alias ggl='git grep --files-with-matches'
 | 
					  alias gFb='git flow bugfix'
 | 
				
			||||||
alias ggL='git grep --files-without-matches'
 | 
					  alias gFl='git flow release'
 | 
				
			||||||
alias ggv='git grep --invert-match'
 | 
					  alias gFh='git flow hotfix'
 | 
				
			||||||
alias ggw='git grep --word-regexp'
 | 
					  alias gFs='git flow support'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Index (i)
 | 
					  alias gFfl='git flow feature list'
 | 
				
			||||||
alias gia='git add'
 | 
					  alias gFfs='git flow feature start'
 | 
				
			||||||
alias giA='git add --patch'
 | 
					  alias gFff='git flow feature finish'
 | 
				
			||||||
alias giu='git add --update'
 | 
					  alias gFfp='git flow feature publish'
 | 
				
			||||||
alias gid='git diff --no-ext-diff --cached'
 | 
					  alias gFft='git flow feature track'
 | 
				
			||||||
alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
					  alias gFfd='git flow feature diff'
 | 
				
			||||||
alias gir='git reset'
 | 
					  alias gFfr='git flow feature rebase'
 | 
				
			||||||
alias giR='git reset --patch'
 | 
					  alias gFfc='git flow feature checkout'
 | 
				
			||||||
alias gix='git rm -r --cached'
 | 
					  alias gFfm='git flow feature pull'
 | 
				
			||||||
alias giX='git rm -rf --cached'
 | 
					  alias gFfx='git flow feature delete'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Log (l)
 | 
					  alias gFbl='git flow bugfix list'
 | 
				
			||||||
alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"'
 | 
					  alias gFbs='git flow bugfix start'
 | 
				
			||||||
alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"'
 | 
					  alias gFbf='git flow bugfix finish'
 | 
				
			||||||
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
 | 
					  alias gFbp='git flow bugfix publish'
 | 
				
			||||||
alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
 | 
					  alias gFbt='git flow bugfix track'
 | 
				
			||||||
alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
 | 
					  alias gFbd='git flow bugfix diff'
 | 
				
			||||||
alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
 | 
					  alias gFbr='git flow bugfix rebase'
 | 
				
			||||||
alias glc='git shortlog --summary --numbered'
 | 
					  alias gFbc='git flow bugfix checkout'
 | 
				
			||||||
 | 
					  alias gFbm='git flow bugfix pull'
 | 
				
			||||||
 | 
					  alias gFbx='git flow bugfix delete'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Merge (m)
 | 
					  alias gFll='git flow release list'
 | 
				
			||||||
alias gm='git merge'
 | 
					  alias gFls='git flow release start'
 | 
				
			||||||
alias gmC='git merge --no-commit'
 | 
					  alias gFlf='git flow release finish'
 | 
				
			||||||
alias gmF='git merge --no-ff'
 | 
					  alias gFlp='git flow release publish'
 | 
				
			||||||
alias gma='git merge --abort'
 | 
					  alias gFlt='git flow release track'
 | 
				
			||||||
alias gmt='git mergetool'
 | 
					  alias gFld='git flow release diff'
 | 
				
			||||||
 | 
					  alias gFlr='git flow release rebase'
 | 
				
			||||||
 | 
					  alias gFlc='git flow release checkout'
 | 
				
			||||||
 | 
					  alias gFlm='git flow release pull'
 | 
				
			||||||
 | 
					  alias gFlx='git flow release delete'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Push (p)
 | 
					  alias gFhl='git flow hotfix list'
 | 
				
			||||||
alias gp='git push'
 | 
					  alias gFhs='git flow hotfix start'
 | 
				
			||||||
alias gpf='git push --force'
 | 
					  alias gFhf='git flow hotfix finish'
 | 
				
			||||||
alias gpa='git push --all'
 | 
					  alias gFhp='git flow hotfix publish'
 | 
				
			||||||
alias gpA='git push --all && git push --tags'
 | 
					  alias gFht='git flow hotfix track'
 | 
				
			||||||
alias gpt='git push --tags'
 | 
					  alias gFhd='git flow hotfix diff'
 | 
				
			||||||
alias gpc='git push --set-upstream origin "$(git-branch-current 2> /dev/null)"'
 | 
					  alias gFhr='git flow hotfix rebase'
 | 
				
			||||||
alias gpp='git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)"'
 | 
					  alias gFhc='git flow hotfix checkout'
 | 
				
			||||||
 | 
					  alias gFhm='git flow hotfix pull'
 | 
				
			||||||
 | 
					  alias gFhx='git flow hotfix delete'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Rebase (r)
 | 
					  alias gFsl='git flow support list'
 | 
				
			||||||
alias gr='git rebase'
 | 
					  alias gFss='git flow support start'
 | 
				
			||||||
alias gra='git rebase --abort'
 | 
					  alias gFsf='git flow support finish'
 | 
				
			||||||
alias grc='git rebase --continue'
 | 
					  alias gFsp='git flow support publish'
 | 
				
			||||||
alias gri='git rebase --interactive'
 | 
					  alias gFst='git flow support track'
 | 
				
			||||||
alias grs='git rebase --skip'
 | 
					  alias gFsd='git flow support diff'
 | 
				
			||||||
 | 
					  alias gFsr='git flow support rebase'
 | 
				
			||||||
 | 
					  alias gFsc='git flow support checkout'
 | 
				
			||||||
 | 
					  alias gFsm='git flow support pull'
 | 
				
			||||||
 | 
					  alias gFsx='git flow support delete'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Remote (R)
 | 
					  # Grep (g)
 | 
				
			||||||
alias gR='git remote'
 | 
					  alias gg='git grep'
 | 
				
			||||||
alias gRl='git remote --verbose'
 | 
					  alias ggi='git grep --ignore-case'
 | 
				
			||||||
alias gRa='git remote add'
 | 
					  alias ggl='git grep --files-with-matches'
 | 
				
			||||||
alias gRx='git remote rm'
 | 
					  alias ggL='git grep --files-without-matches'
 | 
				
			||||||
alias gRm='git remote rename'
 | 
					  alias ggv='git grep --invert-match'
 | 
				
			||||||
alias gRu='git remote update'
 | 
					  alias ggw='git grep --word-regexp'
 | 
				
			||||||
alias gRp='git remote prune'
 | 
					 | 
				
			||||||
alias gRs='git remote show'
 | 
					 | 
				
			||||||
alias gRb='git-hub-browse'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Stash (s)
 | 
					  # Index (i)
 | 
				
			||||||
alias gs='git stash'
 | 
					  alias gia='git add'
 | 
				
			||||||
alias gsa='git stash apply'
 | 
					  alias giA='git add --patch'
 | 
				
			||||||
alias gsx='git stash drop'
 | 
					  alias giu='git add --update'
 | 
				
			||||||
alias gsX='git-stash-clear-interactive'
 | 
					  alias gid='git diff --no-ext-diff --cached'
 | 
				
			||||||
alias gsl='git stash list'
 | 
					  alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
				
			||||||
alias gsL='git-stash-dropped'
 | 
					  alias gii='git update-index --assume-unchanged'
 | 
				
			||||||
alias gsd='git stash show --patch --stat'
 | 
					  alias giI='git update-index --no-assume-unchanged'
 | 
				
			||||||
alias gsp='git stash pop'
 | 
					  alias gir='git reset'
 | 
				
			||||||
alias gsr='git-stash-recover'
 | 
					  alias giR='git reset --patch'
 | 
				
			||||||
alias gss='git stash save --include-untracked'
 | 
					  alias gix='git rm -r --cached'
 | 
				
			||||||
alias gsS='git stash save --patch --no-keep-index'
 | 
					  alias giX='git rm -r --force --cached'
 | 
				
			||||||
alias gsw='git stash save --include-untracked --keep-index'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Submodule (S)
 | 
					  # Log (l)
 | 
				
			||||||
alias gS='git submodule'
 | 
					  alias gl='git log --topo-order --pretty=format:"$_git_log_medium_format"'
 | 
				
			||||||
alias gSa='git submodule add'
 | 
					  alias gls='git log --topo-order --stat --pretty=format:"$_git_log_medium_format"'
 | 
				
			||||||
alias gSf='git submodule foreach'
 | 
					  alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"$_git_log_medium_format"'
 | 
				
			||||||
alias gSi='git submodule init'
 | 
					  alias glo='git log --topo-order --pretty=format:"$_git_log_oneline_format"'
 | 
				
			||||||
alias gSI='git submodule update --init --recursive'
 | 
					  alias glg='git log --topo-order --graph --pretty=format:"$_git_log_oneline_format"'
 | 
				
			||||||
alias gSl='git submodule status'
 | 
					  alias glb='git log --topo-order --pretty=format:"$_git_log_brief_format"'
 | 
				
			||||||
alias gSm='git-submodule-move'
 | 
					  alias glc='git shortlog --summary --numbered'
 | 
				
			||||||
alias gSs='git submodule sync'
 | 
					  alias glS='git log --show-signature'
 | 
				
			||||||
alias gSu='git submodule foreach git pull origin master'
 | 
					 | 
				
			||||||
alias gSx='git-submodule-remove'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Working Copy (w)
 | 
					  # Merge (m)
 | 
				
			||||||
alias gws='git status --ignore-submodules=${_git_status_ignore_submodules} --short'
 | 
					  alias gm='git merge'
 | 
				
			||||||
alias gwS='git status --ignore-submodules=${_git_status_ignore_submodules}'
 | 
					  alias gmC='git merge --no-commit'
 | 
				
			||||||
alias gwd='git diff --no-ext-diff'
 | 
					  alias gmF='git merge --no-ff'
 | 
				
			||||||
alias gwD='git diff --no-ext-diff --word-diff'
 | 
					  alias gma='git merge --abort'
 | 
				
			||||||
alias gwr='git reset --soft'
 | 
					  alias gmt='git mergetool'
 | 
				
			||||||
alias gwR='git reset --hard'
 | 
					
 | 
				
			||||||
alias gwc='git clean -n'
 | 
					  # Push (p)
 | 
				
			||||||
alias gwC='git clean -f'
 | 
					  alias gp='git push'
 | 
				
			||||||
alias gwx='git rm -r'
 | 
					  alias gpf='git push --force-with-lease'
 | 
				
			||||||
alias gwX='git rm -rf'
 | 
					  alias gpF='git push --force'
 | 
				
			||||||
 | 
					  alias gpa='git push --all'
 | 
				
			||||||
 | 
					  alias gpA='git push --all && git push --tags'
 | 
				
			||||||
 | 
					  alias gpt='git push --tags'
 | 
				
			||||||
 | 
					  alias gpc='git push --set-upstream origin "$(git-branch-current 2> /dev/null)"'
 | 
				
			||||||
 | 
					  alias gpp='git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)"'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Rebase (r)
 | 
				
			||||||
 | 
					  alias gr='git rebase'
 | 
				
			||||||
 | 
					  alias gra='git rebase --abort'
 | 
				
			||||||
 | 
					  alias grc='git rebase --continue'
 | 
				
			||||||
 | 
					  alias gri='git rebase --interactive'
 | 
				
			||||||
 | 
					  alias grs='git rebase --skip'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Remote (R)
 | 
				
			||||||
 | 
					  alias gR='git remote'
 | 
				
			||||||
 | 
					  alias gRl='git remote --verbose'
 | 
				
			||||||
 | 
					  alias gRa='git remote add'
 | 
				
			||||||
 | 
					  alias gRx='git remote rm'
 | 
				
			||||||
 | 
					  alias gRm='git remote rename'
 | 
				
			||||||
 | 
					  alias gRu='git remote update'
 | 
				
			||||||
 | 
					  alias gRp='git remote prune'
 | 
				
			||||||
 | 
					  alias gRs='git remote show'
 | 
				
			||||||
 | 
					  alias gRb='git-hub-browse'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Stash (s)
 | 
				
			||||||
 | 
					  alias gs='git stash'
 | 
				
			||||||
 | 
					  alias gsa='git stash apply'
 | 
				
			||||||
 | 
					  alias gsx='git stash drop'
 | 
				
			||||||
 | 
					  alias gsX='git-stash-clear-interactive'
 | 
				
			||||||
 | 
					  alias gsl='git stash list'
 | 
				
			||||||
 | 
					  alias gsL='git-stash-dropped'
 | 
				
			||||||
 | 
					  alias gsd='git stash show --patch --stat'
 | 
				
			||||||
 | 
					  alias gsp='git stash pop'
 | 
				
			||||||
 | 
					  alias gsr='git-stash-recover'
 | 
				
			||||||
 | 
					  alias gss='git stash save --include-untracked'
 | 
				
			||||||
 | 
					  alias gsS='git stash save --patch --no-keep-index'
 | 
				
			||||||
 | 
					  alias gsw='git stash save --include-untracked --keep-index'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Submodule (S)
 | 
				
			||||||
 | 
					  alias gS='git submodule'
 | 
				
			||||||
 | 
					  alias gSa='git submodule add'
 | 
				
			||||||
 | 
					  alias gSf='git submodule foreach'
 | 
				
			||||||
 | 
					  alias gSi='git submodule init'
 | 
				
			||||||
 | 
					  alias gSI='git submodule update --init --recursive'
 | 
				
			||||||
 | 
					  alias gSl='git submodule status'
 | 
				
			||||||
 | 
					  alias gSm='git-submodule-move'
 | 
				
			||||||
 | 
					  alias gSs='git submodule sync'
 | 
				
			||||||
 | 
					  alias gSu='git submodule update --remote --recursive'
 | 
				
			||||||
 | 
					  alias gSx='git-submodule-remove'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Tag (t)
 | 
				
			||||||
 | 
					  alias gt='git tag'
 | 
				
			||||||
 | 
					  alias gtl='git tag --list'
 | 
				
			||||||
 | 
					  alias gts='git tag --sign'
 | 
				
			||||||
 | 
					  alias gtv='git verify-tag'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Working Copy (w)
 | 
				
			||||||
 | 
					  alias gws='git status --ignore-submodules=$_git_status_ignore_submodules --short'
 | 
				
			||||||
 | 
					  alias gwS='git status --ignore-submodules=$_git_status_ignore_submodules'
 | 
				
			||||||
 | 
					  alias gwd='git diff --no-ext-diff'
 | 
				
			||||||
 | 
					  alias gwD='git diff --no-ext-diff --word-diff'
 | 
				
			||||||
 | 
					  alias gwr='git reset --soft'
 | 
				
			||||||
 | 
					  alias gwR='git reset --hard'
 | 
				
			||||||
 | 
					  alias gwc='git clean --dry-run'
 | 
				
			||||||
 | 
					  alias gwC='git clean --force'
 | 
				
			||||||
 | 
					  alias gwx='git rm -r'
 | 
				
			||||||
 | 
					  alias gwX='git rm -r --force'
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -21,7 +21,7 @@ _arguments -C -s -S \
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
case "$state" in
 | 
					case "$state" in
 | 
				
			||||||
  (remote)
 | 
					  (remote)
 | 
				
			||||||
    remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
 | 
					    remotes=($(command git config --get-regexp 'remote.*.url' | cut -d. -f2))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _describe -t branch 'remotes' remotes && ret=0
 | 
					    _describe -t branch 'remotes' remotes && ret=0
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
@@ -29,7 +29,7 @@ case "$state" in
 | 
				
			|||||||
    remote="$words[(($CURRENT - 1))]"
 | 
					    remote="$words[(($CURRENT - 1))]"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    branches_or_tags=($(
 | 
					    branches_or_tags=($(
 | 
				
			||||||
      git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
 | 
					      command git ls-remote --heads --tags "$remote" 2> /dev/null | cut -f2
 | 
				
			||||||
    ))
 | 
					    ))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
 | 
					    branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
 | 
				
			||||||
@@ -39,7 +39,7 @@ case "$state" in
 | 
				
			|||||||
    _describe -t tag 'tags' tags && ret=0
 | 
					    _describe -t tag 'tags' tags && ret=0
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
  (file)
 | 
					  (file)
 | 
				
			||||||
    files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2>/dev/null)"})
 | 
					    files=(${(0)"$(_call_program files command git ls-files -z --exclude-standard 2> /dev/null)"})
 | 
				
			||||||
    _wanted file expl 'file' _multi_parts - / files && ret=0
 | 
					    _wanted file expl 'file' _multi_parts - / files && ret=0
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
esac
 | 
					esac
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,4 +8,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_arguments '1:url:' && return 0
 | 
					local service="$service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zstyle ":completion:*:${service}:*:prefixes" ignored-patterns '^http(|s)://'
 | 
				
			||||||
 | 
					zstyle ":completion:*:${service}:*:hosts" ignored-patterns '^*github.com'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_arguments '1::GitHub URL:_urls' '2::code:' && return 0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,7 +25,7 @@ case "$state" in
 | 
				
			|||||||
    while IFS=$'\n' read submodule; do
 | 
					    while IFS=$'\n' read submodule; do
 | 
				
			||||||
      submodules+=("$submodule")
 | 
					      submodules+=("$submodule")
 | 
				
			||||||
    done < <(
 | 
					    done < <(
 | 
				
			||||||
      git config --file "$(git-root)/.gitmodules" --list \
 | 
					      command git config --file "$(git-root)/.gitmodules" --list \
 | 
				
			||||||
        | grep '.path=' \
 | 
					        | grep '.path=' \
 | 
				
			||||||
        | cut -d= -f2-
 | 
					        | cut -d= -f2-
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -18,7 +18,7 @@ local submodule
 | 
				
			|||||||
while IFS=$'\n' read submodule; do
 | 
					while IFS=$'\n' read submodule; do
 | 
				
			||||||
  submodules+=("$submodule")
 | 
					  submodules+=("$submodule")
 | 
				
			||||||
done < <(
 | 
					done < <(
 | 
				
			||||||
  git config --file "$(git-root)/.gitmodules" --list \
 | 
					  command git config --file "$(git-root)/.gitmodules" --list \
 | 
				
			||||||
    | grep '.path=' \
 | 
					    | grep '.path=' \
 | 
				
			||||||
    | cut -d= -f2-
 | 
					    | cut -d= -f2-
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,12 +5,14 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! git rev-parse 2> /dev/null; then
 | 
					# function git-branch-current {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! command git rev-parse 2> /dev/null; then
 | 
				
			||||||
  print "$0: not a repository: $PWD" >&2
 | 
					  print "$0: not a repository: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local ref="$(git symbolic-ref HEAD 2> /dev/null)"
 | 
					local ref="$(command git symbolic-ref HEAD 2> /dev/null)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n "$ref" ]]; then
 | 
					if [[ -n "$ref" ]]; then
 | 
				
			||||||
  print "${ref#refs/heads/}"
 | 
					  print "${ref#refs/heads/}"
 | 
				
			||||||
@@ -18,3 +20,5 @@ if [[ -n "$ref" ]]; then
 | 
				
			|||||||
else
 | 
					else
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,16 +5,20 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-commit-lost {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
git fsck 2> /dev/null \
 | 
					command git fsck 2> /dev/null \
 | 
				
			||||||
  | grep "^dangling commit" \
 | 
					  | grep "^dangling commit" \
 | 
				
			||||||
  | awk '{print $3}' \
 | 
					  | awk '{print $3}' \
 | 
				
			||||||
  | git log \
 | 
					  | command git log \
 | 
				
			||||||
      --date-order \
 | 
					      --date-order \
 | 
				
			||||||
      --no-walk \
 | 
					      --no-walk \
 | 
				
			||||||
      --stdin \
 | 
					      --stdin \
 | 
				
			||||||
      --pretty=format:${_git_log_oneline_format}
 | 
					      --pretty=format:${_git_log_oneline_format}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local git_dir="${$(git rev-parse --git-dir):A}"
 | 
					# function git-dir {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local git_dir="${$(command git rev-parse --git-dir):A}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n "$git_dir" ]]; then
 | 
					if [[ -n "$git_dir" ]]; then
 | 
				
			||||||
  print "$git_dir"
 | 
					  print "$git_dir"
 | 
				
			||||||
@@ -14,3 +16,5 @@ else
 | 
				
			|||||||
  print "$0: not a repository: $PWD" >&2
 | 
					  print "$0: not a repository: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-hub-browse {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@@ -13,7 +15,7 @@ fi
 | 
				
			|||||||
local remotes remote references reference file url
 | 
					local remotes remote references reference file url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
remote="${1:-origin}"
 | 
					remote="${1:-origin}"
 | 
				
			||||||
remotes=($(git config --get-regexp 'remote.*.url' | cut -d. -f2))
 | 
					remotes=($(command git remote show))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $remotes[(i)$remote] == $#remotes + 1 )); then
 | 
					if (( $remotes[(i)$remote] == $#remotes + 1 )); then
 | 
				
			||||||
  print "$0: remote not found: $remote" >&2
 | 
					  print "$0: remote not found: $remote" >&2
 | 
				
			||||||
@@ -21,14 +23,14 @@ if (( $remotes[(i)$remote] == $#remotes + 1 )); then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
url=$(
 | 
					url=$(
 | 
				
			||||||
  git config --get "remote.${remote}.url" \
 | 
					  command git remote get-url "$remote" \
 | 
				
			||||||
    | sed -En "s/(git|https?)(@|:\/\/)github.com(:|\/)(.+)\/(.+).git/https:\/\/github.com\/\4\/\5/p"
 | 
					      | sed -En "s#(git@|https?://)(github.com)(:|/)(.+)/(.+)\.git#https://\2/\4/\5#p"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reference="${${2:-$(git-branch-current)}:-HEAD}"
 | 
					reference="${${2:-$(git-branch-current)}:-HEAD}"
 | 
				
			||||||
references=(
 | 
					references=(
 | 
				
			||||||
  HEAD
 | 
					  HEAD
 | 
				
			||||||
  ${$(git ls-remote --heads --tags "$remote" | awk '{print $2}')##refs/(heads|tags)/}
 | 
					  ${${(f)"$(command git ls-remote --heads --tags "$remote")"}##*refs/(heads|tags)/}
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $references[(i)$reference] == $#references + 1 )); then
 | 
					if (( $references[(i)$reference] == $#references + 1 )); then
 | 
				
			||||||
@@ -37,15 +39,15 @@ if (( $references[(i)$reference] == $#references + 1 )); then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ "$reference" == 'HEAD' ]]; then
 | 
					if [[ "$reference" == 'HEAD' ]]; then
 | 
				
			||||||
  reference="$(git rev-parse HEAD 2>/dev/null)"
 | 
					  reference="$(command git rev-parse HEAD 2> /dev/null)"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
file="$3"
 | 
					file="$3"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n "$url" ]]; then
 | 
					if [[ -n "$url" ]]; then
 | 
				
			||||||
  url="${url}/tree/${reference}/${file}"
 | 
					  url="$url/tree/$reference/$file"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (( $+commands[$BROWSER] )); then
 | 
					  if [[ -n "$BROWSER" ]]; then
 | 
				
			||||||
    "$BROWSER" "$url"
 | 
					    "$BROWSER" "$url"
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
@@ -56,3 +58,5 @@ else
 | 
				
			|||||||
  print "$0: not a Git repository or remote not set" >&2
 | 
					  print "$0: not a Git repository or remote not set" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,18 +5,24 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local url="$1"
 | 
					# function git-hub-shorten-url {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local url="$1" code="$2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ "$url" == '-' ]]; then
 | 
					if [[ "$url" == '-' ]]; then
 | 
				
			||||||
  read url <&0
 | 
					  read url <&0
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -z "$url" ]]; then
 | 
					if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then
 | 
				
			||||||
  print "usage: $0 [ url | - ]" >&2
 | 
					  print "usage: $0 [ url | - ] [code] ; url must be a github.com URL" >&2
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $+commands[curl] )); then
 | 
					if (( $+commands[curl] )); then
 | 
				
			||||||
  curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //'
 | 
					  print "${${(@M)${(f)"$(curl -s -i 'https://git.io' -F "url=$url" ${(z)code:+ -F "code=$code"})"}:#Location: *}#Location: }"
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  print "$0: command not found: curl" >&2
 | 
					  print "$0: command not found: curl" >&2
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,7 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Gets the Git special action (am, bisect, cherry, merge, rebase).
 | 
					# Gets the Git special action (am, bisect, cherry, merge, rebase, revert).
 | 
				
			||||||
# Borrowed from vcs_info and edited.
 | 
					# Borrowed from vcs_info and edited.
 | 
				
			||||||
function _git-action {
 | 
					function _git-action {
 | 
				
			||||||
  local action_dir
 | 
					  local action_dir
 | 
				
			||||||
@@ -18,22 +18,26 @@ function _git-action {
 | 
				
			|||||||
  local rebase_formatted
 | 
					  local rebase_formatted
 | 
				
			||||||
  local rebase_interactive_formatted
 | 
					  local rebase_interactive_formatted
 | 
				
			||||||
  local rebase_merge_formatted
 | 
					  local rebase_merge_formatted
 | 
				
			||||||
 | 
					  local revert_formatted
 | 
				
			||||||
 | 
					  local revert_sequence_formatted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for action_dir in \
 | 
					  for action_dir in \
 | 
				
			||||||
    "${git_dir}/rebase-apply" \
 | 
					    "$git_dir/rebase-apply" \
 | 
				
			||||||
    "${git_dir}/rebase" \
 | 
					    "$git_dir/rebase" \
 | 
				
			||||||
    "${git_dir}/../.dotest"
 | 
					    "$git_dir/../.dotest"
 | 
				
			||||||
  do
 | 
					  do
 | 
				
			||||||
    if [[ -d "$action_dir" ]] ; then
 | 
					    if [[ -d "$action_dir" ]] ; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' || apply_formatted='apply'
 | 
					      zstyle -s ':prezto:module:git:info:action:apply' format 'apply_formatted' \
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' || rebase_formatted='rebase'
 | 
					          || apply_formatted='apply'
 | 
				
			||||||
 | 
					      zstyle -s ':prezto:module:git:info:action:rebase' format 'rebase_formatted' \
 | 
				
			||||||
 | 
					          || rebase_formatted='rebase'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if [[ -f "${action_dir}/rebasing" ]] ; then
 | 
					      if [[ -f "$action_dir/rebasing" ]] ; then
 | 
				
			||||||
        print "$rebase_formatted"
 | 
					        print "$rebase_formatted"
 | 
				
			||||||
      elif [[ -f "${action_dir}/applying" ]] ; then
 | 
					      elif [[ -f "$action_dir/applying" ]] ; then
 | 
				
			||||||
        print "$apply_formatted"
 | 
					        print "$apply_formatted"
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        print "${rebase_formatted}/${apply_formatted}"
 | 
					        print "$rebase_formatted/$apply_formatted"
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      return 0
 | 
					      return 0
 | 
				
			||||||
@@ -41,47 +45,67 @@ function _git-action {
 | 
				
			|||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for action_dir in \
 | 
					  for action_dir in \
 | 
				
			||||||
    "${git_dir}/rebase-merge/interactive" \
 | 
					    "$git_dir/rebase-merge/interactive" \
 | 
				
			||||||
    "${git_dir}/.dotest-merge/interactive"
 | 
					    "$git_dir/.dotest-merge/interactive"
 | 
				
			||||||
  do
 | 
					  do
 | 
				
			||||||
    if [[ -f "$action_dir" ]]; then
 | 
					    if [[ -f "$action_dir" ]]; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' || rebase_interactive_formatted='rebase-interactive'
 | 
					      zstyle -s ':prezto:module:git:info:action:rebase-interactive' format 'rebase_interactive_formatted' \
 | 
				
			||||||
 | 
					          || rebase_interactive_formatted='rebase-interactive'
 | 
				
			||||||
      print "$rebase_interactive_formatted"
 | 
					      print "$rebase_interactive_formatted"
 | 
				
			||||||
      return 0
 | 
					      return 0
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for action_dir in \
 | 
					  for action_dir in \
 | 
				
			||||||
    "${git_dir}/rebase-merge" \
 | 
					    "$git_dir/rebase-merge" \
 | 
				
			||||||
    "${git_dir}/.dotest-merge"
 | 
					    "$git_dir/.dotest-merge"
 | 
				
			||||||
  do
 | 
					  do
 | 
				
			||||||
    if [[ -d "$action_dir" ]]; then
 | 
					    if [[ -d "$action_dir" ]]; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' || rebase_merge_formatted='rebase-merge'
 | 
					      zstyle -s ':prezto:module:git:info:action:rebase-merge' format 'rebase_merge_formatted' \
 | 
				
			||||||
 | 
					          || rebase_merge_formatted='rebase-merge'
 | 
				
			||||||
      print "$rebase_merge_formatted"
 | 
					      print "$rebase_merge_formatted"
 | 
				
			||||||
      return 0
 | 
					      return 0
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -f "${git_dir}/MERGE_HEAD" ]]; then
 | 
					  if [[ -f "$git_dir/MERGE_HEAD" ]]; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' || merge_formatted='merge'
 | 
					    zstyle -s ':prezto:module:git:info:action:merge' format 'merge_formatted' \
 | 
				
			||||||
 | 
					        || merge_formatted='merge'
 | 
				
			||||||
    print "$merge_formatted"
 | 
					    print "$merge_formatted"
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -f "${git_dir}/CHERRY_PICK_HEAD" ]]; then
 | 
					  if [[ -f "$git_dir/CHERRY_PICK_HEAD" ]]; then
 | 
				
			||||||
    if [[ -d "${git_dir}/sequencer" ]] ; then
 | 
					    if [[ -d "$git_dir/sequencer" ]] ; then
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' || cherry_pick_sequence_formatted='cherry-pick-sequence'
 | 
					      zstyle -s ':prezto:module:git:info:action:cherry-pick-sequence' format 'cherry_pick_sequence_formatted' \
 | 
				
			||||||
 | 
					          || cherry_pick_sequence_formatted='cherry-pick-sequence'
 | 
				
			||||||
      print "$cherry_pick_sequence_formatted"
 | 
					      print "$cherry_pick_sequence_formatted"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' || cherry_pick_formatted='cherry-pick'
 | 
					      zstyle -s ':prezto:module:git:info:action:cherry-pick' format 'cherry_pick_formatted' \
 | 
				
			||||||
 | 
					          || cherry_pick_formatted='cherry-pick'
 | 
				
			||||||
      print "$cherry_pick_formatted"
 | 
					      print "$cherry_pick_formatted"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -f "${git_dir}/BISECT_LOG" ]]; then
 | 
					  if [[ -f "$git_dir/REVERT_HEAD" ]]; then
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' || bisect_formatted='bisect'
 | 
					    if [[ -d "$git_dir/sequencer" ]] ; then
 | 
				
			||||||
 | 
					      zstyle -s ':prezto:module:git:info:action:revert-sequence' format 'revert_sequence_formatted' \
 | 
				
			||||||
 | 
					          || revert_sequence_formatted='revert-sequence'
 | 
				
			||||||
 | 
					      print "$revert_sequence_formatted"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      zstyle -s ':prezto:module:git:info:action:revert' format 'revert_formatted' \
 | 
				
			||||||
 | 
					          || revert_formatted='revert'
 | 
				
			||||||
 | 
					      print "$revert_formatted"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return 0
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ -f "$git_dir/BISECT_LOG" ]]; then
 | 
				
			||||||
 | 
					    zstyle -s ':prezto:module:git:info:action:bisect' format 'bisect_formatted' \
 | 
				
			||||||
 | 
					        || bisect_formatted='bisect'
 | 
				
			||||||
    print "$bisect_formatted"
 | 
					    print "$bisect_formatted"
 | 
				
			||||||
    return 0
 | 
					    return 0
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
@@ -164,15 +188,15 @@ function git-info {
 | 
				
			|||||||
  typeset -gA git_info
 | 
					  typeset -gA git_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Return if not inside a Git repository work tree.
 | 
					  # Return if not inside a Git repository work tree.
 | 
				
			||||||
  if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					  if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
    return 1
 | 
					    return 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (( $# > 0 )); then
 | 
					  if (( $# > 0 )); then
 | 
				
			||||||
    if [[ "$1" == [Oo][Nn] ]]; then
 | 
					    if [[ "$1" == [Oo][Nn] ]]; then
 | 
				
			||||||
      git config --bool prompt.showinfo true
 | 
					      command git config --bool prompt.showinfo true
 | 
				
			||||||
    elif [[ "$1" == [Oo][Ff][Ff] ]]; then
 | 
					    elif [[ "$1" == [Oo][Ff][Ff] ]]; then
 | 
				
			||||||
      git config --bool prompt.showinfo false
 | 
					      command git config --bool prompt.showinfo false
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      print "usage: $0 [ on | off ]" >&2
 | 
					      print "usage: $0 [ on | off ]" >&2
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -180,7 +204,7 @@ function git-info {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Return if git-info is disabled.
 | 
					  # Return if git-info is disabled.
 | 
				
			||||||
  if ! is-true "${$(git config --bool prompt.showinfo):-true}"; then
 | 
					  if ! is-true "${$(command git config --bool prompt.showinfo):-true}"; then
 | 
				
			||||||
    return 1
 | 
					    return 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -190,7 +214,7 @@ function git-info {
 | 
				
			|||||||
  # Format commit.
 | 
					  # Format commit.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
					  zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
				
			||||||
  if [[ -n "$commit_format" ]]; then
 | 
					  if [[ -n "$commit_format" ]]; then
 | 
				
			||||||
    commit="$(git rev-parse HEAD 2> /dev/null)"
 | 
					    commit="$(command git rev-parse HEAD 2> /dev/null)"
 | 
				
			||||||
    if [[ -n "$commit" ]]; then
 | 
					    if [[ -n "$commit" ]]; then
 | 
				
			||||||
      zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
					      zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -198,12 +222,19 @@ function git-info {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  # Format stashed.
 | 
					  # Format stashed.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
					  zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
				
			||||||
  if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
 | 
					  if [[ -n "$stashed_format" ]]; then
 | 
				
			||||||
    stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
 | 
					    commondir=""
 | 
				
			||||||
    if [[ -n "$stashed" ]]; then
 | 
					    if [[ -f "$(git-dir)/commondir" ]]; then
 | 
				
			||||||
 | 
					      commondir="$(<$(git-dir)/commondir)"
 | 
				
			||||||
 | 
					      [[ "$commondir" =~ ^/ ]] || commondir="$(git-dir)/$commondir"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    if [[ -f "$(git-dir)/refs/stash" || ( -n "$commondir" && -f "$commondir/refs/stash" ) ]]; then
 | 
				
			||||||
 | 
					      stashed=${#${(f)"$(command git stash list 2> /dev/null)"}}
 | 
				
			||||||
 | 
					      if (( $stashed > 0 )); then
 | 
				
			||||||
        zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
					        zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format action.
 | 
					  # Format action.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
					  zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
				
			||||||
@@ -215,7 +246,7 @@ function git-info {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Get the branch.
 | 
					  # Get the branch.
 | 
				
			||||||
  branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
 | 
					  branch="${$(command git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Format branch.
 | 
					  # Format branch.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
					  zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
				
			||||||
@@ -226,7 +257,7 @@ function git-info {
 | 
				
			|||||||
  # Format position.
 | 
					  # Format position.
 | 
				
			||||||
  zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
					  zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
				
			||||||
  if [[ -z "$branch" && -n "$position_format" ]]; then
 | 
					  if [[ -z "$branch" && -n "$position_format" ]]; then
 | 
				
			||||||
    position="$(git describe --contains --all HEAD 2> /dev/null)"
 | 
					    position="$(command git describe --contains --all HEAD 2> /dev/null)"
 | 
				
			||||||
    if [[ -n "$position" ]]; then
 | 
					    if [[ -n "$position" ]]; then
 | 
				
			||||||
      zformat -f position_formatted "$position_format" "p:$position"
 | 
					      zformat -f position_formatted "$position_format" "p:$position"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
@@ -236,7 +267,7 @@ function git-info {
 | 
				
			|||||||
  zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
					  zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
				
			||||||
  if [[ -n "$branch" && -n "$remote_format" ]]; then
 | 
					  if [[ -n "$branch" && -n "$remote_format" ]]; then
 | 
				
			||||||
    # Gets the remote name.
 | 
					    # Gets the remote name.
 | 
				
			||||||
    remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
 | 
					    remote_cmd='command git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
 | 
				
			||||||
    remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
 | 
					    remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
 | 
				
			||||||
    if [[ -n "$remote" ]]; then
 | 
					    if [[ -n "$remote" ]]; then
 | 
				
			||||||
      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
					      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
				
			||||||
@@ -247,14 +278,14 @@ function git-info {
 | 
				
			|||||||
  zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
					  zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
				
			||||||
  if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
 | 
					  if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
 | 
				
			||||||
    # Gets the commit difference counts between local and remote.
 | 
					    # Gets the commit difference counts between local and remote.
 | 
				
			||||||
    ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
 | 
					    ahead_and_behind_cmd='command git rev-list --count --left-right HEAD...@{upstream}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Get ahead and behind counts.
 | 
					    # Get ahead and behind counts.
 | 
				
			||||||
    ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
 | 
					    ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Format ahead.
 | 
					    # Format ahead.
 | 
				
			||||||
    if [[ -n "$ahead_format" ]]; then
 | 
					    if [[ -n "$ahead_format" ]]; then
 | 
				
			||||||
      ahead="$ahead_and_behind[(w)1]"
 | 
					      ahead="$ahead_and_behind[(pws:\t:)1]"
 | 
				
			||||||
      if (( ahead > 0 )); then
 | 
					      if (( ahead > 0 )); then
 | 
				
			||||||
        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
					        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
@@ -262,7 +293,7 @@ function git-info {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # Format behind.
 | 
					    # Format behind.
 | 
				
			||||||
    if [[ -n "$behind_format" ]]; then
 | 
					    if [[ -n "$behind_format" ]]; then
 | 
				
			||||||
      behind="$ahead_and_behind[(w)2]"
 | 
					      behind="$ahead_and_behind[(pws:\t:)2]"
 | 
				
			||||||
      if (( behind > 0 )); then
 | 
					      if (( behind > 0 )); then
 | 
				
			||||||
        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
					        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
@@ -276,7 +307,7 @@ function git-info {
 | 
				
			|||||||
    if [[ -n "$indexed_format" ]]; then
 | 
					    if [[ -n "$indexed_format" ]]; then
 | 
				
			||||||
      ((
 | 
					      ((
 | 
				
			||||||
        indexed+=$(
 | 
					        indexed+=$(
 | 
				
			||||||
          git diff-index \
 | 
					          command git diff-index \
 | 
				
			||||||
            --no-ext-diff \
 | 
					            --no-ext-diff \
 | 
				
			||||||
            --name-only \
 | 
					            --name-only \
 | 
				
			||||||
            --cached \
 | 
					            --cached \
 | 
				
			||||||
@@ -296,7 +327,7 @@ function git-info {
 | 
				
			|||||||
    if [[ -n "$unindexed_format" ]]; then
 | 
					    if [[ -n "$unindexed_format" ]]; then
 | 
				
			||||||
      ((
 | 
					      ((
 | 
				
			||||||
        unindexed+=$(
 | 
					        unindexed+=$(
 | 
				
			||||||
          git diff-files \
 | 
					          command git diff-files \
 | 
				
			||||||
            --no-ext-diff \
 | 
					            --no-ext-diff \
 | 
				
			||||||
            --name-only \
 | 
					            --name-only \
 | 
				
			||||||
            --ignore-submodules=${ignore_submodules:-none} \
 | 
					            --ignore-submodules=${ignore_submodules:-none} \
 | 
				
			||||||
@@ -314,7 +345,7 @@ function git-info {
 | 
				
			|||||||
    if [[ -n "$untracked_format" ]]; then
 | 
					    if [[ -n "$untracked_format" ]]; then
 | 
				
			||||||
      ((
 | 
					      ((
 | 
				
			||||||
        untracked+=$(
 | 
					        untracked+=$(
 | 
				
			||||||
          git ls-files \
 | 
					          command git ls-files \
 | 
				
			||||||
            --other \
 | 
					            --other \
 | 
				
			||||||
            --exclude-standard \
 | 
					            --exclude-standard \
 | 
				
			||||||
            2> /dev/null \
 | 
					            2> /dev/null \
 | 
				
			||||||
@@ -329,7 +360,7 @@ function git-info {
 | 
				
			|||||||
    (( dirty = indexed + unindexed + untracked ))
 | 
					    (( dirty = indexed + unindexed + untracked ))
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    # Use porcelain status for easy parsing.
 | 
					    # Use porcelain status for easy parsing.
 | 
				
			||||||
    status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
 | 
					    status_cmd="command git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Get current status.
 | 
					    # Get current status.
 | 
				
			||||||
    while IFS=$'\n' read line; do
 | 
					    while IFS=$'\n' read line; do
 | 
				
			||||||
@@ -386,6 +417,11 @@ function git-info {
 | 
				
			|||||||
  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"
 | 
				
			||||||
 | 
					    # Overwrite branch format to use dirty-branch format
 | 
				
			||||||
 | 
					    zstyle -s ':prezto:module:git:info:dirty-branch' format 'branch_format'
 | 
				
			||||||
 | 
					    if [[ -n "$branch" && -n "$branch_format" ]]; then
 | 
				
			||||||
 | 
					      zformat -f branch_formatted "$branch_format" "b:$branch"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    zstyle -s ':prezto:module:git:info:clean' format 'clean_formatted'
 | 
					    zstyle -s ':prezto:module:git:info:clean' format 'clean_formatted'
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
 | 
					# function git-root {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local root="$(command git rev-parse --show-toplevel 2> /dev/null)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -n "$root" ]]; then
 | 
					if [[ -n "$root" ]]; then
 | 
				
			||||||
  print "$root"
 | 
					  print "$root"
 | 
				
			||||||
@@ -14,3 +16,5 @@ else
 | 
				
			|||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										26
									
								
								modules/git/functions/git-squash
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								modules/git/functions/git-squash
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Performs a "dirty" squash
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Daniel Carrillo <daniel.carrillo@gmail.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function git-squash {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					elif [ -z "$2" ]; then
 | 
				
			||||||
 | 
					  print "Usage: $0 <base branch> \"commit message\"" >&2
 | 
				
			||||||
 | 
					  return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local bbranch=$1
 | 
				
			||||||
 | 
					local message=$2
 | 
				
			||||||
 | 
					local cbranch=$(git branch --show-current)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					git reset $(git merge-base $bbranch $cbranch)
 | 
				
			||||||
 | 
					git add -A
 | 
				
			||||||
 | 
					git commit -m "$message"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-stash-clear-interactive {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@@ -13,10 +15,12 @@ fi
 | 
				
			|||||||
local stashed
 | 
					local stashed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -f "$(git-dir)/refs/stash" ]]; then
 | 
					if [[ -f "$(git-dir)/refs/stash" ]]; then
 | 
				
			||||||
  stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
 | 
					  stashed=${#${(f)"$(command git stash list 2> /dev/null)"}}
 | 
				
			||||||
  if (( $stashed > 0 )); then
 | 
					  if (( $stashed > 0 )); then
 | 
				
			||||||
    if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
 | 
					    if read -q "?Clear $stashed stashed state(s) [y/N]? "; then
 | 
				
			||||||
      git stash clear
 | 
					      command git stash clear
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,18 +5,22 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-stash-dropped {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
git fsck --unreachable 2> /dev/null \
 | 
					command git fsck --unreachable 2> /dev/null \
 | 
				
			||||||
  | grep 'commit' \
 | 
					  | grep 'commit' \
 | 
				
			||||||
  | awk '{print $3}' \
 | 
					  | awk '{print $3}' \
 | 
				
			||||||
  | git log \
 | 
					  | command git log \
 | 
				
			||||||
      --pretty=format:${_git_log_oneline_format} \
 | 
					      --pretty=format:$_git_log_oneline_format \
 | 
				
			||||||
      --extended-regexp \
 | 
					      --extended-regexp \
 | 
				
			||||||
      --grep="${1:-(WIP )?[Oo]n [^:]+:}" \
 | 
					      --grep="${1:-(WIP )?[Oo]n [^:]+:}" \
 | 
				
			||||||
      --merges \
 | 
					      --merges \
 | 
				
			||||||
      --no-walk \
 | 
					      --no-walk \
 | 
				
			||||||
      --stdin
 | 
					      --stdin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-stash-recover {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
@@ -13,6 +15,8 @@ fi
 | 
				
			|||||||
local commit
 | 
					local commit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for commit in "$@"; do
 | 
					for commit in "$@"; do
 | 
				
			||||||
  git update-ref \
 | 
					  command git update-ref \
 | 
				
			||||||
    -m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
 | 
					    -m "$(command git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,9 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-submodule-move {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
elif [[ "$PWD" != "$(git-root)" ]]; then
 | 
					elif [[ "$PWD" != "$(git-root)" ]]; then
 | 
				
			||||||
@@ -17,16 +19,18 @@ local src="$1"
 | 
				
			|||||||
local dst="$2"
 | 
					local dst="$2"
 | 
				
			||||||
local url
 | 
					local url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
url="$(git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
 | 
					url="$(command git config --file "$(git-root)/.gitmodules" --get "submodule.${src}.url")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -z "$url" ]]; then
 | 
					if [[ -z "$url" ]]; then
 | 
				
			||||||
  print "$0: submodule not found: $src" >&2
 | 
					  print "$0: submodule not found: $src" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p "${dst:h}"
 | 
					mkdir -p "$dst:h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
git-submodule-remove "$src"
 | 
					git-submodule-remove "$src"
 | 
				
			||||||
git submodule add "$url" "$dst"
 | 
					command git submodule add "$url" "$dst"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return 0
 | 
					return 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,23 +5,27 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
					# function git-submodule-remove {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! is-true "$(command git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
				
			||||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
					  print "$0: not a repository work tree: $PWD" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
elif [[ "$PWD" != "$(git-root)" ]]; then
 | 
					elif [[ "$PWD" != "$(git-root)" ]]; then
 | 
				
			||||||
  print "$0: must be run from the root of the work tree" >&2
 | 
					  print "$0: must be run from the root of the work tree" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
elif ! git config --file .gitmodules --get "submodule.${1}.path" &>/dev/null; then
 | 
					elif ! command git config --file .gitmodules --get "submodule.${1}.path" &> /dev/null; then
 | 
				
			||||||
  print "$0: submodule not found: $1" >&2
 | 
					  print "$0: submodule not found: $1" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &>/dev/null
 | 
					command git config --file "$(git-dir)/config" --remove-section "submodule.${1}" &> /dev/null
 | 
				
			||||||
git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &>/dev/null
 | 
					command git config --file "$(git-root)/.gitmodules" --remove-section "submodule.${1}" &> /dev/null
 | 
				
			||||||
git add .gitmodules
 | 
					command git add .gitmodules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
git rm --cached -rf "${1}"
 | 
					command git rm --cached -rf "$1"
 | 
				
			||||||
rm -rf "${1}"
 | 
					rm -rf "$1"
 | 
				
			||||||
rm -rf "$(git-dir)/modules/${1}"
 | 
					rm -rf "$(git-dir)/modules/$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
return 0
 | 
					return 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,5 +13,8 @@ fi
 | 
				
			|||||||
# Load dependencies.
 | 
					# Load dependencies.
 | 
				
			||||||
pmodload 'helper'
 | 
					pmodload 'helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load 'run-help' function.
 | 
				
			||||||
 | 
					autoload -Uz run-help-git
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source module files.
 | 
					# Source module files.
 | 
				
			||||||
source "${0:h}/alias.zsh"
 | 
					source "${0:h}/alias.zsh"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,32 +1,34 @@
 | 
				
			|||||||
GNU Utility
 | 
					# GNU Utility
 | 
				
			||||||
===========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for the interactive use of GNU utilities on BSD systems.
 | 
					Provides for the interactive use of GNU utilities on BSD systems.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Installing GNU utilities on non-GNU systems in `$PATH` without a prefix, i.e.
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module wraps GNU utilities in functions without a prefix for interactive
 | 
					This module wraps GNU utilities in functions without a prefix for interactive
 | 
				
			||||||
use.
 | 
					use.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This module must be loaded **before** the *utility* module.
 | 
					This module must be loaded _before_ the [_`utility`_][1] module so that GNU
 | 
				
			||||||
 | 
					utilities enabled in this module are available for configuration in _`utility`_
 | 
				
			||||||
 | 
					module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Settings
 | 
					## Settings
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Prefix
 | 
					### Prefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
 | 
					To use a different prefix, add the following to
 | 
				
			||||||
the desired prefix:
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_, and replace `'g'` with the desired prefix.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:gnu-utility' prefix 'g'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:gnu-utility' prefix 'g'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[1]: ../utility#readme
 | 
				
			||||||
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,34 +6,36 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Get the prefix or use the default.
 | 
					# Get the prefix or use the default.
 | 
				
			||||||
zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' || _gnu_utility_p='g'
 | 
					zstyle -s ':prezto:module:gnu-utility' prefix '_gnu_utility_p' \
 | 
				
			||||||
 | 
					    || _gnu_utility_p='g'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if (( ! ${+commands[${_gnu_utility_p}whoami]} )); then
 | 
					if (( ! $+commands[${_gnu_utility_p}whoami] )); then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_gnu_utility_cmds=(
 | 
					_gnu_utility_cmds=(
 | 
				
			||||||
  # Coreutils
 | 
					  # Coreutils
 | 
				
			||||||
  '[' 'base64' 'basename' 'cat' 'chcon' 'chgrp' 'chmod' 'chown'
 | 
					  '[' 'b2sum' 'base32' 'base64' 'basename' 'basenc' 'cat' 'chcon' 'chgrp'
 | 
				
			||||||
  'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut' 'date' 'dd' 'df'
 | 
					  'chmod' 'chown' 'chroot' 'cksum' 'comm' 'cp' 'csplit' 'cut'
 | 
				
			||||||
  'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr'
 | 
					  'date' 'dd' 'df' 'dir' 'dircolors' 'dirname' 'du' 'echo' 'env' 'expand' 'expr'
 | 
				
			||||||
  'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id'
 | 
					  'factor' 'false' 'fmt' 'fold' 'groups' 'head' 'hostid' 'id' 'install' 'join'
 | 
				
			||||||
  'install' 'join' 'kill' 'link' 'ln' 'logname' 'ls' 'md5sum'
 | 
					  'kill' 'link' 'ln' 'logname' 'ls' 'md5sum' 'mkdir' 'mkfifo'
 | 
				
			||||||
  'mkdir' 'mkfifo' 'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc'
 | 
					  'mknod' 'mktemp' 'mv' 'nice' 'nl' 'nohup' 'nproc' 'numfmt' 'od'
 | 
				
			||||||
  'od' 'paste' 'pathchk' 'pinee' 'pr' 'printenv' 'printf' 'ptx'
 | 
					  'paste' 'pathchk' 'pinky' 'pr' 'printenv' 'printf' 'ptx' 'pwd'
 | 
				
			||||||
  'pwd' 'readlink' 'realpath' 'rm' 'rmdir' 'runcon' 'seq' 'sha1sum'
 | 
					  'readlink' 'realpath' 'rm' 'rmdir' 'runcon'
 | 
				
			||||||
  'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf'
 | 
					  'seq' 'sha1sum' 'sha224sum' 'sha256sum' 'sha384sum' 'sha512sum' 'shred' 'shuf'
 | 
				
			||||||
  'sleep' 'sort' 'split' 'stat' 'stty' 'sum' 'sync' 'tac' 'tail'
 | 
					  'sleep' 'sort' 'split' 'stat' 'stdbuf' 'stty' 'sum' 'sync' 'tac' 'tail'
 | 
				
			||||||
  'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort'
 | 
					  'tee' 'test' 'timeout' 'touch' 'tr' 'true' 'truncate' 'tsort' 'tty'
 | 
				
			||||||
  'tty' 'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir'
 | 
					  'uname' 'unexpand' 'uniq' 'unlink' 'uptime' 'users' 'vdir'
 | 
				
			||||||
  'wc' 'who' 'whoami' 'yes'
 | 
					  'wc' 'who' 'whoami' 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # The following utilities are not part of Coreutils but installed separately.
 | 
					  # The following utilities are not part of Coreutils but installed separately.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Binutils
 | 
					  # Binutils
 | 
				
			||||||
  'addr2line' 'ar' 'c++filt' 'elfedit' 'nm' 'objcopy' 'objdump'
 | 
					  'addr2line' 'ar' 'c++filt' 'coffdump' 'dlltool' 'dllwrap' 'elfedit' 'nm'
 | 
				
			||||||
  'ranlib' 'readelf' 'size' 'strings' 'strip'
 | 
					  'objcopy' 'objdump' 'ranlib' 'readelf'
 | 
				
			||||||
 | 
					  'size' 'srconv' 'strings' 'strip' 'sysdump' 'windmc' 'windres'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Findutils
 | 
					  # Findutils
 | 
				
			||||||
  'find' 'locate' 'oldfind' 'updatedb' 'xargs'
 | 
					  'find' 'locate' 'oldfind' 'updatedb' 'xargs'
 | 
				
			||||||
@@ -42,16 +44,18 @@ _gnu_utility_cmds=(
 | 
				
			|||||||
  'libtool' 'libtoolize'
 | 
					  'libtool' 'libtoolize'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Miscellaneous
 | 
					  # Miscellaneous
 | 
				
			||||||
  'getopt' 'grep' 'indent' 'sed' 'tar' 'time' 'units' 'which'
 | 
					  'egrep' 'fgrep' 'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units'
 | 
				
			||||||
 | 
					  'which'
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Wrap GNU utilities in functions.
 | 
					# Wrap GNU utilities in functions.
 | 
				
			||||||
for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
 | 
					for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
 | 
				
			||||||
  _gnu_utility_pcmd="${_gnu_utility_p}${_gnu_utility_cmd}"
 | 
					  _gnu_utility_pcmd="${_gnu_utility_p}${_gnu_utility_cmd}"
 | 
				
			||||||
  if (( ${+commands[${_gnu_utility_pcmd}]} )); then
 | 
					  if (( $+commands[$_gnu_utility_pcmd] \
 | 
				
			||||||
 | 
					        && ! $+builtins[$_gnu_utility_cmd] )); then
 | 
				
			||||||
    eval "
 | 
					    eval "
 | 
				
			||||||
      function ${_gnu_utility_cmd} {
 | 
					      function $_gnu_utility_cmd {
 | 
				
			||||||
        '${commands[${_gnu_utility_pcmd}]}' \"\$@\"
 | 
					        '$commands[$_gnu_utility_pcmd]' \"\$@\"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    "
 | 
					    "
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,26 +1,28 @@
 | 
				
			|||||||
GPG
 | 
					# GPG
 | 
				
			||||||
===
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
 | 
					Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### SSH
 | 
					### SSH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
 | 
					To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
 | 
				
			||||||
replacement for `ssh-agent`, add the following line to
 | 
					replacement for `ssh-agent`, add the following line to
 | 
				
			||||||
*~/.gnupg/gpg-agent.conf*:
 | 
					_`$GNUPGHOME/gpg-agent.conf`_ or _`$$HOME/.gnupg/gpg-agent.conf`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    enable-ssh-support
 | 
					```conf
 | 
				
			||||||
 | 
					enable-ssh-support
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
 | 
					When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
 | 
				
			||||||
module for additional processing.
 | 
					module for additional processing.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Authors
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][3].*
 | 
					_The authors of this module should be contacted via the [issue tracker][3]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://www.gnupg.org
 | 
					[1]: https://www.gnupg.org
 | 
				
			||||||
[2]: http://linux.die.net/man/1/gpg-agent
 | 
					[2]: https://linux.die.net/man/1/gpg-agent
 | 
				
			||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,24 +12,28 @@ fi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Set the default paths to gpg-agent files.
 | 
					# Set the default paths to gpg-agent files.
 | 
				
			||||||
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
 | 
					_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
 | 
				
			||||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env"
 | 
					_gpg_agent_env="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/gpg-agent.env"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load environment variables from previous run
 | 
				
			||||||
 | 
					source "$_gpg_agent_env" 2> /dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Start gpg-agent if not started.
 | 
					# Start gpg-agent if not started.
 | 
				
			||||||
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
 | 
					if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
 | 
				
			||||||
  # Export environment variables.
 | 
					 | 
				
			||||||
  source "$_gpg_agent_env" 2> /dev/null
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Start gpg-agent if not started.
 | 
					  # Start gpg-agent if not started.
 | 
				
			||||||
  if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
 | 
					  if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
 | 
				
			||||||
 | 
					    mkdir -p "$_gpg_agent_env:h"
 | 
				
			||||||
    eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
 | 
					    eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Inform gpg-agent of the current TTY for user prompts.
 | 
					# Inform gpg-agent of the current TTY for user prompts.
 | 
				
			||||||
export GPG_TTY="$(tty)"
 | 
					export GPG_TTY=$TTY
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Integrate with the SSH module.
 | 
					# Integrate with the SSH module.
 | 
				
			||||||
if grep 'enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
 | 
					if grep '^enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
 | 
				
			||||||
 | 
					  # Load required functions.
 | 
				
			||||||
 | 
					  autoload -Uz add-zsh-hook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Override the ssh-agent environment file default path.
 | 
					  # Override the ssh-agent environment file default path.
 | 
				
			||||||
  _ssh_agent_env="$_gpg_agent_env"
 | 
					  _ssh_agent_env="$_gpg_agent_env"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
Haskell
 | 
					# Haskell
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Enables local Haskell package installation.
 | 
					Enables local Haskell package installation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Per-user Package Installation
 | 
					## Per-user Package Installation
 | 
				
			||||||
-----------------------------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Cabal][1], the Haskell package manager, can install packages into per user
 | 
					[Cabal][1], the Haskell package manager, can install packages into per user
 | 
				
			||||||
directories.
 | 
					directories.
 | 
				
			||||||
@@ -17,12 +15,11 @@ documentation.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Install packages into per user directories with `cabal install --user`.
 | 
					Install packages into per user directories with `cabal install --user`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
					- [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://www.haskell.org/cabal/
 | 
					[1]: https://www.haskell.org/cabal/
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,8 +10,11 @@ if (( ! $+commands[ghc] )); then
 | 
				
			|||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load dependencies.
 | 
				
			||||||
 | 
					pmodload 'helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Prepend Cabal per user directories to PATH.
 | 
					# Prepend Cabal per user directories to PATH.
 | 
				
			||||||
if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
 | 
					if is-darwin && [[  -d $HOME/Library/Haskell ]]; then
 | 
				
			||||||
  path=($HOME/Library/Haskell/bin(/N) $path)
 | 
					  path=($HOME/Library/Haskell/bin(/N) $path)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  path=($HOME/.cabal/bin(/N) $path)
 | 
					  path=($HOME/.cabal/bin(/N) $path)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,24 +1,26 @@
 | 
				
			|||||||
Helper
 | 
					# Helper
 | 
				
			||||||
======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides helper functions for developing modules.
 | 
					Provides helper functions for developing modules.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					## Functions
 | 
				
			||||||
---------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `add-zsh-trap` adds a function name to a list to be called when a trap is
 | 
					- `add-zsh-trap` adds a function name to a list to be called when a trap is
 | 
				
			||||||
  triggered.
 | 
					  triggered.
 | 
				
			||||||
  - `is-autoloadable` checks if a file can be autoloaded by trying to load it
 | 
					- `is-autoloadable` checks if a file can be autoloaded by trying to load it in
 | 
				
			||||||
    in a subshell.
 | 
					  a subshell.
 | 
				
			||||||
  - `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.
 | 
				
			||||||
 | 
					- `is-darwin` checks if running on macOS Darwin.
 | 
				
			||||||
 | 
					- `is-linux` checks if running on Linux.
 | 
				
			||||||
 | 
					- `is-bsd` checks if running on BSD.
 | 
				
			||||||
 | 
					- `is-cygwin` checks if running on Cygwin (Windows).
 | 
				
			||||||
 | 
					- `is-termux` checks if running on Termux (Android).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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][1]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,7 +12,7 @@ function is-autoloadable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Checks if a name is a command, function, or alias.
 | 
					# Checks if a name is a command, function, or alias.
 | 
				
			||||||
function is-callable {
 | 
					function is-callable {
 | 
				
			||||||
  (( $+commands[$1] )) || (( $+functions[$1] )) || (( $+aliases[$1] ))
 | 
					  (( $+commands[$1] || $+functions[$1] || $+aliases[$1] || $+builtins[$1] ))
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Checks a boolean variable for "true".
 | 
					# Checks a boolean variable for "true".
 | 
				
			||||||
@@ -29,3 +29,28 @@ function coalesce {
 | 
				
			|||||||
  done
 | 
					  done
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checks if running on macOS Darwin.
 | 
				
			||||||
 | 
					function is-darwin {
 | 
				
			||||||
 | 
					  [[ "$OSTYPE" == darwin* ]]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checks if running on Linux.
 | 
				
			||||||
 | 
					function is-linux {
 | 
				
			||||||
 | 
					  [[ "$OSTYPE" == linux* ]]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checks if running on BSD.
 | 
				
			||||||
 | 
					function is-bsd {
 | 
				
			||||||
 | 
					  [[ "$OSTYPE" == *bsd* ]]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checks if running on Cygwin (Windows).
 | 
				
			||||||
 | 
					function is-cygwin {
 | 
				
			||||||
 | 
					  [[ "$OSTYPE" == cygwin* ]]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Checks if running on termux (Android).
 | 
				
			||||||
 | 
					function is-termux {
 | 
				
			||||||
 | 
					  [[ "$OSTYPE" == linux-android ]]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,61 +1,79 @@
 | 
				
			|||||||
History Substring Search
 | 
					# History Substring Search
 | 
				
			||||||
========================
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Integrates [zsh-history-substring-search][1] into Prezto, which implements
 | 
					Integrates [`zsh-history-substring-search`][1] into Prezto, which implements the
 | 
				
			||||||
the [Fish shell][2]'s history search feature, where the user can type in any
 | 
					[Fish shell][2]'s history search feature, where the user can type in any part of
 | 
				
			||||||
part of a previously entered command and press up and down to cycle through
 | 
					a previously entered command and press up and down to cycle through matching
 | 
				
			||||||
matching commands.
 | 
					commands.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If this module is used in conjuncture with the *syntax-highlighting* module, it
 | 
					If this module is used in conjunction with the [_`syntax-highlighting`_][3]
 | 
				
			||||||
must be loaded **after** it.
 | 
					module, this module must be loaded _after_ the _`syntax-highlighting`_ module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Contributors
 | 
					Additionally, if this module is used in conjunction with the
 | 
				
			||||||
------------
 | 
					[_`autosuggestions`_][4] module, this module must be loaded _before_ the
 | 
				
			||||||
 | 
					_`autosuggestions`_ module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To elaborate, the relative order of loading the modules would be
 | 
				
			||||||
 | 
					_`syntax-highlighting`_, _`history-substring-search`_ and _`autosuggestions`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Contributors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
New features and bug fixes should be submitted to the
 | 
					New features and bug fixes should be submitted to the
 | 
				
			||||||
[zsh-history-substring-search][1] project according to its rules and
 | 
					[`zsh-history-substring-search`][1] project according to its rules and
 | 
				
			||||||
regulations. This module will be synchronized against it.
 | 
					regulations. This module will be synchronized against it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Settings
 | 
					## Settings
 | 
				
			||||||
--------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Case Sensitivity
 | 
					### Case Sensitivity
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable case-sensitivity for this module only, add the following line to
 | 
					To enable case-sensitivity for this module only, add the following line to
 | 
				
			||||||
*zpreztorc*:
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Highlighting
 | 
					### Highlighting
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If colors are enabled, *history-substring-search* will automatically highlight
 | 
					If colors are enabled, _history-substring-search_ will automatically highlight
 | 
				
			||||||
positive results.
 | 
					positive results.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To enable highlighting for this module only, add the following line to
 | 
					To disable highlighting for this module only, add the following line to
 | 
				
			||||||
*zpreztorc*:
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search' color 'yes'
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history-substring-search' color 'no'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To set the query found color, add the following line to *zpreztorc*:
 | 
					To set the query found color, add the following line to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search:color' found ''
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history-substring-search:color' found ''
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To set the query not found color, add the following line to *zpreztorc*:
 | 
					To set the query not found color, add the following line to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search:color' not-found ''
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history-substring-search:color' not-found ''
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To set the search globbing flags, add the following line to *zpreztorc*:
 | 
					To set the search globbing flags, add the following line to
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    zstyle ':prezto:module:history-substring-search' globbing-flags ''
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history-substring-search' globbing-flags ''
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Authors
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][3].*
 | 
					_The authors of this module should be contacted via the [issue tracker][5]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Suraj N. Kurapati](https://github.com/sunaku)
 | 
					- [Suraj N. Kurapati](https://github.com/sunaku)
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/zsh-users/zsh-history-substring-search
 | 
					[1]: https://github.com/zsh-users/zsh-history-substring-search
 | 
				
			||||||
[2]: http://fishshell.com
 | 
					[2]: https://fishshell.com
 | 
				
			||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[3]: ../syntax-highlighting#readme
 | 
				
			||||||
 | 
					[4]: ../autosuggestions#readme
 | 
				
			||||||
 | 
					[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
 Submodule modules/history-substring-search/external updated: c4a83561a1...0f80b8eb33
									
								
							@@ -10,7 +10,9 @@
 | 
				
			|||||||
pmodload 'editor'
 | 
					pmodload 'editor'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Source module files.
 | 
					# Source module files.
 | 
				
			||||||
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
 | 
					if (( ! $+functions[history-substring-search-up] )); then
 | 
				
			||||||
 | 
					  source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Search
 | 
					# Search
 | 
				
			||||||
@@ -54,4 +56,6 @@ if [[ -n "$key_info" ]]; then
 | 
				
			|||||||
    bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up
 | 
					    bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up
 | 
				
			||||||
    bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
 | 
					    bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  unset keymap
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,43 +1,79 @@
 | 
				
			|||||||
History
 | 
					# History
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Sets [history][1] options and defines history aliases.
 | 
					Sets [history][1] options and defines history aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Variables
 | 
					**Note:** Default path of `HISTFILE` has changed from
 | 
				
			||||||
---------
 | 
					_`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_. The file
 | 
				
			||||||
 | 
					will be automatically renamed if possible (when the new one doesn't exist).
 | 
				
			||||||
 | 
					Otherwise, if you want to preserve previous history, you will need to move them
 | 
				
			||||||
 | 
					from _`${ZDOTDIR:-$HOME}/.zhistory`_ to _`${ZDOTDIR:-$HOME}/.zsh_history`_.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `HISTFILE` stores the path to the history file.
 | 
					Alternately, you can set `HISTFILE` manually to _`${ZDOTDIR:-$HOME}/.zhistory`_.
 | 
				
			||||||
  - `HISTSIZE` stores the maximum number of events to save in the internal history.
 | 
					 | 
				
			||||||
  - `SAVEHIST` stores the maximum number of events to save in the history file.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Options
 | 
					## Options
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `BANG_HIST` treats the **!** character specially during expansion.
 | 
					- `BANG_HIST` treats the **!** character specially during expansion.
 | 
				
			||||||
  - `EXTENDED_HISTORY` writes the history file in the *:start:elapsed;command* format.
 | 
					- `EXTENDED_HISTORY` writes the history file in the _:start:elapsed;command_
 | 
				
			||||||
  - `INC_APPEND_HISTORY` writes to the history file immediately, not when the shell exits.
 | 
					  format.
 | 
				
			||||||
  - `SHARE_HISTORY` shares history between all sessions.
 | 
					- `SHARE_HISTORY` shares history between all sessions. Note that
 | 
				
			||||||
  - `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history.
 | 
					  `SHARE_HISTORY`, `INC_APPEND_HISTORY`, and `INC_APPEND_HISTORY_TIME` are
 | 
				
			||||||
  - `HIST_IGNORE_DUPS` does not record an event that was just recorded again.
 | 
					  mutually exclusive.
 | 
				
			||||||
  - `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a duplicate.
 | 
					- `HIST_EXPIRE_DUPS_FIRST` expires a duplicate event first when trimming history.
 | 
				
			||||||
  - `HIST_FIND_NO_DUPS` does not display a previously found event.
 | 
					- `HIST_IGNORE_DUPS` does not record an event that was just recorded again.
 | 
				
			||||||
  - `HIST_IGNORE_SPACE` does not record an event starting with a space.
 | 
					- `HIST_IGNORE_ALL_DUPS` deletes an old recorded event if a new event is a
 | 
				
			||||||
  - `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file.
 | 
					  duplicate.
 | 
				
			||||||
  - `HIST_VERIFY` does not execute immediately upon history expansion.
 | 
					- `HIST_FIND_NO_DUPS` does not display a previously found event.
 | 
				
			||||||
  - `HIST_BEEP` beeps when accessing non-existent history.
 | 
					- `HIST_IGNORE_SPACE` does not record an event starting with a space.
 | 
				
			||||||
 | 
					- `HIST_SAVE_NO_DUPS` does not write a duplicate event to the history file.
 | 
				
			||||||
 | 
					- `HIST_VERIFY` does not execute immediately upon history expansion.
 | 
				
			||||||
 | 
					- `HIST_BEEP` beeps when accessing non-existent history.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Variables
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `history-stat` lists the ten most used commands
 | 
					- `HISTFILE` stores the path to the history file.
 | 
				
			||||||
 | 
					- `HISTSIZE` stores the maximum number of events to save in the internal history.
 | 
				
			||||||
 | 
					- `SAVEHIST` stores the maximum number of events to save in the history file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
					- `history-stat` lists the ten most used commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Robby Russell](https://github.com/robbyrussell)
 | 
					## Settings
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16
 | 
					### histfile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Can be configured either by setting HISTFILE manually before loading this
 | 
				
			||||||
 | 
					module or by using zstyle:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history' histfile "<file_name>"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults to "${ZDOTDIR:-$HOME}/.zsh_history".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### histsize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history' histsize <number>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults to 10000.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### savehist
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:history' savehist <number>
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					defaults to histsize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Authors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_The authors of this module should be contacted via the [issue tracker][2]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Robby Russell](https://github.com/robbyrussell)
 | 
				
			||||||
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					- [Indrajit Raychaudhuri](https://github.com/indrajitr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[1]: https://zsh.sourceforge.net/Guide/zshguide02.html#l16
 | 
				
			||||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,21 +6,12 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					 | 
				
			||||||
# Variables
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
HISTFILE="${ZDOTDIR:-$HOME}/.zhistory"       # The path to the history file.
 | 
					 | 
				
			||||||
HISTSIZE=10000                   # The maximum number of events to save in the internal history.
 | 
					 | 
				
			||||||
SAVEHIST=10000                   # The maximum number of events to save in the history file.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Options
 | 
					# Options
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setopt BANG_HIST                 # Treat the '!' character specially during expansion.
 | 
					setopt BANG_HIST                 # Treat the '!' character specially during expansion.
 | 
				
			||||||
setopt EXTENDED_HISTORY          # Write the history file in the ':start:elapsed;command' format.
 | 
					setopt EXTENDED_HISTORY          # Write the history file in the ':start:elapsed;command' format.
 | 
				
			||||||
setopt INC_APPEND_HISTORY        # Write to the history file immediately, not when the shell exits.
 | 
					 | 
				
			||||||
setopt SHARE_HISTORY             # Share history between all sessions.
 | 
					setopt SHARE_HISTORY             # Share history between all sessions.
 | 
				
			||||||
setopt HIST_EXPIRE_DUPS_FIRST    # Expire a duplicate event first when trimming history.
 | 
					setopt HIST_EXPIRE_DUPS_FIRST    # Expire a duplicate event first when trimming history.
 | 
				
			||||||
setopt HIST_IGNORE_DUPS          # Do not record an event that was just recorded again.
 | 
					setopt HIST_IGNORE_DUPS          # Do not record an event that was just recorded again.
 | 
				
			||||||
@@ -31,9 +22,46 @@ setopt HIST_SAVE_NO_DUPS         # Do not write a duplicate event to the history
 | 
				
			|||||||
setopt HIST_VERIFY               # Do not execute immediately upon history expansion.
 | 
					setopt HIST_VERIFY               # Do not execute immediately upon history expansion.
 | 
				
			||||||
setopt HIST_BEEP                 # Beep when accessing non-existent history.
 | 
					setopt HIST_BEEP                 # Beep when accessing non-existent history.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Variables
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:history' histfile '_pmh_histfile' || _pmh_histfile="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}"
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:history' histsize '_pmh_histsize' || _pmh_histsize=10000
 | 
				
			||||||
 | 
					zstyle -s ':prezto:module:history' savehist '_pmh_savehist' || _pmh_savehist=${_pmh_histsize}
 | 
				
			||||||
 | 
					HISTFILE="${_pmh_histfile}"  # The path to the history file.
 | 
				
			||||||
 | 
					HISTSIZE="${_pmh_histsize}"  # The maximum number of events to save in the internal history.
 | 
				
			||||||
 | 
					SAVEHIST="${_pmh_savehist}"  # The maximum number of events to save in the history file.
 | 
				
			||||||
 | 
					unset _pmh_{hist{file,size},savehist}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Aliases
 | 
					# Aliases
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Lists the ten most used commands.
 | 
					# Lists the ten most used commands.
 | 
				
			||||||
alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
 | 
					alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -s "${OLD_HISTFILE::=${HISTFILE:h}/.zhistory}" ]]; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # New 'HISTFILE' doesn't exist yet, rename legacy one if available and notify.
 | 
				
			||||||
 | 
					  if [[ ! -s "$HISTFILE" ]]; then
 | 
				
			||||||
 | 
					    <<EON
 | 
				
			||||||
 | 
					NOTICE: Default path of 'HISTFILE' has changed from '${OLD_HISTFILE/#$HOME/~}'
 | 
				
			||||||
 | 
					        to '${HISTFILE/#$HOME/~}'.
 | 
				
			||||||
 | 
					        Attempting to rename the existing 'HISTFILE' ...
 | 
				
			||||||
 | 
					EON
 | 
				
			||||||
 | 
					    command mv -v "$OLD_HISTFILE" "$HISTFILE"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # New 'HISTFILE' does exist and is older than legacy one, just warn.
 | 
				
			||||||
 | 
					  elif [[ "$OLD_HISTFILE" -nt "$HISTFILE" ]]; then
 | 
				
			||||||
 | 
					    <<EOW
 | 
				
			||||||
 | 
					WARNING: Default path of 'HISTFILE' has changed from '${OLD_HISTFILE/#$HOME/~}'
 | 
				
			||||||
 | 
					         to '${HISTFILE/#$HOME/~}'.
 | 
				
			||||||
 | 
					         Either set 'HISTFILE' in '${${0:h}/#$HOME/~}'
 | 
				
			||||||
 | 
					         or move previous history from '${OLD_HISTFILE/#$HOME/~}' to
 | 
				
			||||||
 | 
					         '${HISTFILE/#$HOME/~}'.
 | 
				
			||||||
 | 
					EOW
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  unset OLD_HISTFILE
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,37 +1,43 @@
 | 
				
			|||||||
Homebrew
 | 
					# Homebrew
 | 
				
			||||||
========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines Homebrew aliases.
 | 
					Defines Homebrew specific environment variables and aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Variables
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Homebrew
 | 
					Execute the following to list the environment variables loaded in the shell:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `brewc` cleans outdated brews and their cached archives.
 | 
					```sh
 | 
				
			||||||
  - `brewC` cleans outdated brews, including keg-only, and their cached archives.
 | 
					brew shellenv
 | 
				
			||||||
  - `brewi` installs a formula.
 | 
					```
 | 
				
			||||||
  - `brewl` lists installed formulae.
 | 
					
 | 
				
			||||||
  - `brews` searches for a formula.
 | 
					## Aliases
 | 
				
			||||||
  - `brewu` updates Homebrew and formulae.
 | 
					
 | 
				
			||||||
  - `brewx` uninstalls a formula.
 | 
					### Homebrew Core
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `brewc` cleans outdated brews and their cached archives.
 | 
				
			||||||
 | 
					- `brewi` installs a formula.
 | 
				
			||||||
 | 
					- `brewL` lists installed formulae that are not dependencies of another
 | 
				
			||||||
 | 
					  installed formula.
 | 
				
			||||||
 | 
					- `brewl` lists installed formulae.
 | 
				
			||||||
 | 
					- `brewo` lists brews which have an update available.
 | 
				
			||||||
 | 
					- `brews` searches for a formula.
 | 
				
			||||||
 | 
					- `brewu` upgrades outdated formulae.
 | 
				
			||||||
 | 
					- `brewx` uninstalls a formula.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Homebrew Cask
 | 
					### Homebrew Cask
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `cask` is aliased to `brew cask`.
 | 
					- `caski` installs a cask.
 | 
				
			||||||
  - `caskc` cleans up old cached downloads.
 | 
					- `caskl` lists installed casks.
 | 
				
			||||||
  - `caskC` cleans up all cached downloads.
 | 
					- `casko` lists casks which have an update available.
 | 
				
			||||||
  - `caski` installs a cask.
 | 
					- `casks` searches for a cask.
 | 
				
			||||||
  - `caskl` lists installed casks.
 | 
					- `casku` upgrades outdated casks.
 | 
				
			||||||
  - `casks` searches for a cask.
 | 
					- `caskx` uninstalls a cask.
 | 
				
			||||||
  - `caskx` uninstalls a cask.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
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][1]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
  - [Griffin Yourick](https://github.com/tough-griff)
 | 
					- [Griffin Yourick](https://github.com/tough-griff)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,29 +5,43 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load dependencies.
 | 
				
			||||||
 | 
					pmodload 'helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
 | 
					if ! is-darwin && ! is-linux; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Variables
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load standard Homebrew shellenv into the shell session.
 | 
				
			||||||
 | 
					# Load 'HOMEBREW_' prefixed variables only. Avoid loading 'PATH' related
 | 
				
			||||||
 | 
					# variables as they are already handled in standard zsh configuration.
 | 
				
			||||||
 | 
					if (( $+commands[brew] )); then
 | 
				
			||||||
 | 
					  eval "${(@M)${(f)"$(brew shellenv 2> /dev/null)"}:#export HOMEBREW*}"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Aliases
 | 
					# Aliases
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Homebrew
 | 
					# Homebrew
 | 
				
			||||||
alias brewc='brew cleanup'
 | 
					alias brewc='brew cleanup'
 | 
				
			||||||
alias brewC='brew cleanup --force'
 | 
					 | 
				
			||||||
alias brewi='brew install'
 | 
					alias brewi='brew install'
 | 
				
			||||||
 | 
					alias brewL='brew leaves'
 | 
				
			||||||
alias brewl='brew list'
 | 
					alias brewl='brew list'
 | 
				
			||||||
 | 
					alias brewo='brew outdated'
 | 
				
			||||||
alias brews='brew search'
 | 
					alias brews='brew search'
 | 
				
			||||||
alias brewu='brew update && brew upgrade --all'
 | 
					alias brewu='brew upgrade'
 | 
				
			||||||
alias brewx='brew remove'
 | 
					alias brewx='brew uninstall'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Homebrew Cask
 | 
					# Homebrew Cask
 | 
				
			||||||
alias cask='brew cask'
 | 
					alias caski='brew install --cask'
 | 
				
			||||||
alias caskc='brew cask cleanup --outdated'
 | 
					alias caskl='brew list --cask'
 | 
				
			||||||
alias caskC='brew cask cleanup'
 | 
					alias casko='brew outdated --cask'
 | 
				
			||||||
alias caski='brew cask install'
 | 
					alias casks='brew search --cask'
 | 
				
			||||||
alias caskl='brew cask list'
 | 
					alias casku='brew upgrade --cask'
 | 
				
			||||||
alias casks='brew cask search'
 | 
					alias caskx='brew uninstall --cask'
 | 
				
			||||||
alias caskx='brew cask uninstall'
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,22 @@
 | 
				
			|||||||
MacPorts
 | 
					# MacPorts
 | 
				
			||||||
========
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
					Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					## Aliases
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `portc` cleans the files used to build ports.
 | 
					- `portc` cleans the files used to build ports.
 | 
				
			||||||
  - `porti` installs a port.
 | 
					- `porti` installs a port.
 | 
				
			||||||
  - `ports` searches for a port.
 | 
					- `ports` searches for a port.
 | 
				
			||||||
  - `portu` upgrades a port.
 | 
					- `portu` upgrades a port.
 | 
				
			||||||
  - `portU` upgrades MacPorts, the ports collection, and outdated ports.
 | 
					- `portU` upgrades MacPorts, the ports collection, and outdated ports.
 | 
				
			||||||
  - `portx` uninstalls a port.
 | 
					- `portx` uninstalls a port.
 | 
				
			||||||
  - `portX` uninstalls inactive ports.
 | 
					- `portX` uninstalls inactive ports.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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][1]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Matt Cable](https://github.com/curiousstranger)
 | 
					- [Matt Cable](https://github.com/curiousstranger)
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,8 +6,11 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load dependencies.
 | 
				
			||||||
 | 
					pmodload 'helper'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
if [[ "$OSTYPE" != darwin* ]]; then
 | 
					if ! is-darwin; then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,45 +1,84 @@
 | 
				
			|||||||
Node.js
 | 
					# Node.js
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
 | 
					Provides utility functions for [Node.js][1], loads the Node Version Manager, and
 | 
				
			||||||
enables [npm][2] completion.
 | 
					enables [_npm_][2] completion.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
nvm
 | 
					This module must be loaded _before_ the _`completion`_ module so that the
 | 
				
			||||||
---
 | 
					provided completion definitions are loaded.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[nvm][5] allows for managing multiple, isolated Node.js installations in the
 | 
					## nodenv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_nodenv_][5] does one thing well - it is concerned solely with switching
 | 
				
			||||||
 | 
					Node versions. It is simple and predictable, Just Works, and is rock solid in
 | 
				
			||||||
 | 
					production. nodenv is forked from the popular [_rbenv_][6].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This will be loaded automatically if nodenv is installed in `$NODENV_ROOT`,
 | 
				
			||||||
 | 
					_`$XDG_CONFIG_HOME/nodenv`_, _`~/.nodenv`_, or `nodenv` is on the path.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## nvm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[_nvm_][7] allows for managing multiple, isolated Node.js installations in the
 | 
				
			||||||
home directory.
 | 
					home directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					This will be loaded automatically if nvm is installed in `$NVM_DIR`,
 | 
				
			||||||
---------
 | 
					_`$XDG_CONFIG_HOME/nvm`_, _`~/.nvm`_, or is installed with homebrew.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `node-doc` opens the Node.js online [API documentation][3] in the default
 | 
					## Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `N_PREFIX` stores the path to [_n_][8] cache.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### npm
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `npmi` install a package.
 | 
				
			||||||
 | 
					- `npml` list installed packages.
 | 
				
			||||||
 | 
					- `npmo` check for outdated packages.
 | 
				
			||||||
 | 
					- `npmp` publish a package.
 | 
				
			||||||
 | 
					- `npmP` remove extraneous packages.
 | 
				
			||||||
 | 
					- `npmr` run arbitrary package scripts.
 | 
				
			||||||
 | 
					- `npms` search for packages.
 | 
				
			||||||
 | 
					- `npmt` test a package.
 | 
				
			||||||
 | 
					- `npmu` update packages.
 | 
				
			||||||
 | 
					- `npmx` uninstalls a package.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `npmci` install a project with a clean slate.
 | 
				
			||||||
 | 
					- `npmcit` install a project with a clean slate and run tests.
 | 
				
			||||||
 | 
					- `npmit` install package(s) and run tests.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `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` exposes information about the Node.js environment via the
 | 
				
			||||||
  `$node_info` associative array.
 | 
					  `$node_info` associative array.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Theming
 | 
					## Theming
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
To display the version number of the current Node.js version, define the
 | 
					To display the version number of the current Node.js version, define the
 | 
				
			||||||
following style inside the `prompt_name_setup` function.
 | 
					following style inside the `prompt_name_setup` function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # %v - Node.js version.
 | 
					```sh
 | 
				
			||||||
    zstyle ':prezto:module:node:info:version' format 'version:%v'
 | 
					# %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
 | 
					Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
 | 
				
			||||||
`node-info` in `prompt_name_preexec` hook function.
 | 
					`node-info` in `prompt_name_preexec` hook function.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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)
 | 
					- [Zeh Rizzatti](https://github.com/zehrizzatti)
 | 
				
			||||||
 | 
					- [Indrajit Raychaudhuri](https://github.com/indrajitr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[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
 | 
					[5]: https://github.com/nodenv/nodenv
 | 
				
			||||||
 | 
					[6]: https://github.com/sstephenson/rbenv
 | 
				
			||||||
 | 
					[7]: https://github.com/nvm-sh/nvm
 | 
				
			||||||
 | 
					[8]: https://github.com/tj/n
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								modules/node/functions/_grunt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								modules/node/functions/_grunt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#compdef grunt
 | 
				
			||||||
 | 
					#autoload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Grunt completion, delegating to grunt to do all the completion work.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Indrajit Raychaudhuri <irc@indrajit.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[grunt] )); then
 | 
				
			||||||
 | 
					  eval "$(grunt --completion=zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _grunt_completion "$@"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										15
									
								
								modules/node/functions/_gulp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								modules/node/functions/_gulp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#compdef gulp
 | 
				
			||||||
 | 
					#autoload
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Gulp completion, delegating to gulp to do all the completion work.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Authors:
 | 
				
			||||||
 | 
					#   Indrajit Raychaudhuri <irc@indrajit.com>
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if (( $+commands[gulp] )); then
 | 
				
			||||||
 | 
					  eval "$(gulp --completion=zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  _gulp_completion "$@"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
@@ -5,10 +5,14 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function node-doc {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ -z "$BROWSER" ]]; then
 | 
					if [[ -z "$BROWSER" ]]; then
 | 
				
			||||||
  print "$0: no web browser defined" >&2
 | 
					  print "$0: no web browser defined" >&2
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# TODO: Make the sections easier to use.
 | 
					# TODO: Make the sections easier to use.
 | 
				
			||||||
"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
 | 
					"$BROWSER" "https://nodejs.org/docs/${$(node --version 2> /dev/null)/%-*}/api/all.html#${1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,8 @@
 | 
				
			|||||||
#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
					#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function node-info {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local version
 | 
					local version
 | 
				
			||||||
local version_format
 | 
					local version_format
 | 
				
			||||||
local version_formatted
 | 
					local version_formatted
 | 
				
			||||||
@@ -13,12 +15,18 @@ local version_formatted
 | 
				
			|||||||
unset node_info
 | 
					unset node_info
 | 
				
			||||||
typeset -gA node_info
 | 
					typeset -gA node_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (( $+functions[nvm_version] )); then
 | 
					if (( $+commands[nodenv] )); then
 | 
				
			||||||
 | 
					  version="${${$(nodenv version)#v}[(w)0]}"
 | 
				
			||||||
 | 
					elif (( $+functions[nvm_version] )); then
 | 
				
			||||||
  version="${$(nvm_version)#v}"
 | 
					  version="${$(nvm_version)#v}"
 | 
				
			||||||
 | 
					elif (( $+commands[node] )) ; then
 | 
				
			||||||
 | 
					  version="${$(node -v)#v}"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ "$version" != (none|) ]]; then
 | 
					if [[ "$version" != (none|system) ]]; then
 | 
				
			||||||
  zstyle -s ':prezto:module:node:info:version' format 'version_format'
 | 
					  zstyle -s ':prezto:module:node:info:version' format 'version_format'
 | 
				
			||||||
  zformat -f version_formatted "$version_format" "v:$version"
 | 
					  zformat -f version_formatted "$version_format" "v:$version"
 | 
				
			||||||
  node_info[version]="$version_formatted"
 | 
					  node_info[version]="$version_formatted"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,34 +1,65 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Loads the Node Version Manager and enables npm completion.
 | 
					# Configures Node local installation, loads version managers, and defines
 | 
				
			||||||
 | 
					# variables and aliases.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
					#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
				
			||||||
 | 
					#   Indrajit Raychaudhuri <irc@indrajit.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load manually installed NVM into the shell session.
 | 
					# Possible lookup locations for manually installed nodenv and nvm.
 | 
				
			||||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
 | 
					local_nodenv_paths=({$NODENV_ROOT,{$XDG_CONFIG_HOME/,$HOME/.}nodenv}/bin/nodenv(N))
 | 
				
			||||||
  source "$HOME/.nvm/nvm.sh"
 | 
					local_nvm_paths=({$NVM_DIR,{$XDG_CONFIG_HOME/,$HOME/.}nvm}/nvm.sh(N))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load package manager installed NVM into the shell session.
 | 
					# Load manually installed or package manager installed nodenv into the shell
 | 
				
			||||||
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
 | 
					# session.
 | 
				
			||||||
  source $(brew --prefix nvm)/nvm.sh
 | 
					if (( $#local_nodenv_paths || $+commands[nodenv] )); then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Ensure manually installed nodenv is added to path when present.
 | 
				
			||||||
 | 
					  [[ -s $local_nodenv_paths[1] ]] && path=($local_nodenv_paths[1]:h $path)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  eval "$(nodenv init - zsh)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load manually installed nvm into the shell session.
 | 
				
			||||||
 | 
					elif (( $#local_nvm_paths )); then
 | 
				
			||||||
 | 
					  source "$local_nvm_paths[1]" --no-use
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Load package manager installed nvm into the shell session.
 | 
				
			||||||
 | 
					elif (( $+commands[brew] )) \
 | 
				
			||||||
 | 
					      && [[ -d "${nvm_path::="$(brew --prefix 2> /dev/null)"/opt/nvm}" ]]; then
 | 
				
			||||||
 | 
					  source "$nvm_path/nvm.sh" --no-use
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unset local_n{odenv,vm}_paths nvm_path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Return if requirements are not found.
 | 
					# Return if requirements are not found.
 | 
				
			||||||
elif (( ! $+commands[node] )); then
 | 
					if (( ! $+commands[node] && ! $#functions[(i)n(odenv|vm)] )); then
 | 
				
			||||||
  return 1
 | 
					  return 1
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Load NPM completion.
 | 
					#
 | 
				
			||||||
if (( $+commands[npm] )); then
 | 
					# Variables
 | 
				
			||||||
  cache_file="${0:h}/cache.zsh"
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
 | 
					N_PREFIX="${XDG_CONFIG_HOME:-$HOME/.config}/n"  # The path to 'n' cache.
 | 
				
			||||||
    # npm is slow; cache its output.
 | 
					 | 
				
			||||||
    npm completion >! "$cache_file" 2> /dev/null
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  source "$cache_file"
 | 
					#
 | 
				
			||||||
 | 
					# Aliases
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  unset cache_file
 | 
					# npm
 | 
				
			||||||
fi
 | 
					alias npmi='npm install'
 | 
				
			||||||
 | 
					alias npml='npm list'
 | 
				
			||||||
 | 
					alias npmo='npm outdated'
 | 
				
			||||||
 | 
					alias npmp='npm publish'
 | 
				
			||||||
 | 
					alias npmP='npm prune'
 | 
				
			||||||
 | 
					alias npmr='npm run'
 | 
				
			||||||
 | 
					alias npms='npm search'
 | 
				
			||||||
 | 
					alias npmt='npm test'
 | 
				
			||||||
 | 
					alias npmu='npm update'
 | 
				
			||||||
 | 
					alias npmx='npm uninstall'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias npmci='npm ci'
 | 
				
			||||||
 | 
					alias npmcit='npm cit'
 | 
				
			||||||
 | 
					alias npmit='npm it'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,8 @@
 | 
				
			|||||||
OCaml
 | 
					# OCaml
 | 
				
			||||||
=====
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Initializes [OCaml][1] package management.
 | 
					Initializes [OCaml][1] package management.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
OPAM
 | 
					## OPAM
 | 
				
			||||||
----
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[OPAM][2] is a package manager for OCaml.
 | 
					[OPAM][2] is a package manager for OCaml.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -15,13 +13,12 @@ relevant path and OCaml variables.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Install packages to your local package directory with `opam install`.
 | 
					Install packages to your local package directory with `opam install`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## Authors
 | 
				
			||||||
-------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
*The authors of this module should be contacted via the [issue tracker][3].*
 | 
					_The authors of this module should be contacted via the [issue tracker][3]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
					- [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://ocaml.org/
 | 
					[1]: https://ocaml.org/
 | 
				
			||||||
[2]: http://opam.ocamlpro.com/
 | 
					[2]: http://opam.ocamlpro.com/
 | 
				
			||||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										23
									
								
								modules/openstack/functions/os-info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								modules/openstack/functions/os-info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					# Exposes information about the OpenStack environment via the $os_info associative
 | 
				
			||||||
 | 
					# array.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function os-info {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local tenant
 | 
				
			||||||
 | 
					local tenant_format
 | 
				
			||||||
 | 
					local tenant_formatted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unset os_info
 | 
				
			||||||
 | 
					typeset -gA os_info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[ -n "${OS_PROJECT_NAME+1}" ]] && tenant="${OS_PROJECT_NAME}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ "$tenant" != (none|) ]]; then
 | 
				
			||||||
 | 
					  zstyle -s ':prezto:module:openstack:info:tenant' format 'tenant_format'
 | 
				
			||||||
 | 
					  zformat -f tenant_formatted "$tenant_format" "v:$tenant"
 | 
				
			||||||
 | 
					  os_info[tenant]="$tenant_formatted"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
@@ -1,37 +1,50 @@
 | 
				
			|||||||
OSX
 | 
					# OSX
 | 
				
			||||||
===
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defines [Mac OS X][1] aliases and functions.
 | 
					Defines [macOS][1] aliases and functions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Aliases
 | 
					This module must be loaded _before_ the [_`completion`_][2] module so that the
 | 
				
			||||||
-------
 | 
					provided completion definitions are loaded automatically by _`completion`_
 | 
				
			||||||
 | 
					module.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `cdf` changes the current working director to the current _Finder_
 | 
					## Settings
 | 
				
			||||||
    directory.
 | 
					
 | 
				
			||||||
  - `pushdf` pushes the current working directory onto the directory queue and
 | 
					### Dash Keyword
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					To change the keyword used by `mand` to open man pages in [_Dash.app_][3] from
 | 
				
			||||||
 | 
					its default value of 'manpages', add the following line in
 | 
				
			||||||
 | 
					_`${ZDOTDIR:-$HOME}/.zpreztorc`_ and replace the **keyword** with the one
 | 
				
			||||||
 | 
					configured in [_Dash.app_][3].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					zstyle ':prezto:module:osx:man' dash-keyword 'keyword'
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- `cdf` changes the current working director to the current _Finder_ directory.
 | 
				
			||||||
 | 
					- `pushdf` pushes the current working directory onto the directory queue and
 | 
				
			||||||
  changes the current working director to the current _Finder_ directory.
 | 
					  changes the current working director to the current _Finder_ directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Functions
 | 
					## Functions
 | 
				
			||||||
---------
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - `mand` opens _man_ pages in [_Dash.app_][2].
 | 
					- `mand` opens _man_ pages in [_Dash.app_][3].
 | 
				
			||||||
  - `manp` opens _man_ pages in _Preview.app_.
 | 
					- `manp` opens _man_ pages in _Preview.app_.
 | 
				
			||||||
  - `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.app_][4]).
 | 
				
			||||||
  - `ql` previews files in Quick Look.
 | 
					- `ql` previews files in Quick Look.
 | 
				
			||||||
  - `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
 | 
					- `osx-rm-dir-metadata` deletes _`.DS_Store`_, _`__MACOSX`_ cruft.
 | 
				
			||||||
  - `osx-ls-download-history` displays the Mac OS X download history.
 | 
					- `osx-ls-download-history` displays the macOS download history.
 | 
				
			||||||
  - `osx-rm-download-history` deletes the Mac OS X download history.
 | 
					- `osx-rm-download-history` deletes the macOS download history.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Authors
 | 
					## 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][5]._
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
					- [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[1]: http://www.apple.com/macosx/
 | 
					[1]: https://www.apple.com/macos/
 | 
				
			||||||
[2]: http://kapeli.com/dash
 | 
					[2]: ../completion#readme
 | 
				
			||||||
[3]: http://www.iterm2.com/
 | 
					[3]: https://kapeli.com/dash
 | 
				
			||||||
[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
					[4]: https://www.iterm2.com/
 | 
				
			||||||
 | 
					[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
function mand {
 | 
					function mand {
 | 
				
			||||||
  if (( $# > 0 )); then
 | 
					  if (( $# > 0 )); then
 | 
				
			||||||
    open "dash://manpages:$1" 2>/dev/null
 | 
					    zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
 | 
				
			||||||
 | 
					    open "dash://$dashkw%3A$1" 2> /dev/null
 | 
				
			||||||
    if (( $? != 0 )); then
 | 
					    if (( $? != 0 )); then
 | 
				
			||||||
      print "$0: Dash is not installed" >&2
 | 
					      print "$0: Dash is not installed" >&2
 | 
				
			||||||
      break
 | 
					      break
 | 
				
			||||||
@@ -15,6 +16,8 @@ function mand {
 | 
				
			|||||||
  else
 | 
					  else
 | 
				
			||||||
    print 'What manual page do you want?' >&2
 | 
					    print 'What manual page do you want?' >&2
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  unset dashkw
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mand "$@"
 | 
					mand "$@"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,17 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Displays the Mac OS X download history.
 | 
					# Displays the macOS download history.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function osx-ls-download-history {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local db
 | 
					local db
 | 
				
			||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
					for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
				
			||||||
  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
					  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
				
			||||||
    sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
 | 
					    sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,11 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function osx-rm-dir-metadata {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
find "${@:-$PWD}" \( \
 | 
					find "${@:-$PWD}" \( \
 | 
				
			||||||
  -type f -name '.DS_Store' -o \
 | 
					  -type f -name '.DS_Store' -o \
 | 
				
			||||||
  -type d -name '__MACOSX' \
 | 
					  -type d -name '__MACOSX' \
 | 
				
			||||||
\) -print0 | xargs -0 rm -rf
 | 
					\) -print0 | xargs -0 rm -rf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,17 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Deletes the Mac OS X download history.
 | 
					# Deletes the macOS download history.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Authors:
 | 
					# Authors:
 | 
				
			||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# function osx-rm-download-history {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local db
 | 
					local db
 | 
				
			||||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
					for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
				
			||||||
  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
					  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
				
			||||||
    sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
 | 
					    sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,8 +5,12 @@
 | 
				
			|||||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
					#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
osascript 2>/dev/null <<EOF
 | 
					# function pfd {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					osascript 2> /dev/null <<EOF
 | 
				
			||||||
  tell application "Finder"
 | 
					  tell application "Finder"
 | 
				
			||||||
    return POSIX path of (target of first window as text)
 | 
					    return POSIX path of (target of first window as text)
 | 
				
			||||||
  end tell
 | 
					  end tell
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# }
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user