mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 07:29:09 +00:00 
			
		
		
		
	Compare commits
	
		
			508 Commits
		
	
	
		
			issue/306-
			...
			belak/zdeb
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					3524cc20f0 | ||
| 
						 | 
					6ab2cc012e | ||
| 
						 | 
					658ec4e4a7 | ||
| 
						 | 
					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 | ||
| 
						 | 
					f2a826e963 | ||
| 
						 | 
					bdec6c4e20 | ||
| 
						 | 
					ef634f38a4 | ||
| 
						 | 
					b761261b11 | ||
| 
						 | 
					02c5f776fc | ||
| 
						 | 
					a275db55d6 | ||
| 
						 | 
					b6efdc1ea4 | ||
| 
						 | 
					904c94469e | ||
| 
						 | 
					159418835f | ||
| 
						 | 
					f7ea78078f | ||
| 
						 | 
					fe64f91f52 | ||
| 
						 | 
					b46769149b | ||
| 
						 | 
					999f0d1a74 | ||
| 
						 | 
					f6a2c73423 | ||
| 
						 | 
					a1dea6ae43 | ||
| 
						 | 
					cd5067668c | ||
| 
						 | 
					6a812ed36b | ||
| 
						 | 
					ca03fd670a | ||
| 
						 | 
					08676a273e | ||
| 
						 | 
					20766138cb | ||
| 
						 | 
					e9f86bf4db | ||
| 
						 | 
					c98da90662 | ||
| 
						 | 
					ac8bc74ef0 | ||
| 
						 | 
					ccca57f2ac | ||
| 
						 | 
					4016f0c7c1 | ||
| 
						 | 
					c34098af20 | ||
| 
						 | 
					ee0b02464c | ||
| 
						 | 
					e144abb285 | ||
| 
						 | 
					b41f485528 | ||
| 
						 | 
					ab45ade380 | ||
| 
						 | 
					1292587f95 | ||
| 
						 | 
					933c61b8f1 | ||
| 
						 | 
					88aee30ae8 | ||
| 
						 | 
					4411c95a83 | ||
| 
						 | 
					62d87cae32 | ||
| 
						 | 
					d43bcb9720 | ||
| 
						 | 
					ba351df9fb | ||
| 
						 | 
					925b94b6e2 | ||
| 
						 | 
					c171621747 | ||
| 
						 | 
					0148ee6a4d | ||
| 
						 | 
					fc3f8025ea | ||
| 
						 | 
					9539341e1e | ||
| 
						 | 
					13d1ed160e | ||
| 
						 | 
					2a33581e80 | ||
| 
						 | 
					3dd4cbc3c0 | ||
| 
						 | 
					7a92046c86 | ||
| 
						 | 
					3012c0984b | ||
| 
						 | 
					00a5639e65 | ||
| 
						 | 
					3cb1f7c4c9 | ||
| 
						 | 
					90eae2b491 | ||
| 
						 | 
					d349c1cec7 | ||
| 
						 | 
					a7a4912940 | ||
| 
						 | 
					82710c29fc | ||
| 
						 | 
					9f82926f6e | ||
| 
						 | 
					61e91b8fb0 | ||
| 
						 | 
					967c91a351 | ||
| 
						 | 
					087fce8548 | ||
| 
						 | 
					2ae905a625 | ||
| 
						 | 
					19fc31c342 | ||
| 
						 | 
					e76df6022d | ||
| 
						 | 
					c2d62c3b47 | ||
| 
						 | 
					03336db523 | ||
| 
						 | 
					1bc4235a5e | ||
| 
						 | 
					c078c47c9d | ||
| 
						 | 
					0bede677e6 | ||
| 
						 | 
					ad09f29fd5 | ||
| 
						 | 
					567506f7e7 | ||
| 
						 | 
					13ed3a1bf7 | ||
| 
						 | 
					6f9c1666e1 | ||
| 
						 | 
					ab7f697734 | ||
| 
						 | 
					d020d34e59 | ||
| 
						 | 
					17a6124b43 | ||
| 
						 | 
					3c47c57c87 | ||
| 
						 | 
					ff0cdd3ed7 | ||
| 
						 | 
					b948e3630b | ||
| 
						 | 
					55e4db9429 | ||
| 
						 | 
					53bd555c6d | ||
| 
						 | 
					86ba5b69d3 | ||
| 
						 | 
					5791c07d48 | ||
| 
						 | 
					34a50c2550 | ||
| 
						 | 
					417b9d429d | ||
| 
						 | 
					fea08d4e50 | ||
| 
						 | 
					d3f1441481 | ||
| 
						 | 
					a84ac5b002 | ||
| 
						 | 
					10c33ec9a4 | ||
| 
						 | 
					9b1f39f267 | ||
| 
						 | 
					36ade25eb6 | ||
| 
						 | 
					8f711d64b5 | ||
| 
						 | 
					c4b50ec1a0 | ||
| 
						 | 
					62198b0326 | ||
| 
						 | 
					b4884d4d45 | ||
| 
						 | 
					abfc4ab6e5 | ||
| 
						 | 
					657e8a16f4 | ||
| 
						 | 
					ea25ccf62c | ||
| 
						 | 
					3e88b8bcdc | ||
| 
						 | 
					e892d7f3c7 | ||
| 
						 | 
					4e4a6fcc63 | ||
| 
						 | 
					3e8349ddde | ||
| 
						 | 
					fdb406f917 | ||
| 
						 | 
					493bf302f6 | ||
| 
						 | 
					a217af99f3 | ||
| 
						 | 
					06cc5088aa | ||
| 
						 | 
					5088ca4839 | ||
| 
						 | 
					0f696fc206 | ||
| 
						 | 
					96bcf813b7 | ||
| 
						 | 
					fe8f9a9b5b | ||
| 
						 | 
					bf9dbfd5b9 | ||
| 
						 | 
					ff0dfa424d | ||
| 
						 | 
					fedad8e9cf | ||
| 
						 | 
					478653fab2 | ||
| 
						 | 
					10cf701864 | ||
| 
						 | 
					7722dd4400 | ||
| 
						 | 
					240eecaddf | ||
| 
						 | 
					415e4bff3d | ||
| 
						 | 
					e5a0e33f1c | ||
| 
						 | 
					8189577772 | ||
| 
						 | 
					c74cf4b5e0 | ||
| 
						 | 
					72782528aa | ||
| 
						 | 
					02717cb4c1 | ||
| 
						 | 
					bccfca8c10 | ||
| 
						 | 
					b8bb51d7b5 | ||
| 
						 | 
					00e12b7a98 | ||
| 
						 | 
					232313e2a0 | ||
| 
						 | 
					e48dac79f3 | ||
| 
						 | 
					dbeb6d4e1a | ||
| 
						 | 
					af003d83c5 | ||
| 
						 | 
					839f4a7b83 | ||
| 
						 | 
					c091f71283 | ||
| 
						 | 
					e1974ad58d | ||
| 
						 | 
					391bc405d0 | ||
| 
						 | 
					80ded5e33d | ||
| 
						 | 
					fa6723a5ee | ||
| 
						 | 
					57b283facd | ||
| 
						 | 
					aefdce3fc3 | ||
| 
						 | 
					e4e4f89c9f | ||
| 
						 | 
					817dd3aa3a | ||
| 
						 | 
					347928193f | ||
| 
						 | 
					da1a837cd4 | ||
| 
						 | 
					2ebdbdcff5 | ||
| 
						 | 
					eea1eea7dc | ||
| 
						 | 
					4e9553e896 | ||
| 
						 | 
					a57d545639 | ||
| 
						 | 
					cdc4f36f25 | ||
| 
						 | 
					50edc45132 | ||
| 
						 | 
					b1abe7a845 | ||
| 
						 | 
					d368d0536b | ||
| 
						 | 
					254b7c36d9 | ||
| 
						 | 
					d19c349f3f | ||
| 
						 | 
					9f60ddb96b | ||
| 
						 | 
					5b4dcea595 | ||
| 
						 | 
					b98c7469e5 | ||
| 
						 | 
					f6bd76a90b | ||
| 
						 | 
					d877617734 | ||
| 
						 | 
					76fc07ba9f | ||
| 
						 | 
					52ea7152ad | ||
| 
						 | 
					b159ddb02b | ||
| 
						 | 
					5cfe250e52 | ||
| 
						 | 
					cc4a58bee3 | ||
| 
						 | 
					3a5fff9c6d | ||
| 
						 | 
					8993a8dfad | ||
| 
						 | 
					28e956691c | ||
| 
						 | 
					1c6a016644 | ||
| 
						 | 
					e18f18af92 | ||
| 
						 | 
					a4bacb8bb9 | ||
| 
						 | 
					aacff80984 | ||
| 
						 | 
					eb1a20552a | ||
| 
						 | 
					a914a87aa9 | ||
| 
						 | 
					e1e2c85392 | ||
| 
						 | 
					8ee6634c93 | ||
| 
						 | 
					959887013d | ||
| 
						 | 
					b769505857 | ||
| 
						 | 
					622e7b117b | ||
| 
						 | 
					459238b2bb | ||
| 
						 | 
					773ca7ee50 | ||
| 
						 | 
					92e688173b | ||
| 
						 | 
					59e6e7fe8e | ||
| 
						 | 
					92c4dc0fb2 | ||
| 
						 | 
					1ef2555100 | ||
| 
						 | 
					07686fad38 | ||
| 
						 | 
					61f3adcdd1 | ||
| 
						 | 
					d817e80741 | ||
| 
						 | 
					9d504d2d93 | ||
| 
						 | 
					875ce2e56c | ||
| 
						 | 
					16aa48baeb | ||
| 
						 | 
					f007820a14 | ||
| 
						 | 
					9b945e26b9 | ||
| 
						 | 
					20655c8b66 | ||
| 
						 | 
					0c9c099ac3 | ||
| 
						 | 
					baf7f6184b | ||
| 
						 | 
					c9c3b40b5c | ||
| 
						 | 
					1622abb830 | ||
| 
						 | 
					fcab2a1713 | ||
| 
						 | 
					973278140e | ||
| 
						 | 
					39b88fe334 | ||
| 
						 | 
					a7623aad6b | ||
| 
						 | 
					db384b2ac6 | ||
| 
						 | 
					7845c36951 | ||
| 
						 | 
					75c0d49f56 | ||
| 
						 | 
					d4e78d427a | ||
| 
						 | 
					e836957e4f | ||
| 
						 | 
					5306bab7ce | ||
| 
						 | 
					f3ae9dd82c | ||
| 
						 | 
					88408e8bc2 | ||
| 
						 | 
					fb5b1be345 | ||
| 
						 | 
					bde5149c7b | ||
| 
						 | 
					7e33c7189e | ||
| 
						 | 
					413b717484 | ||
| 
						 | 
					23f62774f9 | ||
| 
						 | 
					2e64f7ed64 | ||
| 
						 | 
					6cd97d2d0f | ||
| 
						 | 
					810a4490d7 | ||
| 
						 | 
					b42479a7c7 | ||
| 
						 | 
					80b203bcd3 | ||
| 
						 | 
					cf07c4ec91 | ||
| 
						 | 
					05a6653284 | ||
| 
						 | 
					4e3475d8a7 | ||
| 
						 | 
					f86854ebd4 | ||
| 
						 | 
					16a8e45cfa | ||
| 
						 | 
					f431af790b | ||
| 
						 | 
					3c5363ef9b | ||
| 
						 | 
					0d27e20e43 | ||
| 
						 | 
					9e23df814f | ||
| 
						 | 
					18d239141d | ||
| 
						 | 
					579dfee6f7 | ||
| 
						 | 
					a1a2a37045 | ||
| 
						 | 
					2baa4dce0c | ||
| 
						 | 
					e2c5f2fb2c | ||
| 
						 | 
					6e65349c45 | ||
| 
						 | 
					f4d9b32de9 | ||
| 
						 | 
					185235003e | ||
| 
						 | 
					d198c08db5 | ||
| 
						 | 
					6fd00449a6 | ||
| 
						 | 
					095863e6ae | ||
| 
						 | 
					e5de305157 | ||
| 
						 | 
					39795d3e5e | ||
| 
						 | 
					b531191e2c | ||
| 
						 | 
					455cc0c6e5 | ||
| 
						 | 
					14da495193 | ||
| 
						 | 
					bb6b590919 | ||
| 
						 | 
					1d0b0e2e9b | ||
| 
						 | 
					5a245850f0 | ||
| 
						 | 
					5d4282c43d | ||
| 
						 | 
					c737369083 | ||
| 
						 | 
					bf957d7cc4 | ||
| 
						 | 
					e5cfdba26d | ||
| 
						 | 
					6cd1f66cd4 | ||
| 
						 | 
					a120602dfa | ||
| 
						 | 
					37f65b3f86 | ||
| 
						 | 
					decf3cd875 | ||
| 
						 | 
					29647947fe | ||
| 
						 | 
					795495b864 | ||
| 
						 | 
					13b501adaf | ||
| 
						 | 
					1788d73cd8 | ||
| 
						 | 
					52db7bb0f6 | ||
| 
						 | 
					bb597ae22d | ||
| 
						 | 
					1ed7fd360c | 
							
								
								
									
										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.old
 | 
			
		||||
modules/*/cache.zsh
 | 
			
		||||
contrib
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										21
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								.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"]
 | 
			
		||||
	path = modules/history-substring-search/external
 | 
			
		||||
	url = https://github.com/zsh-users/zsh-history-substring-search.git
 | 
			
		||||
@@ -7,3 +10,21 @@
 | 
			
		||||
[submodule "modules/completion/external"]
 | 
			
		||||
	path = modules/completion/external
 | 
			
		||||
	url = https://github.com/zsh-users/zsh-completions.git
 | 
			
		||||
[submodule "modules/prompt/external/powerline"]
 | 
			
		||||
	path = modules/prompt/external/powerline
 | 
			
		||||
	url = https://github.com/davidjrice/prezto_powerline.git
 | 
			
		||||
[submodule "modules/prompt/external/agnoster"]
 | 
			
		||||
	path = modules/prompt/external/agnoster
 | 
			
		||||
	url = https://github.com/agnoster/agnoster-zsh-theme.git
 | 
			
		||||
[submodule "modules/prompt/functions/pure"]
 | 
			
		||||
	path = modules/prompt/external/pure
 | 
			
		||||
	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/powerlevel9k"]
 | 
			
		||||
	path = modules/prompt/external/powerlevel9k
 | 
			
		||||
	url = https://github.com/bhilburn/powerlevel9k.git
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,39 @@ improve its performance, do not hesitate to fork and send pull requests.
 | 
			
		||||
   - Open a [pull request][4] that relates to but one subject with a clear
 | 
			
		||||
     title and description in grammatically correct, complete sentences.
 | 
			
		||||
 | 
			
		||||
#### Code Style
 | 
			
		||||
 | 
			
		||||
This project follows the [Google Shell Style Guide][5] when possible. However,
 | 
			
		||||
there are a number of additional things to keep in mind.
 | 
			
		||||
 | 
			
		||||
   - 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 waved for readability.
 | 
			
		||||
 | 
			
		||||
#### Using an Alternative zprezto Directory
 | 
			
		||||
 | 
			
		||||
To work on zprezto without messing with 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:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
ZDOTDIR=/path/to/devel-zprezto zsh
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### Modules
 | 
			
		||||
 | 
			
		||||
   - A *README.md* must be present.
 | 
			
		||||
@@ -32,11 +65,11 @@ improve its performance, do not hesitate to fork and send pull requests.
 | 
			
		||||
#### Themes
 | 
			
		||||
 | 
			
		||||
   - A screenshots section must be present in the file header.
 | 
			
		||||
   - The pull request description must have [embedded screenshots][5].
 | 
			
		||||
   - The pull request description must have [embedded screenshots][6].
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/contributors
 | 
			
		||||
[2]: http://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
 | 
			
		||||
[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]: http://daringfireball.net/projects/markdown/syntax#img
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										114
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								README.md
									
									
									
									
									
								
							@@ -8,56 +8,67 @@ and prompt themes.
 | 
			
		||||
Installation
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
Prezto will work with any recent release of Zsh, but the minimum recommended
 | 
			
		||||
version is 4.3.10.
 | 
			
		||||
Prezto will work with any recent release of Zsh, but the minimum required
 | 
			
		||||
version is 4.3.11.
 | 
			
		||||
 | 
			
		||||
  1. Launch Zsh:
 | 
			
		||||
 | 
			
		||||
        zsh
 | 
			
		||||
     ```console
 | 
			
		||||
     zsh
 | 
			
		||||
     ```
 | 
			
		||||
 | 
			
		||||
  2. Clone the repository:
 | 
			
		||||
 | 
			
		||||
        git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
 | 
			
		||||
     ```console
 | 
			
		||||
     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
 | 
			
		||||
     provided:
 | 
			
		||||
 | 
			
		||||
        setopt EXTENDED_GLOB
 | 
			
		||||
        for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
 | 
			
		||||
          ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
 | 
			
		||||
        done
 | 
			
		||||
     ```sh
 | 
			
		||||
     setopt EXTENDED_GLOB
 | 
			
		||||
     for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
 | 
			
		||||
       ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
 | 
			
		||||
     done
 | 
			
		||||
     ```
 | 
			
		||||
 | 
			
		||||
     Note: If you already have any of the given config files, ln will error. In
 | 
			
		||||
     simple cases you can add `source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"` to
 | 
			
		||||
     the bottom of your `.zshrc` to load prezto but keep your config intact. For
 | 
			
		||||
     more complicated setups, it is recommended that you back up your original
 | 
			
		||||
     configs and replace them with the provided prezto runcoms.
 | 
			
		||||
 | 
			
		||||
  4. Set Zsh as your default shell:
 | 
			
		||||
 | 
			
		||||
        chsh -s /bin/zsh
 | 
			
		||||
     ```console
 | 
			
		||||
     chsh -s /bin/zsh
 | 
			
		||||
     ```
 | 
			
		||||
 | 
			
		||||
  5. Open a new Zsh terminal window or tab.
 | 
			
		||||
 | 
			
		||||
### Mac OS X
 | 
			
		||||
 | 
			
		||||
If you have administrator privileges, you must fix an Apple-introduced problem
 | 
			
		||||
in Mac OS X 10.5 Leopard by executing the following command, or BASH and Zsh
 | 
			
		||||
will have the wrong `PATH` when executed non-interactively.
 | 
			
		||||
 | 
			
		||||
    sudo chmod ugo-x /usr/libexec/path_helper
 | 
			
		||||
 | 
			
		||||
`path_helper` is intended to make it easier for installers to add new paths to
 | 
			
		||||
the environment without having to edit shell configuration files by adding
 | 
			
		||||
a file with a path to the */etc/paths.d* directory.
 | 
			
		||||
 | 
			
		||||
Unfortunately, `path_helper` always reads paths from */etc/paths* set by Apple
 | 
			
		||||
then paths from */etc/paths.d* set by third party installers, and lastly paths
 | 
			
		||||
from the `PATH` environment variable set by the parent process, which
 | 
			
		||||
ultimately is set by the user with `export PATH=...` Thus, it reorders path
 | 
			
		||||
priorities, and user */bin* directories meant to override system */bin*
 | 
			
		||||
directories end up at the tail of the array.
 | 
			
		||||
 | 
			
		||||
### Troubleshooting
 | 
			
		||||
 | 
			
		||||
If you are not able to find certain commands after switching to *Prezto*,
 | 
			
		||||
modify the `PATH` variable in *~/.zshenv* then open a new Zsh terminal
 | 
			
		||||
modify the `PATH` variable in *~/.zprofile* then open a new Zsh terminal
 | 
			
		||||
window or tab.
 | 
			
		||||
 | 
			
		||||
Updating
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
Run `zprezto-update` to automatically check if there is an update to zprezto.
 | 
			
		||||
If there are no file conflicts, zprezto and its submodules will be
 | 
			
		||||
automatically updated. If there are conflicts you will instructed to go into
 | 
			
		||||
the `$ZPREZTODIR` directory and resolve them yourself.
 | 
			
		||||
 | 
			
		||||
To pull the latest changes and update submodules manually:
 | 
			
		||||
 | 
			
		||||
```console
 | 
			
		||||
cd $ZPREZTODIR
 | 
			
		||||
git pull
 | 
			
		||||
git submodule update --init --recursive
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Usage
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
@@ -79,12 +90,26 @@ accompanying README files to learn of what is available.
 | 
			
		||||
 | 
			
		||||
     ![sorin theme][2]
 | 
			
		||||
 | 
			
		||||
### External Modules
 | 
			
		||||
 | 
			
		||||
  1. By default modules will be loaded from */modules* and */contrib*.
 | 
			
		||||
  2. Additional module directories can be added to the
 | 
			
		||||
     `:prezto:load:pmodule-dirs` setting in *~/.zpreztorc*.
 | 
			
		||||
 | 
			
		||||
     Note that module names need to be unique or they will cause an error when
 | 
			
		||||
     loading.
 | 
			
		||||
 | 
			
		||||
     ```console
 | 
			
		||||
     zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
 | 
			
		||||
     ```
 | 
			
		||||
 | 
			
		||||
Customization
 | 
			
		||||
-------------
 | 
			
		||||
 | 
			
		||||
The project is managed via [Git][3]. It is highly recommend that you commit
 | 
			
		||||
your changes and push them to [GitHub][4] to not lose them. If you do not know
 | 
			
		||||
how to use Git, follow this [tutorial][5] and bookmark this [reference][6].
 | 
			
		||||
The project is managed via [Git][3]. It is highly recommended that you fork this
 | 
			
		||||
project; so, that you can commit your changes and push them to [GitHub][4] to
 | 
			
		||||
not lose them. If you do not know how to use Git, follow this [tutorial][5] and
 | 
			
		||||
bookmark this [reference][6].
 | 
			
		||||
 | 
			
		||||
Resources
 | 
			
		||||
---------
 | 
			
		||||
@@ -94,34 +119,13 @@ The [Zsh Reference Card][7] and the [zsh-lovers][8] man page are indispensable.
 | 
			
		||||
License
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
(The MIT License)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2009-2012 Robby Russell, 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.
 | 
			
		||||
This project is licensed under the MIT License.
 | 
			
		||||
 | 
			
		||||
[1]: http://www.zsh.org
 | 
			
		||||
[2]: http://i.imgur.com/nBEEZ.png "sorin theme"
 | 
			
		||||
[2]: http://i.imgur.com/nrGV6pg.png "sorin theme"
 | 
			
		||||
[3]: http://git-scm.com
 | 
			
		||||
[4]: https://github.com
 | 
			
		||||
[5]: http://gitimmersion.com
 | 
			
		||||
[6]: http://gitref.org
 | 
			
		||||
[7]: http://www.bash2zsh.com/zsh_refcard/refcard.pdf
 | 
			
		||||
[8]: http://grml.org/zsh/zsh-lovers.html
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										147
									
								
								init.zsh
									
									
									
									
									
								
							
							
						
						
									
										147
									
								
								init.zsh
									
									
									
									
									
								
							@@ -10,13 +10,75 @@
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Check for the minimum supported version.
 | 
			
		||||
min_zsh_version='4.3.10'
 | 
			
		||||
min_zsh_version='4.3.11'
 | 
			
		||||
if ! autoload -Uz is-at-least || ! is-at-least "$min_zsh_version"; then
 | 
			
		||||
  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
 | 
			
		||||
fi
 | 
			
		||||
unset min_zsh_version
 | 
			
		||||
 | 
			
		||||
# Change the resolution of the SECONDS variable to be more useful for debugging.
 | 
			
		||||
typeset -F SECONDS
 | 
			
		||||
 | 
			
		||||
# logging convenience, mostly meant for debugging performance issues.
 | 
			
		||||
function pdebuglog {
 | 
			
		||||
  if ! zstyle -t ":prezto" debug; then
 | 
			
		||||
    return
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  local format="$1"
 | 
			
		||||
  shift
 | 
			
		||||
  printf "[%f] $format\n" $SECONDS "$@"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# 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 update --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
 | 
			
		||||
#
 | 
			
		||||
@@ -24,44 +86,71 @@ unset min_zsh_version
 | 
			
		||||
# Loads Prezto modules.
 | 
			
		||||
function pmodload {
 | 
			
		||||
  local -a pmodules
 | 
			
		||||
  local -a pmodule_dirs
 | 
			
		||||
  local -a locations
 | 
			
		||||
  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.
 | 
			
		||||
  pmodules=("$argv[@]")
 | 
			
		||||
 | 
			
		||||
  # Add functions to $fpath.
 | 
			
		||||
  fpath=(${pmodules:+${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions(/FN)} $fpath)
 | 
			
		||||
 | 
			
		||||
  function {
 | 
			
		||||
    local pfunction
 | 
			
		||||
 | 
			
		||||
    # Extended globbing is needed for listing autoloadable function directories.
 | 
			
		||||
    setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
			
		||||
 | 
			
		||||
    # Load Prezto functions.
 | 
			
		||||
    for pfunction in ${ZDOTDIR:-$HOME}/.zprezto/modules/${^pmodules}/functions/$~pfunction_glob; do
 | 
			
		||||
      autoload -Uz "$pfunction"
 | 
			
		||||
    done
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # Load Prezto modules.
 | 
			
		||||
  for pmodule in "$pmodules[@]"; do
 | 
			
		||||
    pdebuglog "Started loading %q" $pmodule
 | 
			
		||||
    if zstyle -t ":prezto:module:$pmodule" loaded 'yes' 'no'; then
 | 
			
		||||
      continue
 | 
			
		||||
    elif [[ ! -d "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule" ]]; then
 | 
			
		||||
      print "$0: no such module: $pmodule" >&2
 | 
			
		||||
      pdebuglog "Module %q already loaded" $pmodule
 | 
			
		||||
      continue
 | 
			
		||||
    else
 | 
			
		||||
      if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh" ]]; then
 | 
			
		||||
        source "${ZDOTDIR:-$HOME}/.zprezto/modules/$pmodule/init.zsh"
 | 
			
		||||
      locations=(${pmodule_dirs:+${^pmodule_dirs}/$pmodule(-/FN)})
 | 
			
		||||
      if (( ${#locations} > 1 )); then
 | 
			
		||||
        print "$0: conflicting module locations: $locations"
 | 
			
		||||
        continue
 | 
			
		||||
      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.
 | 
			
		||||
      fpath=(${pmodule_location}/functions(/FN) $fpath)
 | 
			
		||||
 | 
			
		||||
      function {
 | 
			
		||||
        local pfunction
 | 
			
		||||
 | 
			
		||||
        # Extended globbing is needed for listing autoloadable function directories.
 | 
			
		||||
        setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
			
		||||
 | 
			
		||||
        # Load Prezto functions.
 | 
			
		||||
        for pfunction in ${pmodule_location}/functions/$~pfunction_glob; do
 | 
			
		||||
          autoload -Uz "$pfunction"
 | 
			
		||||
        done
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if [[ -s "${pmodule_location}/init.zsh" ]]; then
 | 
			
		||||
        source "${pmodule_location}/init.zsh"
 | 
			
		||||
      elif [[ -s "${pmodule_location}/${pmodule}.plugin.zsh" ]]; then
 | 
			
		||||
        source "${pmodule_location}/${pmodule}.plugin.zsh"
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      if (( $? == 0 )); then
 | 
			
		||||
        zstyle ":prezto:module:$pmodule" loaded 'yes'
 | 
			
		||||
        pdebuglog "Module %q loaded" $pmodule
 | 
			
		||||
      else
 | 
			
		||||
        # Remove the $fpath entry.
 | 
			
		||||
        fpath[(r)${ZDOTDIR:-$HOME}/.zprezto/modules/${pmodule}/functions]=()
 | 
			
		||||
        fpath[(r)${pmodule_location}/functions]=()
 | 
			
		||||
 | 
			
		||||
        function {
 | 
			
		||||
          local pfunction
 | 
			
		||||
@@ -71,11 +160,12 @@ function pmodload {
 | 
			
		||||
          setopt LOCAL_OPTIONS EXTENDED_GLOB
 | 
			
		||||
 | 
			
		||||
          # 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"
 | 
			
		||||
          done
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        pdebuglog "Module %q failed to load" $pmodule
 | 
			
		||||
        zstyle ":prezto:module:$pmodule" loaded 'no'
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
@@ -86,6 +176,12 @@ function pmodload {
 | 
			
		||||
# 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.
 | 
			
		||||
if [[ -s "${ZDOTDIR:-$HOME}/.zpreztorc" ]]; then
 | 
			
		||||
  source "${ZDOTDIR:-$HOME}/.zpreztorc"
 | 
			
		||||
@@ -111,4 +207,3 @@ unset zfunction{s,}
 | 
			
		||||
zstyle -a ':prezto:load' pmodule 'pmodules'
 | 
			
		||||
pmodload "$pmodules[@]"
 | 
			
		||||
unset pmodules
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,19 @@ Modules
 | 
			
		||||
 | 
			
		||||
Load modules in *zpreztorc*. The order matters.
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:load' pmodule 'environment' 'terminal'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:load' pmodule 'environment' 'terminal'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Archive
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
Provides functions to extract and list popular archive formats.
 | 
			
		||||
Provides functions to list and extract archives.
 | 
			
		||||
 | 
			
		||||
Autosuggestions
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
Integrates zsh-autosuggestions into Prezto.
 | 
			
		||||
 | 
			
		||||
Command-Not-Found
 | 
			
		||||
-----------------
 | 
			
		||||
@@ -26,25 +33,51 @@ Directory
 | 
			
		||||
 | 
			
		||||
Sets directory options and defines directory aliases.
 | 
			
		||||
 | 
			
		||||
DNF
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Defines dnf aliases.
 | 
			
		||||
 | 
			
		||||
Dpkg
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
Defines dpkg aliases and functions.
 | 
			
		||||
 | 
			
		||||
Editor
 | 
			
		||||
------
 | 
			
		||||
 | 
			
		||||
Sets key bindings.
 | 
			
		||||
 | 
			
		||||
Emacs
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
Enables Emacs dependency management.
 | 
			
		||||
 | 
			
		||||
Environment
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
Sets general shell options and defines environment variables.
 | 
			
		||||
 | 
			
		||||
Fasd
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
Maintains a frequently used file and directory list for fast access.
 | 
			
		||||
 | 
			
		||||
Git
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Enhances the Git distributed version control system by providing aliases,
 | 
			
		||||
functions and by exposing repository status information to prompts.
 | 
			
		||||
 | 
			
		||||
GNU Utility
 | 
			
		||||
-----------
 | 
			
		||||
 | 
			
		||||
Provides for the interactive use of GNU utilities on non-GNU systems.
 | 
			
		||||
 | 
			
		||||
GPG-Agent
 | 
			
		||||
---------
 | 
			
		||||
GPG
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Provides for an easier use of gpg-agent.
 | 
			
		||||
Provides for an easier use of GPG by setting up gpg-agent.
 | 
			
		||||
 | 
			
		||||
Haskell
 | 
			
		||||
-------
 | 
			
		||||
@@ -56,17 +89,22 @@ Helper
 | 
			
		||||
 | 
			
		||||
Provides helper functions for developing modules.
 | 
			
		||||
 | 
			
		||||
History Substring Search
 | 
			
		||||
------------------------
 | 
			
		||||
 | 
			
		||||
Integrates zsh-history-substring-search into Prezto.
 | 
			
		||||
 | 
			
		||||
History
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
Sets history options and defines history aliases.
 | 
			
		||||
 | 
			
		||||
Macports
 | 
			
		||||
History Substring Search
 | 
			
		||||
------------------------
 | 
			
		||||
 | 
			
		||||
Integrates zsh-history-substring-search into Prezto.
 | 
			
		||||
 | 
			
		||||
Homebrew
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
Defines Homebrew aliases.
 | 
			
		||||
 | 
			
		||||
MacPorts
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
			
		||||
@@ -76,6 +114,11 @@ Node.js
 | 
			
		||||
 | 
			
		||||
Provides utility functions for Node.js and loads npm completion.
 | 
			
		||||
 | 
			
		||||
OCaml
 | 
			
		||||
-----
 | 
			
		||||
 | 
			
		||||
Initializes OCaml package management.
 | 
			
		||||
 | 
			
		||||
OSX
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
@@ -127,10 +170,10 @@ Spectrum
 | 
			
		||||
 | 
			
		||||
Provides for easier use of 256 colors and effects.
 | 
			
		||||
 | 
			
		||||
SSH-Agent
 | 
			
		||||
---------
 | 
			
		||||
SSH
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Provides for an easier use of ssh-agent.
 | 
			
		||||
Provides for an easier use of SSH by setting up ssh-agent.
 | 
			
		||||
 | 
			
		||||
Syntax Highlighting
 | 
			
		||||
-------------------
 | 
			
		||||
@@ -161,10 +204,3 @@ Yum
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Defines yum aliases.
 | 
			
		||||
 | 
			
		||||
Z
 | 
			
		||||
-
 | 
			
		||||
 | 
			
		||||
Integrates z into Prezto, which maintains a frequently used directory list for
 | 
			
		||||
fast directory changes.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,14 @@
 | 
			
		||||
Archive
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
Provides functions to extract and list popular archive formats.
 | 
			
		||||
Provides functions to create, list, and extract archives.
 | 
			
		||||
 | 
			
		||||
Functions
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
  - `extract` extracts the contents of one or more archives.
 | 
			
		||||
  - `ls-archive` lists the contents of one or more archives.
 | 
			
		||||
  - `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
 | 
			
		||||
-----------------
 | 
			
		||||
@@ -15,8 +16,8 @@ Supported Formats
 | 
			
		||||
The following archive formats are supported when the required utilities are
 | 
			
		||||
installed:
 | 
			
		||||
 | 
			
		||||
  - *.tar.gz*, *.tgz* require `tar`.
 | 
			
		||||
  - *.tar.bz2*, *.tbz* require `tar`.
 | 
			
		||||
  - *.tar.gz*, *.tgz* require `tar` (optionally `pigz`).
 | 
			
		||||
  - *.tar.bz2*, *.tbz* require `tar` (optionally `pbzip2`).
 | 
			
		||||
  - *.tar.xz*, *.txz* require `tar` with *xz* support.
 | 
			
		||||
  - *.tar.zma*, *.tlz* require `tar` with *lzma* support.
 | 
			
		||||
  - *.tar* requires `tar`.
 | 
			
		||||
@@ -25,17 +26,27 @@ installed:
 | 
			
		||||
  - *.xz* requires `unxz`.
 | 
			
		||||
  - *.lzma* requires `unlzma`.
 | 
			
		||||
  - *.Z* requires `uncompress`.
 | 
			
		||||
  - *.zip* requires `unzip`.
 | 
			
		||||
  - *.rar* requires `unrar`.
 | 
			
		||||
  - *.zip*, *.jar* requires `unzip`.
 | 
			
		||||
  - *.rar* requires `rar` (needed for `archive` support), `unrar` or `lsar` and `unar`.
 | 
			
		||||
  - *.7z* requires `7za`.
 | 
			
		||||
  - *.deb* requires `ar`, `tar`.
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
Alternatives
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
Specifically on macOS, [The Unarchiver][1] provides a similar command line tool
 | 
			
		||||
which doesn't depend on a number of other programs being installed.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
			
		||||
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
  - [Matt Hamilton](https://github.com/Eriner)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
[1]: https://theunarchiver.com/command-line
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
#compdef ls-archive
 | 
			
		||||
#compdef lsarchive
 | 
			
		||||
#autoload
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Completes ls-archive.
 | 
			
		||||
# Completes lsarchive.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
@@ -10,5 +10,4 @@
 | 
			
		||||
 | 
			
		||||
_arguments \
 | 
			
		||||
  '(-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|jar|rar|7z)(-.)'" && return 0
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
#compdef extract
 | 
			
		||||
#compdef unarchive
 | 
			
		||||
#autoload
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Completes extract.
 | 
			
		||||
# Completes unarchive.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
@@ -10,5 +10,4 @@
 | 
			
		||||
 | 
			
		||||
_arguments \
 | 
			
		||||
  '(-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|jar|rar|7z|deb)(-.)'" && return 0
 | 
			
		||||
							
								
								
									
										71
									
								
								modules/archive/functions/archive
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								modules/archive/functions/archive
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
			
		||||
#!/usr/bin/env zsh
 | 
			
		||||
#
 | 
			
		||||
# Creates archive file
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Matt Hamilton <m@tthamilton.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function archive {
 | 
			
		||||
 | 
			
		||||
local archive_name dir_to_archive _gzip_bin _bzip2_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, .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}"
 | 
			
		||||
# use absolute paths, and follow symlinks
 | 
			
		||||
dir_to_archive="${2}"
 | 
			
		||||
 | 
			
		||||
# if the directory doesn't exist, quit. Nothing to archive
 | 
			
		||||
if [[ ! -e "${dir_to_archive}" ]]; then
 | 
			
		||||
  print "$0: file or directory not valid: ${dir_to_archive}" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
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[pigz] )); then
 | 
			
		||||
  _gzip_bin='pigz'
 | 
			
		||||
else
 | 
			
		||||
  _gzip_bin='gzip'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if (( $+commands[pbzip2] )); then
 | 
			
		||||
  _bzip2_bin='pbzip2'
 | 
			
		||||
else
 | 
			
		||||
  _bzip2_bin='bzip2'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case "${archive_name}" in
 | 
			
		||||
  (*.tar.gz|*.tgz) tar -cvf "${archive_name}" --use-compress-program="${_gzip_bin}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.tar.bz2|*.tbz|*.tbz2) tar -cvf "${archive_name}" --use-compress-program="${_bzip2_bin}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.tar.xz|*.txz) tar -cvJf "${archive_name}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.tar.lzma|*.tlz) tar -cvf "${archive_name}" --lzma "${dir_to_archive}" ;;
 | 
			
		||||
  (*.tar) tar -cvf "${archive_name}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.zip|*.jar) zip -r "${archive_name}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.rar) rar a "${archive_name}" "${dir_to_archive}" ;;
 | 
			
		||||
  (*.7z) 7za a "${archive_name}" "${dir_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
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
@@ -1,10 +1,12 @@
 | 
			
		||||
#
 | 
			
		||||
# Lists the contents of popular archive formats.
 | 
			
		||||
# Lists the contents of archives.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function lsarchive {
 | 
			
		||||
 | 
			
		||||
local verbose
 | 
			
		||||
 | 
			
		||||
if (( $# == 0 )); then
 | 
			
		||||
@@ -30,7 +32,7 @@ while (( $# > 0 )); do
 | 
			
		||||
    continue
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  case "$1" in
 | 
			
		||||
  case "$1:l" in
 | 
			
		||||
    (*.tar.gz|*.tgz) tar t${verbose:+v}vzf "$1" ;;
 | 
			
		||||
    (*.tar.bz2|*.tbz|*.tbz2) tar t${verbose:+v}jf "$1" ;;
 | 
			
		||||
    (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
 | 
			
		||||
@@ -40,11 +42,15 @@ while (( $# > 0 )); do
 | 
			
		||||
      && tar --lzma -t${verbose:+v}f "$1" \
 | 
			
		||||
      || lzcat "$1" | tar x${verbose:+v}f - ;;
 | 
			
		||||
    (*.tar) tar t${verbose:+v}f "$1" ;;
 | 
			
		||||
    (*.zip) unzip -l${verbose:+v} "$1" ;;
 | 
			
		||||
    (*.rar) unrar ${${verbose:+v}:-l} "$1" ;;
 | 
			
		||||
    (*.zip|*.jar) unzip -l${verbose:+v} "$1" ;;
 | 
			
		||||
    (*.rar) ( (( $+commands[unrar] )) \
 | 
			
		||||
      && unrar ${${verbose:+v}:-l} "$1" ) \
 | 
			
		||||
      || ( (( $+commands[rar] )) \
 | 
			
		||||
      && rar ${${verbose:+v}:-l} "$1" ) \
 | 
			
		||||
      || lsar ${verbose:+-l} "$1" ;;
 | 
			
		||||
    (*.7z) 7za l "$1" ;;
 | 
			
		||||
    (*)
 | 
			
		||||
			print "$0: cannot list: $1" >&2
 | 
			
		||||
      print "$0: cannot list: $1" >&2
 | 
			
		||||
      success=1
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
@@ -52,3 +58,4 @@ while (( $# > 0 )); do
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
@@ -1,13 +1,16 @@
 | 
			
		||||
#
 | 
			
		||||
# Extracts the contents of popular archive formats.
 | 
			
		||||
# Extracts the contents of archives.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function unarchive {
 | 
			
		||||
 | 
			
		||||
local remove_archive
 | 
			
		||||
local success
 | 
			
		||||
local file_name
 | 
			
		||||
local file_path
 | 
			
		||||
local extract_dir
 | 
			
		||||
 | 
			
		||||
if (( $# == 0 )); then
 | 
			
		||||
@@ -36,8 +39,9 @@ while (( $# > 0 )); do
 | 
			
		||||
 | 
			
		||||
  success=0
 | 
			
		||||
  file_name="${1:t}"
 | 
			
		||||
  file_path="${1:A}"
 | 
			
		||||
  extract_dir="${file_name:r}"
 | 
			
		||||
  case "$1" in
 | 
			
		||||
  case "$1:l" in
 | 
			
		||||
    (*.tar.gz|*.tgz) tar xvzf "$1" ;;
 | 
			
		||||
    (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;;
 | 
			
		||||
    (*.tar.xz|*.txz) tar --xz --help &> /dev/null \
 | 
			
		||||
@@ -52,16 +56,20 @@ while (( $# > 0 )); do
 | 
			
		||||
    (*.xz) unxz "$1" ;;
 | 
			
		||||
    (*.lzma) unlzma "$1" ;;
 | 
			
		||||
    (*.Z) uncompress "$1" ;;
 | 
			
		||||
    (*.zip) unzip "$1" -d $extract_dir ;;
 | 
			
		||||
    (*.rar) unrar e -ad "$1" ;;
 | 
			
		||||
    (*.zip|*.jar) unzip "$1" -d $extract_dir ;;
 | 
			
		||||
    (*.rar) ( (( $+commands[unrar] )) \
 | 
			
		||||
      && unrar x -ad "$1" ) \
 | 
			
		||||
      || ( (( $+commands[rar] )) \
 | 
			
		||||
      && rar x -ad "$1" ) \
 | 
			
		||||
      || unar -d "$1" ;;
 | 
			
		||||
    (*.7z) 7za x "$1" ;;
 | 
			
		||||
    (*.deb)
 | 
			
		||||
      mkdir -p "$extract_dir/control"
 | 
			
		||||
      mkdir -p "$extract_dir/data"
 | 
			
		||||
      cd "$extract_dir"; ar vx "../${1}" > /dev/null
 | 
			
		||||
      cd control; tar xzvf ../control.tar.gz
 | 
			
		||||
      cd ../data; tar xzvf ../data.tar.gz
 | 
			
		||||
      cd ..; rm *.tar.gz debian-binary
 | 
			
		||||
      cd "$extract_dir"; ar vx "${file_path}" > /dev/null
 | 
			
		||||
      cd control; tar xvf ../control.tar.*
 | 
			
		||||
      cd ../data; tar xvf ../data.tar.*
 | 
			
		||||
      cd ..; rm control.tar.* data.tar.* debian-binary
 | 
			
		||||
      cd ..
 | 
			
		||||
    ;;
 | 
			
		||||
    (*)
 | 
			
		||||
@@ -75,3 +83,4 @@ while (( $# > 0 )); do
 | 
			
		||||
  shift
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
							
								
								
									
										58
									
								
								modules/autosuggestions/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								modules/autosuggestions/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,58 @@
 | 
			
		||||
Autosuggestions
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
Integrates zsh-autosuggestions into Prezto.
 | 
			
		||||
 | 
			
		||||
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* module,
 | 
			
		||||
this module must be loaded **after** the *syntax-highlighting* module.
 | 
			
		||||
 | 
			
		||||
If this module is used in conjunction with the *history-substring-search*
 | 
			
		||||
module, this module must be loaded **after** the *history-substring-search*
 | 
			
		||||
module.
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
*zpreztorc*:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:autosuggestions' color 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To set the query found color, add the following line to *zpreztorc*:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:autosuggestions:color' found ''
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
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/tarruda/zsh-autosuggestions
 | 
			
		||||
[2]: http://fishshell.com
 | 
			
		||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
							
								
								
									
										1
									
								
								modules/autosuggestions/external
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								modules/autosuggestions/external
									
									
									
									
									
										Submodule
									
								
							 Submodule modules/autosuggestions/external added at 15931f04ff
									
								
							
							
								
								
									
										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
 | 
			
		||||
@@ -1,15 +1,23 @@
 | 
			
		||||
Command-Not-Found
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
Loads the [command-not-found][1] tool on Debian-based distributions.
 | 
			
		||||
When you try to use a command that is not available locally, searches
 | 
			
		||||
the package manager for a package offering that command and suggests
 | 
			
		||||
the proper install command. 
 | 
			
		||||
 | 
			
		||||
Debian-based and Arch Linux-based distributions use the [`command-not-found`][1] tool.
 | 
			
		||||
 | 
			
		||||
macOS uses Homebrew's [`command-not-found` clone][2]. Note that you also need to [follow the instructions to tap the `command-not-found` homebrew repository][3].
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
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][4].*
 | 
			
		||||
 | 
			
		||||
  - [Joseph Booker](https://github.com/sargas)
 | 
			
		||||
 | 
			
		||||
[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,12 +3,19 @@
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Joseph Jon Booker <joe@neoturbine.net>
 | 
			
		||||
#   Indrajit Raychaudhuri <irc+code@indrajit.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Load command-not-found on Debian-based distributions.
 | 
			
		||||
if [[ -s '/etc/zsh_command_not_found' ]]; then
 | 
			
		||||
  source '/etc/zsh_command_not_found'
 | 
			
		||||
# Load command-not-found on Arch Linux-based distributions.
 | 
			
		||||
elif [[ -s '/usr/share/doc/pkgfile/command-not-found.zsh' ]]; then
 | 
			
		||||
  source '/usr/share/doc/pkgfile/command-not-found.zsh'
 | 
			
		||||
# Load command-not-found on Mac OS X when homebrew tap is configured.
 | 
			
		||||
elif (( $+commands[brew] )) && brew command command-not-found-init > /dev/null 2>&1; then
 | 
			
		||||
  eval "$(brew command-not-found-init)"
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if [[ ! -s '/etc/zsh_command_not_found' ]]; then
 | 
			
		||||
else
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
source '/etc/zsh_command_not_found'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,23 @@ the [zsh-completions][1] project.
 | 
			
		||||
 | 
			
		||||
This module must be loaded **after** the *utility* module.
 | 
			
		||||
 | 
			
		||||
Settings
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
### Ignore */etc/hosts* Entries
 | 
			
		||||
 | 
			
		||||
To ignore certain entries from static */etc/hosts* for host completion, add the
 | 
			
		||||
following lines in *zpreztorc* with the IP addresses of the hosts as they
 | 
			
		||||
appear in */etc/hosts*. Both IP address and the corresponding hostname 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
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
@@ -21,4 +38,3 @@ Authors
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/zsh-users/zsh-completions
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 Submodule modules/completion/external updated: 9ef8d2f088...2a30b05a5c
									
								
							@@ -14,9 +14,6 @@ fi
 | 
			
		||||
# Add zsh-completions to $fpath.
 | 
			
		||||
fpath=("${0:h}/external/src" $fpath)
 | 
			
		||||
 | 
			
		||||
# Load and initialize the completion system ignoring insecure directories.
 | 
			
		||||
autoload -Uz compinit && compinit -i
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Options
 | 
			
		||||
#
 | 
			
		||||
@@ -24,20 +21,30 @@ autoload -Uz compinit && compinit -i
 | 
			
		||||
setopt COMPLETE_IN_WORD    # Complete from both ends of a word.
 | 
			
		||||
setopt ALWAYS_TO_END       # Move cursor to the end of a completed word.
 | 
			
		||||
setopt PATH_DIRS           # Perform path search even on command names with slashes.
 | 
			
		||||
setopt AUTO_MENU           # Show completion menu on a succesive tab press.
 | 
			
		||||
setopt AUTO_MENU           # Show completion menu on a successive tab press.
 | 
			
		||||
setopt AUTO_LIST           # Automatically list choices on ambiguous completion.
 | 
			
		||||
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 FLOW_CONTROL      # Disable start/stop characters in shell editor.
 | 
			
		||||
 | 
			
		||||
# Treat these characters as part of a word.
 | 
			
		||||
WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
 | 
			
		||||
# 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_files=(${ZDOTDIR:-$HOME}/.zcompdump(Nm-20))
 | 
			
		||||
if (( $#_comp_files )); then
 | 
			
		||||
  compinit -i -C
 | 
			
		||||
else
 | 
			
		||||
  compinit -i
 | 
			
		||||
fi
 | 
			
		||||
unset _comp_files
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Styles
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Use caching to make completion for cammands 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:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
 | 
			
		||||
 | 
			
		||||
@@ -69,8 +76,9 @@ zstyle ':completion:*' completer _complete _match _approximate
 | 
			
		||||
zstyle ':completion:*:match:*' original only
 | 
			
		||||
zstyle ':completion:*:approximate:*' max-errors 1 numeric
 | 
			
		||||
 | 
			
		||||
# Increase the number of errors based on the length of the typed word.
 | 
			
		||||
zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
 | 
			
		||||
# Increase the number of errors based on the length of the typed word. But make
 | 
			
		||||
# 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.
 | 
			
		||||
zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
 | 
			
		||||
@@ -94,11 +102,14 @@ zstyle ':completion:*:history-words' menu yes
 | 
			
		||||
# Environmental Variables
 | 
			
		||||
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=(
 | 
			
		||||
  ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ }
 | 
			
		||||
  ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
 | 
			
		||||
  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
 | 
			
		||||
  ${=${=${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2> /dev/null)"}%%[#| ]*}//\]:[0-9]*/ }//,/ }//\[/ }
 | 
			
		||||
  ${=${(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 }:#*\**}:#*\?*}}
 | 
			
		||||
)'
 | 
			
		||||
 | 
			
		||||
# Don't complete uninteresting users...
 | 
			
		||||
@@ -119,7 +130,7 @@ zstyle ':completion:*:(rm|kill|diff):*' ignore-line other
 | 
			
		||||
zstyle ':completion:*:rm:*' file-patterns '*:all-files'
 | 
			
		||||
 | 
			
		||||
# Kill
 | 
			
		||||
zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,comm -w'
 | 
			
		||||
zstyle ':completion:*:*:*:*:processes' command 'ps -u $LOGNAME -o pid,user,command -w'
 | 
			
		||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
 | 
			
		||||
zstyle ':completion:*:*:kill:*' menu yes select
 | 
			
		||||
zstyle ':completion:*:*:kill:*' force-list always
 | 
			
		||||
@@ -142,11 +153,9 @@ if [[ -s "$HOME/.mutt/aliases" ]]; then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# 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:*:ssh:*' tag-order users 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
 | 
			
		||||
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
 | 
			
		||||
zstyle ':completion:*:ssh:*' group-order users hosts-domain hosts-host users hosts-ipaddr
 | 
			
		||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost ip6-localhost broadcasthost
 | 
			
		||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*'
 | 
			
		||||
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,4 +33,3 @@ Authors
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[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_TO_HOME        # Push to home directory when no argument is given.
 | 
			
		||||
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 EXTENDED_GLOB        # Use extended globbing syntax.
 | 
			
		||||
unsetopt CLOBBER            # Do not overwrite existing files with > and >>.
 | 
			
		||||
@@ -28,4 +27,3 @@ unsetopt CLOBBER            # Do not overwrite existing files with > and >>.
 | 
			
		||||
 | 
			
		||||
alias d='dirs -v'
 | 
			
		||||
for index ({1..9}) alias "$index"="cd +${index}"; unset index
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								modules/dnf/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								modules/dnf/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
DNF
 | 
			
		||||
===
 | 
			
		||||
 | 
			
		||||
Defines [dnf][1] aliases.
 | 
			
		||||
 | 
			
		||||
Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
  - `dnfc` removes package(s) and leaves.
 | 
			
		||||
  - `dnfi` installs package(s).
 | 
			
		||||
  - `dnfh` displays history.
 | 
			
		||||
  - `dnfl` lists packages.
 | 
			
		||||
  - `dnfL` lists installed packages.
 | 
			
		||||
  - `dnfq` displays package information.
 | 
			
		||||
  - `dnfr` removes package(s).
 | 
			
		||||
  - `dnfs` searches for a package.
 | 
			
		||||
  - `dnfu` updates packages.
 | 
			
		||||
  - `dnfU` upgrades packages.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
			
		||||
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: https://fedoraproject.org/wiki/Features/DNF
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										28
									
								
								modules/dnf/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/dnf/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
#
 | 
			
		||||
# Defines dnf aliases.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   FireWave <firewave@free.fr>
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if (( ! $+commands[dnf] )); then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Aliases
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
alias dnfc='sudo dnf clean all'    # Cleans the cache.
 | 
			
		||||
alias dnfh='dnf history'           # Displays history.
 | 
			
		||||
alias dnfi='sudo dnf install'      # Installs package(s).
 | 
			
		||||
alias dnfl='dnf list'              # Lists packages.
 | 
			
		||||
alias dnfL='dnf list installed'    # Lists installed packages.
 | 
			
		||||
alias dnfq='dnf info'              # Displays package information.
 | 
			
		||||
alias dnfr='sudo dnf remove'       # Removes package(s).
 | 
			
		||||
alias dnfs='dnf search'            # Searches for a package.
 | 
			
		||||
alias dnfu='sudo dnf update'       # Updates packages.
 | 
			
		||||
alias dnfU='sudo dnf upgrade'      # Upgrades packages.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										190
									
								
								modules/docker/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										190
									
								
								modules/docker/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,190 @@
 | 
			
		||||
# ZSH Docker Aliases
 | 
			
		||||
 | 
			
		||||
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<Paste>
 | 
			
		||||
- `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<Paste>
 | 
			
		||||
- `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"
 | 
			
		||||
@@ -7,16 +7,16 @@ Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
- `debc` cleans the cache.
 | 
			
		||||
- `debf` displays a file's packake.
 | 
			
		||||
- `debf` displays a file's package.
 | 
			
		||||
- `debi` installs packages from repositories.
 | 
			
		||||
- `debI` installs packages from files.
 | 
			
		||||
- `debq` displays package information.
 | 
			
		||||
- `debu` updates the packages lists.
 | 
			
		||||
- `debu` updates the package lists.
 | 
			
		||||
- `debU` upgrades outdated packages.
 | 
			
		||||
- `debx` removes packages.
 | 
			
		||||
- `debX` removes packages, their configuration, and unneeded dependencies.
 | 
			
		||||
- `debs` searches for packages.
 | 
			
		||||
- `deb-build` creates a basic .deb package.
 | 
			
		||||
- `deb-build` creates a basic deb package.
 | 
			
		||||
- `deb-kclean` removes all kernel images and headers, except for the ones in
 | 
			
		||||
  use.
 | 
			
		||||
 | 
			
		||||
@@ -39,4 +39,3 @@ Authors
 | 
			
		||||
 | 
			
		||||
[1]: http://wiki.debian.org/Teams/Dpkg
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function deb-clone {
 | 
			
		||||
 | 
			
		||||
local clone_script="${0}.sh"
 | 
			
		||||
local package_list=$(
 | 
			
		||||
  perl \
 | 
			
		||||
@@ -24,3 +26,4 @@ print '#!/bin/sh\n' > "$clone_script"
 | 
			
		||||
print "aptitude install ${package_list}\n" >> "$clone_script"
 | 
			
		||||
chmod +x "$clone_script"
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function deb-history {
 | 
			
		||||
 | 
			
		||||
case "$1" in
 | 
			
		||||
  (install)
 | 
			
		||||
    zgrep --no-filename 'install ' $(ls -rt /var/log/dpkg*)
 | 
			
		||||
@@ -35,3 +37,4 @@ EOF
 | 
			
		||||
  ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function deb-kbuild {
 | 
			
		||||
 | 
			
		||||
make-kpkg clean
 | 
			
		||||
MAKEFLAGS='' time fakeroot make-kpkg \
 | 
			
		||||
  --append-to-version '-custom' \
 | 
			
		||||
@@ -13,3 +15,4 @@ MAKEFLAGS='' time fakeroot make-kpkg \
 | 
			
		||||
  kernel_image \
 | 
			
		||||
  kernel_headers
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ fi
 | 
			
		||||
# Cleans the cache.
 | 
			
		||||
alias debc='sudo apt-get clean && sudo apt-get autoclean'
 | 
			
		||||
 | 
			
		||||
# Displays a file's packake.
 | 
			
		||||
# Displays a file's package.
 | 
			
		||||
alias debf='apt-file search --regexp'
 | 
			
		||||
 | 
			
		||||
# Installs packages from repositories.
 | 
			
		||||
@@ -31,7 +31,7 @@ alias debI='sudo dpkg -i'
 | 
			
		||||
# Displays package information.
 | 
			
		||||
alias debq='apt-cache show'
 | 
			
		||||
 | 
			
		||||
# Updates the packages lists.
 | 
			
		||||
# Updates the package lists.
 | 
			
		||||
alias debu='sudo apt-get update'
 | 
			
		||||
 | 
			
		||||
# Upgrades outdated packages.
 | 
			
		||||
@@ -50,9 +50,8 @@ else
 | 
			
		||||
  alias debs='apt-cache search'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Creates a basic .deb package.
 | 
			
		||||
# Creates a basic deb package.
 | 
			
		||||
alias deb-build='time dpkg-buildpackage -rfakeroot -us -uc'
 | 
			
		||||
 | 
			
		||||
# 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)))"'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										99
									
								
								modules/editor/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								modules/editor/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,99 @@
 | 
			
		||||
Editor
 | 
			
		||||
======
 | 
			
		||||
 | 
			
		||||
Sets key bindings.
 | 
			
		||||
 | 
			
		||||
Settings
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
### Key bindings
 | 
			
		||||
 | 
			
		||||
To enable key bindings, add the following to *zpreztorc*, and replace 'bindings'
 | 
			
		||||
with 'emacs' or 'vi'.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor' key-bindings 'bindings'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Dot Expansion
 | 
			
		||||
 | 
			
		||||
To enable the auto conversion of .... to ../.., add the following to
 | 
			
		||||
*zpreztorc*.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### PS Context
 | 
			
		||||
 | 
			
		||||
To enable the prompt context to be set, add the following to your
 | 
			
		||||
*zpreztorc*.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor' ps-context 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Theming
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
To indicate when the editor is in the primary keymap (emacs or viins), add
 | 
			
		||||
the following to your `theme_prompt_setup` function.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To indicate when the editor is in the primary keymap (emacs or viins) insert
 | 
			
		||||
mode, add the following to your `theme_prompt_setup` function.
 | 
			
		||||
 | 
			
		||||
```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
 | 
			
		||||
mode, add the following to your `theme_prompt_setup` function.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To indicate when the editor is in the alternate keymap (vicmd), add the
 | 
			
		||||
following to your `theme_prompt_setup` function.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To indicate when the editor is completing, add the following to your
 | 
			
		||||
`theme_prompt_setup` function.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:editor:info:completing' format '...'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then add `$editor_info[context]`, where context is *keymap*, *insert*, or
 | 
			
		||||
*overwrite*, to `$PROMPT` or `$RPROMPT`.
 | 
			
		||||
 | 
			
		||||
Convenience Functions
 | 
			
		||||
---------------------
 | 
			
		||||
 | 
			
		||||
### bindkey-all
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
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/oh-my-zsh/issues
 | 
			
		||||
@@ -4,42 +4,6 @@
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
# Usage:
 | 
			
		||||
#   To enable key bindings, add the following to zpreztorc, and replace 'map'
 | 
			
		||||
#   with 'emacs' or 'vi.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor' keymap 'map'
 | 
			
		||||
#
 | 
			
		||||
#   To enable the auto conversion of .... to ../.., add the following to
 | 
			
		||||
#   zpreztorc.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor' dot-expansion 'yes'
 | 
			
		||||
#
 | 
			
		||||
#   To indicate when the editor is in the primary keymap (emacs or viins), add
 | 
			
		||||
#   the following to your theme prompt setup function.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor:info:keymap:primary' format '>>>'
 | 
			
		||||
#
 | 
			
		||||
#   To indicate when the editor is in the primary keymap (emacs or viins) insert
 | 
			
		||||
#   mode, add the following to your theme prompt setup function.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
 | 
			
		||||
#
 | 
			
		||||
#   To indicate when the editor is in the primary keymap (emacs or viins)
 | 
			
		||||
#   overwrite mode, add the following to your theme prompt setup function.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
 | 
			
		||||
#
 | 
			
		||||
#   To indicate when the editor is in the alternate keymap (vicmd), add the
 | 
			
		||||
#   following to your theme prompt setup function.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor:info:keymap:alternate' format '<<<'
 | 
			
		||||
#
 | 
			
		||||
#   To indicate when the editor is completing, add the following to your theme
 | 
			
		||||
#   prompt setup function.
 | 
			
		||||
#
 | 
			
		||||
#     zstyle ':prezto:module:editor:info:completing' format '...'
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if [[ "$TERM" == 'dumb' ]]; then
 | 
			
		||||
@@ -50,52 +14,57 @@ fi
 | 
			
		||||
# Options
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Beep on error in line editor.
 | 
			
		||||
setopt BEEP
 | 
			
		||||
setopt BEEP                     # Beep on error in line editor.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Variables
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Treat these characters as part of a word.
 | 
			
		||||
WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
 | 
			
		||||
 | 
			
		||||
# Use human-friendly identifiers.
 | 
			
		||||
zmodload zsh/terminfo
 | 
			
		||||
typeset -gA key_info
 | 
			
		||||
key_info=(
 | 
			
		||||
  'Control'   '\C-'
 | 
			
		||||
  'Escape'    '\e'
 | 
			
		||||
  'Meta'      '\M-'
 | 
			
		||||
  'Backspace' "^?"
 | 
			
		||||
  'Delete'    "^[[3~"
 | 
			
		||||
  'F1'        "$terminfo[kf1]"
 | 
			
		||||
  'F2'        "$terminfo[kf2]"
 | 
			
		||||
  'F3'        "$terminfo[kf3]"
 | 
			
		||||
  'F4'        "$terminfo[kf4]"
 | 
			
		||||
  'F5'        "$terminfo[kf5]"
 | 
			
		||||
  'F6'        "$terminfo[kf6]"
 | 
			
		||||
  'F7'        "$terminfo[kf7]"
 | 
			
		||||
  'F8'        "$terminfo[kf8]"
 | 
			
		||||
  'F9'        "$terminfo[kf9]"
 | 
			
		||||
  'F10'       "$terminfo[kf10]"
 | 
			
		||||
  'F11'       "$terminfo[kf11]"
 | 
			
		||||
  'F12'       "$terminfo[kf12]"
 | 
			
		||||
  'Insert'    "$terminfo[kich1]"
 | 
			
		||||
  'Home'      "$terminfo[khome]"
 | 
			
		||||
  'PageUp'    "$terminfo[kpp]"
 | 
			
		||||
  'End'       "$terminfo[kend]"
 | 
			
		||||
  'PageDown'  "$terminfo[knp]"
 | 
			
		||||
  'Up'        "$terminfo[kcuu1]"
 | 
			
		||||
  'Left'      "$terminfo[kcub1]"
 | 
			
		||||
  'Down'      "$terminfo[kcud1]"
 | 
			
		||||
  'Right'     "$terminfo[kcuf1]"
 | 
			
		||||
  'BackTab'   "$terminfo[kcbt]"
 | 
			
		||||
  'Control'         '\C-'
 | 
			
		||||
  'ControlLeft'     '\e[1;5D \e[5D \e\e[D \eOd'
 | 
			
		||||
  'ControlRight'    '\e[1;5C \e[5C \e\e[C \eOc'
 | 
			
		||||
  'ControlPageUp'   '\e[5;5~'
 | 
			
		||||
  'ControlPageDown' '\e[6;5~'
 | 
			
		||||
  'Escape'       '\e'
 | 
			
		||||
  'Meta'         '\M-'
 | 
			
		||||
  'Backspace'    "^?"
 | 
			
		||||
  'Delete'       "^[[3~"
 | 
			
		||||
  'F1'           "$terminfo[kf1]"
 | 
			
		||||
  'F2'           "$terminfo[kf2]"
 | 
			
		||||
  'F3'           "$terminfo[kf3]"
 | 
			
		||||
  'F4'           "$terminfo[kf4]"
 | 
			
		||||
  'F5'           "$terminfo[kf5]"
 | 
			
		||||
  'F6'           "$terminfo[kf6]"
 | 
			
		||||
  'F7'           "$terminfo[kf7]"
 | 
			
		||||
  'F8'           "$terminfo[kf8]"
 | 
			
		||||
  'F9'           "$terminfo[kf9]"
 | 
			
		||||
  'F10'          "$terminfo[kf10]"
 | 
			
		||||
  'F11'          "$terminfo[kf11]"
 | 
			
		||||
  'F12'          "$terminfo[kf12]"
 | 
			
		||||
  'Insert'       "$terminfo[kich1]"
 | 
			
		||||
  'Home'         "$terminfo[khome]"
 | 
			
		||||
  'PageUp'       "$terminfo[kpp]"
 | 
			
		||||
  'End'          "$terminfo[kend]"
 | 
			
		||||
  'PageDown'     "$terminfo[knp]"
 | 
			
		||||
  'Up'           "$terminfo[kcuu1]"
 | 
			
		||||
  'Left'         "$terminfo[kcub1]"
 | 
			
		||||
  'Down'         "$terminfo[kcud1]"
 | 
			
		||||
  'Right'        "$terminfo[kcuf1]"
 | 
			
		||||
  'BackTab'      "$terminfo[kcbt]"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Do not bind any keys if there are empty values in $key_info.
 | 
			
		||||
# Set empty $key_info values to an invalid UTF-8 sequence to induce silent
 | 
			
		||||
# bindkey failure.
 | 
			
		||||
for key in "${(k)key_info[@]}"; do
 | 
			
		||||
  if [[ -z "$key_info[$key]" ]]; then
 | 
			
		||||
    print "prezto: one or more keys are non-bindable" >&2
 | 
			
		||||
    unset key{,_info}
 | 
			
		||||
    return 1
 | 
			
		||||
    key_info[$key]='<27>'
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
@@ -110,7 +79,15 @@ zle -N edit-command-line
 | 
			
		||||
#
 | 
			
		||||
# 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
 | 
			
		||||
# array.
 | 
			
		||||
function editor-info {
 | 
			
		||||
@@ -135,20 +112,61 @@ function editor-info {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  unset REPLY
 | 
			
		||||
 | 
			
		||||
  zle reset-prompt
 | 
			
		||||
  zle -R
 | 
			
		||||
  zle zle-reset-prompt
 | 
			
		||||
}
 | 
			
		||||
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.
 | 
			
		||||
function zle-keymap-select zle-line-init zle-line-finish {
 | 
			
		||||
function zle-keymap-select {
 | 
			
		||||
  zle editor-info
 | 
			
		||||
}
 | 
			
		||||
zle -N zle-keymap-select
 | 
			
		||||
zle -N zle-line-finish
 | 
			
		||||
 | 
			
		||||
# Enables terminal application mode and updates editor information.
 | 
			
		||||
function zle-line-init {
 | 
			
		||||
  # The terminal must be in application mode when ZLE is active for $terminfo
 | 
			
		||||
  # values to be valid.
 | 
			
		||||
  if (( $+terminfo[smkx] )); then
 | 
			
		||||
    # Enable terminal application mode.
 | 
			
		||||
    echoti smkx
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Update editor information.
 | 
			
		||||
  zle editor-info
 | 
			
		||||
}
 | 
			
		||||
zle -N zle-line-init
 | 
			
		||||
 | 
			
		||||
# Disables terminal application mode and updates editor information.
 | 
			
		||||
function zle-line-finish {
 | 
			
		||||
  # The terminal must be in application mode when ZLE is active for $terminfo
 | 
			
		||||
  # values to be valid.
 | 
			
		||||
  if (( $+terminfo[rmkx] )); then
 | 
			
		||||
    # Disable terminal application mode.
 | 
			
		||||
    echoti rmkx
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Update editor information.
 | 
			
		||||
  zle editor-info
 | 
			
		||||
}
 | 
			
		||||
zle -N zle-line-finish
 | 
			
		||||
 | 
			
		||||
# Toggles emacs overwrite mode and updates editor information.
 | 
			
		||||
function overwrite-mode {
 | 
			
		||||
  zle .overwrite-mode
 | 
			
		||||
@@ -192,6 +210,14 @@ zle -N expand-dot-to-parent-directory-path
 | 
			
		||||
function expand-or-complete-with-indicator {
 | 
			
		||||
  local 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"
 | 
			
		||||
  zle expand-or-complete
 | 
			
		||||
  zle redisplay
 | 
			
		||||
@@ -207,6 +233,35 @@ function 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.
 | 
			
		||||
bindkey -d
 | 
			
		||||
 | 
			
		||||
@@ -214,10 +269,10 @@ bindkey -d
 | 
			
		||||
# Emacs Key Bindings
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
for key ("$key_info[Escape]"{B,b}) bindkey -M emacs "$key" emacs-backward-word
 | 
			
		||||
for key ("$key_info[Escape]"{F,f}) bindkey -M emacs "$key" emacs-forward-word
 | 
			
		||||
bindkey -M emacs "$key_info[Escape]$key_info[Left]" emacs-backward-word
 | 
			
		||||
bindkey -M emacs "$key_info[Escape]$key_info[Right]" emacs-forward-word
 | 
			
		||||
for key in "$key_info[Escape]"{B,b} "${(s: :)key_info[ControlLeft]}"
 | 
			
		||||
  bindkey -M emacs "$key" emacs-backward-word
 | 
			
		||||
for key in "$key_info[Escape]"{F,f} "${(s: :)key_info[ControlRight]}"
 | 
			
		||||
  bindkey -M emacs "$key" emacs-forward-word
 | 
			
		||||
 | 
			
		||||
# Kill to the beginning of the line.
 | 
			
		||||
for key in "$key_info[Escape]"{K,k}
 | 
			
		||||
@@ -242,21 +297,23 @@ if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
			
		||||
    history-incremental-pattern-search-forward
 | 
			
		||||
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
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Edit command in an external editor.
 | 
			
		||||
bindkey -M vicmd "v" edit-command-line
 | 
			
		||||
# Edit command in an external editor emacs style (v is used for visual mode)
 | 
			
		||||
bindkey -M vicmd "$key_info[Control]X$key_info[Control]E" edit-command-line
 | 
			
		||||
 | 
			
		||||
# Undo/Redo
 | 
			
		||||
bindkey -M vicmd "u" undo
 | 
			
		||||
bindkey -M vicmd "$key_info[Control]R" redo
 | 
			
		||||
 | 
			
		||||
# Switch to command mode.
 | 
			
		||||
bindkey -M viins "jk" vi-cmd-mode
 | 
			
		||||
bindkey -M viins "kj" vi-cmd-mode
 | 
			
		||||
 | 
			
		||||
if (( $+widgets[history-incremental-pattern-search-backward] )); then
 | 
			
		||||
  bindkey -M vicmd "?" history-incremental-pattern-search-backward
 | 
			
		||||
  bindkey -M vicmd "/" history-incremental-pattern-search-forward
 | 
			
		||||
@@ -265,14 +322,61 @@ else
 | 
			
		||||
  bindkey -M vicmd "/" history-incremental-search-forward
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Toggle comment at the start of the line.
 | 
			
		||||
bindkey -M vicmd "#" vi-pound-insert
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# 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[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[Delete]" delete-char
 | 
			
		||||
  bindkey -M "$keymap" "$key_info[Backspace]" backward-delete-char
 | 
			
		||||
@@ -315,8 +419,14 @@ for keymap in 'emacs' 'viins'; do
 | 
			
		||||
 | 
			
		||||
  # Insert 'sudo ' at the beginning of the line.
 | 
			
		||||
  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
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
if zstyle -t ':prezto:module:editor' dot-expansion; then
 | 
			
		||||
  bindkey -M isearch . self-insert 2> /dev/null
 | 
			
		||||
@@ -327,14 +437,13 @@ fi
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Set the key layout.
 | 
			
		||||
zstyle -s ':prezto:module:editor' keymap 'keymap'
 | 
			
		||||
if [[ "$keymap" == (emacs|) ]]; then
 | 
			
		||||
zstyle -s ':prezto:module:editor' key-bindings 'key_bindings'
 | 
			
		||||
if [[ "$key_bindings" == (emacs|) ]]; then
 | 
			
		||||
  bindkey -e
 | 
			
		||||
elif [[ "$keymap" == vi ]]; then
 | 
			
		||||
elif [[ "$key_bindings" == vi ]]; then
 | 
			
		||||
  bindkey -v
 | 
			
		||||
else
 | 
			
		||||
  print "prezto: invalid keymap: $keymap" >&2
 | 
			
		||||
  print "prezto: editor: invalid key bindings: $key_bindings" >&2
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
unset key{map,}
 | 
			
		||||
 | 
			
		||||
unset key{,map,_bindings}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								modules/emacs/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								modules/emacs/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
			
		||||
Emacs
 | 
			
		||||
=====
 | 
			
		||||
 | 
			
		||||
Enables Emacs dependency management.
 | 
			
		||||
 | 
			
		||||
Dependency management
 | 
			
		||||
---------------------
 | 
			
		||||
 | 
			
		||||
[Carton][1] installs and manages Emacs packages for Emacs package development
 | 
			
		||||
and Emacs configuration.
 | 
			
		||||
 | 
			
		||||
This module prepends the Carton directory to the path variable to enable the
 | 
			
		||||
execution of `carton`.
 | 
			
		||||
 | 
			
		||||
Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
### Carton
 | 
			
		||||
 | 
			
		||||
  - `cai` installs dependencies.
 | 
			
		||||
  - `cau` updates dependencies.
 | 
			
		||||
  - `caI` initializes the current directory for dependency management.
 | 
			
		||||
  - `cae` executes a command which correct dependencies.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
			
		||||
 | 
			
		||||
  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/rejeep/carton
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
							
								
								
									
										25
									
								
								modules/emacs/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								modules/emacs/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,25 @@
 | 
			
		||||
#
 | 
			
		||||
# Configures Emacs dependency management.
 | 
			
		||||
#
 | 
			
		||||
# Authors: Sebastian Wiesner <lunaryorn@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if [[ ! -d "$HOME/.cask" ]]; then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Prepend Cask bin directory.
 | 
			
		||||
path=($HOME/.cask/bin $path)
 | 
			
		||||
 | 
			
		||||
# Load Carton completion
 | 
			
		||||
source "$HOME/.cask/etc/cask_completion.zsh" 2> /dev/null
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Aliases
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
alias cai='cask install'
 | 
			
		||||
alias cau='cask update'
 | 
			
		||||
alias caI='cask init'
 | 
			
		||||
alias cae='cask exec'
 | 
			
		||||
@@ -13,14 +13,14 @@ Contributors
 | 
			
		||||
 | 
			
		||||
This module **MUST NOT** rely on any command not built in Zsh.
 | 
			
		||||
 | 
			
		||||
Non-interactive environment variables should be defined in *zshenv*.
 | 
			
		||||
Non-interactive environment variables should be defined in [`zshenv`][1].
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/blob/master/runcoms/zshenv
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 
 | 
			
		||||
@@ -9,16 +9,34 @@
 | 
			
		||||
# Smart URLs
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
autoload -Uz url-quote-magic
 | 
			
		||||
zle -N self-insert url-quote-magic
 | 
			
		||||
# This logic comes from an old version of zim. Essentially, bracketed-paste was
 | 
			
		||||
# 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 ]]; then
 | 
			
		||||
  if is-at-least 5.2; then
 | 
			
		||||
    autoload -Uz bracketed-paste-url-magic
 | 
			
		||||
    zle -N bracketed-paste bracketed-paste-url-magic
 | 
			
		||||
  else
 | 
			
		||||
    if is-at-least 5.1; then
 | 
			
		||||
      autoload -Uz bracketed-paste-magic
 | 
			
		||||
      zle -N bracketed-paste bracketed-paste-magic
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  autoload -Uz url-quote-magic
 | 
			
		||||
  zle -N self-insert url-quote-magic
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# General
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
setopt BRACE_CCL          # Allow brace character class list expansion.
 | 
			
		||||
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.
 | 
			
		||||
setopt COMBINING_CHARS      # Combine zero-length punctuation characters (accents)
 | 
			
		||||
                            # with the base character.
 | 
			
		||||
setopt INTERACTIVE_COMMENTS # Enable comments in interactive shell.
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Jobs
 | 
			
		||||
@@ -31,15 +49,6 @@ unsetopt BG_NICE          # Don't run all background jobs at a lower priority.
 | 
			
		||||
unsetopt HUP              # Don't kill jobs on shell exit.
 | 
			
		||||
unsetopt CHECK_JOBS       # Don't report on jobs when shell exit.
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Grep
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
if zstyle -t ':prezto:environment:grep' color; then
 | 
			
		||||
  export GREP_COLOR='37;45'
 | 
			
		||||
  export GREP_OPTIONS='--color=auto'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Termcap
 | 
			
		||||
#
 | 
			
		||||
@@ -53,4 +62,3 @@ if zstyle -t ':prezto:environment:termcap' color; then
 | 
			
		||||
  export LESS_TERMCAP_ue=$'\E[0m'          # Ends underline.
 | 
			
		||||
  export LESS_TERMCAP_us=$'\E[01;32m'      # Begins underline.
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,12 @@ module.
 | 
			
		||||
The Prezto Fasd configuration differs from the default. The default aliases have
 | 
			
		||||
been disabled.
 | 
			
		||||
 | 
			
		||||
Installation
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
`fasd` is bundled with prezto as a git submodule. Alternatively, you can manually install `fasd`.
 | 
			
		||||
If a manual install is found, it will be used instead of the bundled version.
 | 
			
		||||
 | 
			
		||||
Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
@@ -36,4 +42,3 @@ Authors
 | 
			
		||||
[3]: https://github.com/rupa/z
 | 
			
		||||
[4]: https://github.com/rupa/v
 | 
			
		||||
[5]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								modules/fasd/external
									
									
									
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								modules/fasd/external
									
									
									
									
									
										Submodule
									
								
							 Submodule modules/fasd/external added at 90b531a5da
									
								
							@@ -9,16 +9,17 @@
 | 
			
		||||
# Load dependencies.
 | 
			
		||||
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
 | 
			
		||||
  return 1
 | 
			
		||||
  source "${0:h}/external/fasd" || return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Initialization
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
cache_file="${0:h}/cache.zsh"
 | 
			
		||||
cache_file="${TMPDIR:-/tmp}/prezto-fasd-cache.$UID.zsh"
 | 
			
		||||
if [[ "${commands[fasd]}" -nt "$cache_file" || ! -s "$cache_file"  ]]; then
 | 
			
		||||
  # Set the base init arguments.
 | 
			
		||||
  init_args=(zsh-hook)
 | 
			
		||||
@@ -51,4 +52,3 @@ function fasd_cd {
 | 
			
		||||
 | 
			
		||||
# Changes the current working directory interactively.
 | 
			
		||||
alias j='fasd_cd -i'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,8 @@
 | 
			
		||||
Git
 | 
			
		||||
===
 | 
			
		||||
 | 
			
		||||
Enhances the [Git][1] distributed version control system by providing aliases, functions and by exposing repository status information to prompts.
 | 
			
		||||
Enhances the [Git][1] distributed version control system by providing aliases,
 | 
			
		||||
functions and by exposing repository status information to prompts.
 | 
			
		||||
 | 
			
		||||
Git **1.7.2** is the [minimum required version][7].
 | 
			
		||||
 | 
			
		||||
@@ -12,22 +13,32 @@ Settings
 | 
			
		||||
 | 
			
		||||
The format of the [git-log][8] output is configurable via the following style,
 | 
			
		||||
where context is *brief*, *oneline*, and *medium*, which will be passed to the
 | 
			
		||||
`--prety=format:` switch.
 | 
			
		||||
`--pretty=format:` switch.
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:git:log:context' format ''
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:git:log:context' format ''
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Status
 | 
			
		||||
 | 
			
		||||
Retrieving the status of a repository with submodules can take a long time.
 | 
			
		||||
Submodules may be ignored when they are *dirty*, *untracked*, *all*, or *none*.
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:git:status:ignore' submodules 'all'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:git:status:ignore' submodules 'all'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
This setting affects all aliases and functions that call `git-status`.
 | 
			
		||||
 | 
			
		||||
Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
Aliases are enabled by default. You can disable them with:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:git:alias' skip 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Git
 | 
			
		||||
 | 
			
		||||
  - `g` is short for `git`.
 | 
			
		||||
@@ -36,15 +47,17 @@ Aliases
 | 
			
		||||
 | 
			
		||||
  - `gb` lists, creates, renames, and deletes branches.
 | 
			
		||||
  - `gbc` creates a new branch.
 | 
			
		||||
  - `gbl` lists branches and their commits.
 | 
			
		||||
  - `gbL` lists local and remote branches and their commits.
 | 
			
		||||
  - `gbs` lists branches and their commits with ancestery graphs.
 | 
			
		||||
  - `gbS` lists local and remote branches and their commits with ancestery
 | 
			
		||||
  - `gbl` lists branches and their commits. (also `gbv`)
 | 
			
		||||
  - `gbL` lists all local and remote branches and their commits.
 | 
			
		||||
  - `gbr` renames a branch. (also `gbm`)
 | 
			
		||||
  - `gbR` renames a branch even if the new branch name already exists. (also
 | 
			
		||||
    `gbM`)
 | 
			
		||||
  - `gbs` lists branches and their commits with ancestry graphs.
 | 
			
		||||
  - `gbS` lists local and remote branches and their commits with ancestry
 | 
			
		||||
    graphs.
 | 
			
		||||
  - `gbx` deletes a branch.
 | 
			
		||||
  - `gbX` deletes a branch irrespective of its merged status.
 | 
			
		||||
  - `gbm` renames a branch.
 | 
			
		||||
  - `gbM` renames a branch even if the new branch name already exists.
 | 
			
		||||
  - `gbV` lists branches with more verbose information about their commits.
 | 
			
		||||
  - `gbx` deletes a branch. (also `gbd`)
 | 
			
		||||
  - `gbX` deletes a branch irrespective of its merged status. (also `gbD`)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Commit
 | 
			
		||||
@@ -52,17 +65,33 @@ Aliases
 | 
			
		||||
  - `gc` records changes to the repository.
 | 
			
		||||
  - `gca` stages all modified and deleted files.
 | 
			
		||||
  - `gcm` records changes to the repository with the given message.
 | 
			
		||||
  - `gcS` records changes to the repository. (Signed)
 | 
			
		||||
  - `gcSa` stages all modified and deleted files. (Signed)
 | 
			
		||||
  - `gcSm` records changes to the repository with the given message. (Signed)  - `gco`  checks out a branch or paths to work tree.
 | 
			
		||||
  - `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 paths to work tree using the *HEAD* commit.
 | 
			
		||||
  - `gcf` amends the tip of the current branch using the same log message as
 | 
			
		||||
    *HEAD*.
 | 
			
		||||
  - `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*.
 | 
			
		||||
  - `gcSf` amends the tip of the current branch using the same log message as *HEAD*. (Signed)
 | 
			
		||||
  - `gcF` amends the tip of the current branch.
 | 
			
		||||
  - `gcSF` 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 various types of objects.
 | 
			
		||||
  - `gcl` displays lost commits.
 | 
			
		||||
  - `gcl` lists lost commits.
 | 
			
		||||
 | 
			
		||||
### Conflict
 | 
			
		||||
 | 
			
		||||
  - `gCl` lists unmerged files.
 | 
			
		||||
  - `gCa` adds unmerged file contents to the index.
 | 
			
		||||
  - `gCe` executes merge-tool on all unmerged file.
 | 
			
		||||
  - `gCo` checks out our changes for unmerged paths.
 | 
			
		||||
  - `gCO` checks out our changes for all unmerged paths.
 | 
			
		||||
  - `gCt` checks out their changes for unmerged paths.
 | 
			
		||||
  - `gCT` checks out their changes for all unmerged paths.
 | 
			
		||||
 | 
			
		||||
### Data
 | 
			
		||||
 | 
			
		||||
@@ -77,16 +106,92 @@ Aliases
 | 
			
		||||
### 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.
 | 
			
		||||
 | 
			
		||||
### Flow
 | 
			
		||||
 | 
			
		||||
  - `gFi` is short for `git flow init`
 | 
			
		||||
 | 
			
		||||
#### Feature
 | 
			
		||||
 | 
			
		||||
  - `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`
 | 
			
		||||
 | 
			
		||||
#### Bugfix
 | 
			
		||||
 | 
			
		||||
  - `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`
 | 
			
		||||
 | 
			
		||||
#### Release
 | 
			
		||||
 | 
			
		||||
  - `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`
 | 
			
		||||
 | 
			
		||||
#### Hotfix
 | 
			
		||||
 | 
			
		||||
  - `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
 | 
			
		||||
 | 
			
		||||
  - `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
 | 
			
		||||
 | 
			
		||||
  - `gg` displays lines matching a pattern.
 | 
			
		||||
  - `ggi` displays lines matching a pattern ignoring case.
 | 
			
		||||
  - `ggl` displays files matching a pattern.
 | 
			
		||||
  - `ggL` displays files are not matching a pattern.
 | 
			
		||||
  - `ggl` lists files matching a pattern.
 | 
			
		||||
  - `ggL` lists files that are not matching a pattern.
 | 
			
		||||
  - `ggv` displays lines not matching a pattern.
 | 
			
		||||
  - `ggw` displays lines matching a pattern at word boundary.
 | 
			
		||||
 | 
			
		||||
@@ -97,21 +202,13 @@ Aliases
 | 
			
		||||
  - `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 current HEAD to the specified state.
 | 
			
		||||
  - `giR` resets current index to the specified state.
 | 
			
		||||
  - `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).
 | 
			
		||||
 | 
			
		||||
### Conflict
 | 
			
		||||
 | 
			
		||||
  - `gCl` lists unmerged files.
 | 
			
		||||
  - `gCa` adds unmerged file contents to the index.
 | 
			
		||||
  - `gCe` executes merge-tool on all unmerged file.
 | 
			
		||||
  - `gCo` checks out our changes for unmerged paths.
 | 
			
		||||
  - `gCO` checks out our changes for all unmerged paths.
 | 
			
		||||
  - `gCt` checks out their changes for unmerged paths.
 | 
			
		||||
  - `gCT` checks out their changes for all unmerged paths.
 | 
			
		||||
 | 
			
		||||
### Log
 | 
			
		||||
 | 
			
		||||
  - `gl` displays the log.
 | 
			
		||||
@@ -153,12 +250,12 @@ Aliases
 | 
			
		||||
### Remote
 | 
			
		||||
 | 
			
		||||
  - `gR` manages tracked repositories.
 | 
			
		||||
  - `gRl` displays remote names and URLs.
 | 
			
		||||
  - `gRl` lists remote names and their URLs.
 | 
			
		||||
  - `gRa` adds a new remote.
 | 
			
		||||
  - `gRx` removes a remote.
 | 
			
		||||
  - `gRm` renames a remote.
 | 
			
		||||
  - `gRu` fetches remotes updates.
 | 
			
		||||
  - `gRc` deletes all stale remote tracking branches.
 | 
			
		||||
  - `gRp` prunes all stale remote tracking branches.
 | 
			
		||||
  - `gRs` displays information about a given remote.
 | 
			
		||||
  - `gRb` opens a remote on [GitHub][3] in the default browser.
 | 
			
		||||
 | 
			
		||||
@@ -168,10 +265,9 @@ Aliases
 | 
			
		||||
  - `gsa` applies the changes recorded in a stash to the working directory.
 | 
			
		||||
  - `gsx` drops a stashed state.
 | 
			
		||||
  - `gsX` drops all the stashed states.
 | 
			
		||||
  - `gsd` lists dropped stashed states.
 | 
			
		||||
  - `gsl` lists stashed states.
 | 
			
		||||
  - `gsL` displays the changes recorded in the stash as a diff between the
 | 
			
		||||
    stashed state and its original parent.
 | 
			
		||||
  - `gsL` lists dropped stashed states.
 | 
			
		||||
  - `gsd` displays changes between the stash and its original parent.
 | 
			
		||||
  - `gsp` removes and applies a single stashed state from the stash list.
 | 
			
		||||
  - `gsr` recovers a given stashed state.
 | 
			
		||||
  - `gss` stashes the changes of the dirty working directory, including untracked.
 | 
			
		||||
@@ -213,6 +309,7 @@ The following aliases may shadow system commands:
 | 
			
		||||
 | 
			
		||||
  - `gpt` shadows the [GUID partition table maintenance utility][4].
 | 
			
		||||
  - `gs` shadows the [Ghostscript][5].
 | 
			
		||||
  - `gb` shadows the [GB][9].
 | 
			
		||||
 | 
			
		||||
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`.
 | 
			
		||||
@@ -227,7 +324,7 @@ Functions
 | 
			
		||||
  - `git-commit-lost` lists lost commits.
 | 
			
		||||
  - `git-dir` displays the path to the Git directory.
 | 
			
		||||
  - `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][10].
 | 
			
		||||
  - `git-info` exposes repository information via the `$git_info` associative
 | 
			
		||||
    array.
 | 
			
		||||
  - `git-root` displays the path to the working tree root.
 | 
			
		||||
@@ -244,27 +341,53 @@ To display information about the current repository in a prompt, define the
 | 
			
		||||
following styles in the `prompt_name_setup` function, where the syntax for
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
| Name      | Format Code | Description
 | 
			
		||||
| --------- | :---------: | ---------------------------------------------------
 | 
			
		||||
| action    |     %s      | Special action name
 | 
			
		||||
| added     |     %a      | Added files count
 | 
			
		||||
| ahead     |     %A      | Commits ahead of remote count
 | 
			
		||||
| behind    |     %B      | Commits behind of remote count
 | 
			
		||||
| branch    |     %b      | Branch name
 | 
			
		||||
| commit    |     %c      | Commit hash
 | 
			
		||||
| position  |     %p      | Commits from the nearest tag count
 | 
			
		||||
| remote    |     %R      | Remote name
 | 
			
		||||
| stashed   |     %S      | Stashed states count
 | 
			
		||||
 | 
			
		||||
### Concise Contexts
 | 
			
		||||
 | 
			
		||||
| Name      | Format Code | Description
 | 
			
		||||
| --------- | :---------: | ---------------------------------------------------
 | 
			
		||||
| clean     |     %C      | Clean state
 | 
			
		||||
| dirty     |     %D      | Dirty files count
 | 
			
		||||
| indexed   |     %i      | Indexed files count
 | 
			
		||||
| unindexed |     %I      | Unindexed files count
 | 
			
		||||
| untracked |     %u      | Untracked files count
 | 
			
		||||
 | 
			
		||||
The following contexts must be enabled with the following zstyle:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:git:info' verbose 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Verbose Contexts
 | 
			
		||||
 | 
			
		||||
| Name      | Format Code | Description
 | 
			
		||||
| --------- | :---------: | ---------------------------------------------------
 | 
			
		||||
| added     |     %a      | Added files count
 | 
			
		||||
| clean     |     %C      | Clean state
 | 
			
		||||
| deleted   |     %d      | Deleted files count
 | 
			
		||||
| dirty     |     %D      | Dirty files count
 | 
			
		||||
| modified  |     %m      | Modified files count
 | 
			
		||||
| position  |     %p      | Commits from the nearest tag count
 | 
			
		||||
| remote    |     %R      | Remote name
 | 
			
		||||
| renamed   |     %r      | Renamed files count
 | 
			
		||||
| stashed   |     %S      | Stashed states count
 | 
			
		||||
| unmerged  |     %U      | Unmerged files count
 | 
			
		||||
| untracked |     %u      | Untracked files count
 | 
			
		||||
[**Main Contexts**]
 | 
			
		||||
 | 
			
		||||
### Special Action Contexts
 | 
			
		||||
 | 
			
		||||
| Name                 |   Format    | Description
 | 
			
		||||
| -------------------- | :---------: | -----------------------------------------
 | 
			
		||||
@@ -276,21 +399,26 @@ setting a style is as follows.
 | 
			
		||||
| rebase               |    value    | Rebasing
 | 
			
		||||
| rebase-interactive   |    value    | Rebasing interactively
 | 
			
		||||
| rebase-merge         |    value    | Rebasing merge
 | 
			
		||||
[**Special Action Contexts**]
 | 
			
		||||
| revert               |    value    | Reverting
 | 
			
		||||
| revert-sequence      |    value    | Reverting sequence
 | 
			
		||||
 | 
			
		||||
First, format the repository state attributes. For example, to format the branch
 | 
			
		||||
and remote names, define the following styles.
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:git:info:branch' format 'branch:%b'
 | 
			
		||||
    zstyle ':prezto:module:git:info:remote' format 'remote:%R'
 | 
			
		||||
```sh
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:git:info:keys' format \
 | 
			
		||||
      'prompt'  ' git(%b)' \
 | 
			
		||||
      'rprompt' '[%R]'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:git:info:keys' format \
 | 
			
		||||
  'prompt'  ' git(%b)' \
 | 
			
		||||
  'rprompt' '[%R]'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[prompt]` to
 | 
			
		||||
Last, add `$git_info[prompt]` to `$PROMPT` and `$git_info[rprompt]` to
 | 
			
		||||
`$RPROMPT` respectively and call `git-info` in the `prompt_name_preexec` hook
 | 
			
		||||
function.
 | 
			
		||||
 | 
			
		||||
@@ -310,4 +438,5 @@ Authors
 | 
			
		||||
[6]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
[7]: https://github.com/sorin-ionescu/prezto/issues/219
 | 
			
		||||
[8]: http://www.kernel.org/pub/software/scm/git/docs/git-log.html
 | 
			
		||||
 | 
			
		||||
[9]: https://getgb.io/
 | 
			
		||||
[10]: https://github.com/blog/985-git-io-github-url-shortener
 | 
			
		||||
 
 | 
			
		||||
@@ -26,156 +26,239 @@ zstyle -s ':prezto:module:git:status:ignore' submodules '_git_status_ignore_subm
 | 
			
		||||
# Aliases
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Git
 | 
			
		||||
alias g='git'
 | 
			
		||||
if ! zstyle -t ':prezto:module:git:alias' skip 'yes'; then
 | 
			
		||||
  # Git
 | 
			
		||||
  alias g='git'
 | 
			
		||||
 | 
			
		||||
# Branch (b)
 | 
			
		||||
alias gb='git branch'
 | 
			
		||||
alias gbc='git checkout -b'
 | 
			
		||||
alias gbl='git branch -v'
 | 
			
		||||
alias gbL='git branch -av'
 | 
			
		||||
alias gbx='git branch -d'
 | 
			
		||||
alias gbX='git branch -D'
 | 
			
		||||
alias gbm='git branch -m'
 | 
			
		||||
alias gbM='git branch -M'
 | 
			
		||||
alias gbs='git show-branch'
 | 
			
		||||
alias gbS='git show-branch -a'
 | 
			
		||||
  # Branch (b)
 | 
			
		||||
  alias gb='git branch'
 | 
			
		||||
  alias gba='git branch --all --verbose'
 | 
			
		||||
  alias gbc='git checkout -b'
 | 
			
		||||
  alias gbd='git branch --delete'
 | 
			
		||||
  alias gbD='git branch --delete --force'
 | 
			
		||||
  alias gbl='git branch --verbose'
 | 
			
		||||
  alias gbL='git branch --all --verbose'
 | 
			
		||||
  alias gbm='git branch --move'
 | 
			
		||||
  alias gbM='git branch --move --force'
 | 
			
		||||
  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)
 | 
			
		||||
alias gc='git commit'
 | 
			
		||||
alias gca='git commit --all'
 | 
			
		||||
alias gcm='git commit --message'
 | 
			
		||||
alias gco='git checkout'
 | 
			
		||||
alias gcO='git checkout HEAD --'
 | 
			
		||||
alias gcf='git commit --amend --reuse-message HEAD'
 | 
			
		||||
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 gcl='git-commit-lost'
 | 
			
		||||
  # Commit (c)
 | 
			
		||||
  alias gc='git commit --verbose'
 | 
			
		||||
  alias gca='git commit --verbose --all'
 | 
			
		||||
  alias gcm='git commit --message'
 | 
			
		||||
  alias gcS='git commit -S --verbose'
 | 
			
		||||
  alias gcSa='git commit -S --verbose --all'
 | 
			
		||||
  alias gcSm='git commit -S --message'
 | 
			
		||||
  alias gcam='git commit --all --message'
 | 
			
		||||
  alias gco='git checkout'
 | 
			
		||||
  alias gcO='git checkout --patch'
 | 
			
		||||
  alias gcf='git commit --amend --reuse-message HEAD'
 | 
			
		||||
  alias gcSf='git commit -S --amend --reuse-message HEAD'
 | 
			
		||||
  alias gcF='git commit --verbose --amend'
 | 
			
		||||
  alias gcSF='git commit -S --verbose --amend'
 | 
			
		||||
  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 gcl='git-commit-lost'
 | 
			
		||||
 | 
			
		||||
# Data (d)
 | 
			
		||||
alias gd='git ls-files'
 | 
			
		||||
alias gdc='git ls-files --cached'
 | 
			
		||||
alias gdx='git ls-files --deleted'
 | 
			
		||||
alias gdm='git ls-files --modified'
 | 
			
		||||
alias gdu='git ls-files --other --exclude-standard'
 | 
			
		||||
alias gdk='git ls-files --killed'
 | 
			
		||||
alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
 | 
			
		||||
  # Conflict (C)
 | 
			
		||||
  alias gCl='git --no-pager diff --name-only --diff-filter=U'
 | 
			
		||||
  alias gCa='git add $(gCl)'
 | 
			
		||||
  alias gCe='git mergetool $(gCl)'
 | 
			
		||||
  alias gCo='git checkout --ours --'
 | 
			
		||||
  alias gCO='gCo $(gCl)'
 | 
			
		||||
  alias gCt='git checkout --theirs --'
 | 
			
		||||
  alias gCT='gCt $(gCl)'
 | 
			
		||||
 | 
			
		||||
# Fetch (f)
 | 
			
		||||
alias gf='git fetch'
 | 
			
		||||
alias gfc='git clone'
 | 
			
		||||
alias gfm='git pull'
 | 
			
		||||
alias gfr='git pull --rebase'
 | 
			
		||||
  # Data (d)
 | 
			
		||||
  alias gd='git ls-files'
 | 
			
		||||
  alias gdc='git ls-files --cached'
 | 
			
		||||
  alias gdx='git ls-files --deleted'
 | 
			
		||||
  alias gdm='git ls-files --modified'
 | 
			
		||||
  alias gdu='git ls-files --other --exclude-standard'
 | 
			
		||||
  alias gdk='git ls-files --killed'
 | 
			
		||||
  alias gdi='git status --porcelain --short --ignored | sed -n "s/^!! //p"'
 | 
			
		||||
 | 
			
		||||
# Grep (g)
 | 
			
		||||
alias gg='git grep'
 | 
			
		||||
alias ggi='git grep --ignore-case'
 | 
			
		||||
alias ggl='git grep --files-with-matches'
 | 
			
		||||
alias ggL='git grep --files-without-matches'
 | 
			
		||||
alias ggv='git grep --invert-match'
 | 
			
		||||
alias ggw='git grep --word-regexp'
 | 
			
		||||
  # Fetch (f)
 | 
			
		||||
  alias gf='git fetch'
 | 
			
		||||
  alias gfa='git fetch --all'
 | 
			
		||||
  alias gfc='git clone'
 | 
			
		||||
  alias gfcr='git clone --recurse-submodules'
 | 
			
		||||
  alias gfm='git pull'
 | 
			
		||||
  alias gfr='git pull --rebase'
 | 
			
		||||
 | 
			
		||||
# Index (i)
 | 
			
		||||
alias gia='git add'
 | 
			
		||||
alias giA='git add --patch'
 | 
			
		||||
alias giu='git add --update'
 | 
			
		||||
alias gid='git diff --no-ext-diff --cached'
 | 
			
		||||
alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
			
		||||
alias gir='git reset'
 | 
			
		||||
alias giR='git reset --keep'
 | 
			
		||||
alias gix='git rm -r --cached'
 | 
			
		||||
alias giX='git rm -rf --cached'
 | 
			
		||||
  # Flow (F)
 | 
			
		||||
  alias gFi='git flow init'
 | 
			
		||||
  alias gFf='git flow feature'
 | 
			
		||||
  alias gFb='git flow bugfix'
 | 
			
		||||
  alias gFl='git flow release'
 | 
			
		||||
  alias gFh='git flow hotfix'
 | 
			
		||||
  alias gFs='git flow support'
 | 
			
		||||
 | 
			
		||||
# Conflict (C)
 | 
			
		||||
alias gCl='git status | sed -n "s/^.*both [a-z]*ed: *//p"'
 | 
			
		||||
alias gCa='git add $(gCl)'
 | 
			
		||||
alias gCe='git mergetool $(gCl)'
 | 
			
		||||
alias gCo='git checkout --ours --'
 | 
			
		||||
alias gCO='gCo $(gCl)'
 | 
			
		||||
alias gCt='git checkout --theirs --'
 | 
			
		||||
alias gCT='gCt $(gCl)'
 | 
			
		||||
  alias gFfl='git flow feature list'
 | 
			
		||||
  alias gFfs='git flow feature start'
 | 
			
		||||
  alias gFff='git flow feature finish'
 | 
			
		||||
  alias gFfp='git flow feature publish'
 | 
			
		||||
  alias gFft='git flow feature track'
 | 
			
		||||
  alias gFfd='git flow feature diff'
 | 
			
		||||
  alias gFfr='git flow feature rebase'
 | 
			
		||||
  alias gFfc='git flow feature checkout'
 | 
			
		||||
  alias gFfm='git flow feature pull'
 | 
			
		||||
  alias gFfx='git flow feature delete'
 | 
			
		||||
 | 
			
		||||
# Log (l)
 | 
			
		||||
alias gl='git log --topo-order --pretty=format:${_git_log_medium_format}'
 | 
			
		||||
alias gls='git log --topo-order --stat --pretty=format:${_git_log_medium_format}'
 | 
			
		||||
alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:${_git_log_medium_format}'
 | 
			
		||||
alias glo='git log --topo-order --pretty=format:${_git_log_oneline_format}'
 | 
			
		||||
alias glg='git log --topo-order --all --graph --pretty=format:${_git_log_oneline_format}'
 | 
			
		||||
alias glb='git log --topo-order --pretty=format:${_git_log_brief_format}'
 | 
			
		||||
alias glc='git shortlog --summary --numbered'
 | 
			
		||||
  alias gFbl='git flow bugfix list'
 | 
			
		||||
  alias gFbs='git flow bugfix start'
 | 
			
		||||
  alias gFbf='git flow bugfix finish'
 | 
			
		||||
  alias gFbp='git flow bugfix publish'
 | 
			
		||||
  alias gFbt='git flow bugfix track'
 | 
			
		||||
  alias gFbd='git flow bugfix diff'
 | 
			
		||||
  alias gFbr='git flow bugfix rebase'
 | 
			
		||||
  alias gFbc='git flow bugfix checkout'
 | 
			
		||||
  alias gFbm='git flow bugfix pull'
 | 
			
		||||
  alias gFbx='git flow bugfix delete'
 | 
			
		||||
 | 
			
		||||
# Merge (m)
 | 
			
		||||
alias gm='git merge'
 | 
			
		||||
alias gmC='git merge --no-commit'
 | 
			
		||||
alias gmF='git merge --no-ff'
 | 
			
		||||
alias gma='git merge --abort'
 | 
			
		||||
alias gmt='git mergetool'
 | 
			
		||||
  alias gFll='git flow release list'
 | 
			
		||||
  alias gFls='git flow release start'
 | 
			
		||||
  alias gFlf='git flow release finish'
 | 
			
		||||
  alias gFlp='git flow release publish'
 | 
			
		||||
  alias gFlt='git flow release track'
 | 
			
		||||
  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 gp='git push'
 | 
			
		||||
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)"'
 | 
			
		||||
  alias gFhl='git flow hotfix list'
 | 
			
		||||
  alias gFhs='git flow hotfix start'
 | 
			
		||||
  alias gFhf='git flow hotfix finish'
 | 
			
		||||
  alias gFhp='git flow hotfix publish'
 | 
			
		||||
  alias gFht='git flow hotfix track'
 | 
			
		||||
  alias gFhd='git flow hotfix diff'
 | 
			
		||||
  alias gFhr='git flow hotfix rebase'
 | 
			
		||||
  alias gFhc='git flow hotfix checkout'
 | 
			
		||||
  alias gFhm='git flow hotfix pull'
 | 
			
		||||
  alias gFhx='git flow hotfix delete'
 | 
			
		||||
 | 
			
		||||
# 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'
 | 
			
		||||
  alias gFsl='git flow support list'
 | 
			
		||||
  alias gFss='git flow support start'
 | 
			
		||||
  alias gFsf='git flow support finish'
 | 
			
		||||
  alias gFsp='git flow support publish'
 | 
			
		||||
  alias gFst='git flow support track'
 | 
			
		||||
  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)
 | 
			
		||||
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 gRc='git remote prune'
 | 
			
		||||
alias gRs='git remote show'
 | 
			
		||||
alias gRb='git-hub-browse'
 | 
			
		||||
  # Grep (g)
 | 
			
		||||
  alias gg='git grep'
 | 
			
		||||
  alias ggi='git grep --ignore-case'
 | 
			
		||||
  alias ggl='git grep --files-with-matches'
 | 
			
		||||
  alias ggL='git grep --files-without-matches'
 | 
			
		||||
  alias ggv='git grep --invert-match'
 | 
			
		||||
  alias ggw='git grep --word-regexp'
 | 
			
		||||
 | 
			
		||||
# Stash (s)
 | 
			
		||||
alias gs='git stash'
 | 
			
		||||
alias gsa='git stash apply'
 | 
			
		||||
alias gsx='git stash drop'
 | 
			
		||||
alias gsX='git-stash-clear-interactive'
 | 
			
		||||
alias gsd='git-stash-dropped'
 | 
			
		||||
alias gsl='git stash list'
 | 
			
		||||
alias gsL='git stash show --patch --stat'
 | 
			
		||||
alias 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'
 | 
			
		||||
  # Index (i)
 | 
			
		||||
  alias gia='git add'
 | 
			
		||||
  alias giA='git add --patch'
 | 
			
		||||
  alias giu='git add --update'
 | 
			
		||||
  alias gid='git diff --no-ext-diff --cached'
 | 
			
		||||
  alias giD='git diff --no-ext-diff --cached --word-diff'
 | 
			
		||||
  alias gii='git update-index --assume-unchanged'
 | 
			
		||||
  alias giI='git update-index --no-assume-unchanged'
 | 
			
		||||
  alias gir='git reset'
 | 
			
		||||
  alias giR='git reset --patch'
 | 
			
		||||
  alias gix='git rm -r --cached'
 | 
			
		||||
  alias giX='git rm -rf --cached'
 | 
			
		||||
 | 
			
		||||
# 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 foreach git pull origin master'
 | 
			
		||||
alias gSx='git-submodule-remove'
 | 
			
		||||
  # Log (l)
 | 
			
		||||
  alias gl='git log --topo-order --pretty=format:"${_git_log_medium_format}"'
 | 
			
		||||
  alias gls='git log --topo-order --stat --pretty=format:"${_git_log_medium_format}"'
 | 
			
		||||
  alias gld='git log --topo-order --stat --patch --full-diff --pretty=format:"${_git_log_medium_format}"'
 | 
			
		||||
  alias glo='git log --topo-order --pretty=format:"${_git_log_oneline_format}"'
 | 
			
		||||
  alias glg='git log --topo-order --all --graph --pretty=format:"${_git_log_oneline_format}"'
 | 
			
		||||
  alias glb='git log --topo-order --pretty=format:"${_git_log_brief_format}"'
 | 
			
		||||
  alias glc='git shortlog --summary --numbered'
 | 
			
		||||
 | 
			
		||||
# 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 -n'
 | 
			
		||||
alias gwC='git clean -f'
 | 
			
		||||
alias gwx='git rm -r'
 | 
			
		||||
alias gwX='git rm -rf'
 | 
			
		||||
  # Merge (m)
 | 
			
		||||
  alias gm='git merge'
 | 
			
		||||
  alias gmC='git merge --no-commit'
 | 
			
		||||
  alias gmF='git merge --no-ff'
 | 
			
		||||
  alias gma='git merge --abort'
 | 
			
		||||
  alias gmt='git mergetool'
 | 
			
		||||
 | 
			
		||||
  # Push (p)
 | 
			
		||||
  alias gp='git push'
 | 
			
		||||
  alias gpf='git push --force-with-lease'
 | 
			
		||||
  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 foreach git pull origin master'
 | 
			
		||||
  alias gSx='git-submodule-remove'
 | 
			
		||||
 | 
			
		||||
  # 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 -n'
 | 
			
		||||
  alias gwC='git clean -f'
 | 
			
		||||
  alias gwx='git rm -r'
 | 
			
		||||
  alias gwX='git rm -rf'
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ case "$state" in
 | 
			
		||||
    remote="$words[(($CURRENT - 1))]"
 | 
			
		||||
 | 
			
		||||
    branches_or_tags=($(
 | 
			
		||||
      git ls-remote --heads --tags "$remote" 2>/dev/null | cut -f2
 | 
			
		||||
      git ls-remote --heads --tags "$remote" 2> /dev/null | cut -f2
 | 
			
		||||
    ))
 | 
			
		||||
 | 
			
		||||
    branches=(HEAD ${${(M)branches_or_tags[@]##refs/heads/?##}##refs/heads/})
 | 
			
		||||
@@ -39,10 +39,9 @@ case "$state" in
 | 
			
		||||
    _describe -t tag 'tags' tags && ret=0
 | 
			
		||||
  ;;
 | 
			
		||||
  (file)
 | 
			
		||||
    files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2>/dev/null)"})
 | 
			
		||||
    files=(${(0)"$(_call_program files git ls-files -z --exclude-standard 2> /dev/null)"})
 | 
			
		||||
    _wanted file expl 'file' _multi_parts - / files && ret=0
 | 
			
		||||
  ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
return $ret
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,5 +8,9 @@
 | 
			
		||||
#   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
 | 
			
		||||
 
 | 
			
		||||
@@ -16,4 +16,3 @@ _arguments "1:toggle:((
 | 
			
		||||
  on\:'enable in-prompt information for the current repository'
 | 
			
		||||
  off\:'disable in-prompt information for the current repository'
 | 
			
		||||
))" && return 0
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,4 +38,3 @@ case "$state" in
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
return $ret
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,4 +24,3 @@ done < <(
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
_describe -t submodule 'submodules' submodules && return 0
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-branch-current {
 | 
			
		||||
 | 
			
		||||
if ! git rev-parse 2> /dev/null; then
 | 
			
		||||
  print "$0: not a repository: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -19,3 +21,4 @@ else
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-commit-lost {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -19,3 +21,4 @@ git fsck 2> /dev/null \
 | 
			
		||||
      --stdin \
 | 
			
		||||
      --pretty=format:${_git_log_oneline_format}
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-dir {
 | 
			
		||||
 | 
			
		||||
local git_dir="${$(git rev-parse --git-dir):A}"
 | 
			
		||||
 | 
			
		||||
if [[ -n "$git_dir" ]]; then
 | 
			
		||||
@@ -15,3 +17,4 @@ else
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-hub-browse {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -37,7 +39,7 @@ if (( $references[(i)$reference] == $#references + 1 )); then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ "$reference" == 'HEAD' ]]; then
 | 
			
		||||
  reference="$(git rev-parse HEAD 2>/dev/null)"
 | 
			
		||||
  reference="$(git rev-parse HEAD 2> /dev/null)"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
file="$3"
 | 
			
		||||
@@ -57,3 +59,4 @@ else
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,19 +5,24 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
local url="$1"
 | 
			
		||||
# function git-hub-shorten-url {
 | 
			
		||||
 | 
			
		||||
local url="$1" code="$2"
 | 
			
		||||
 | 
			
		||||
if [[ "$url" == '-' ]]; then
 | 
			
		||||
  read url <&0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ -z "$url" ]]; then
 | 
			
		||||
  print "usage: $0 [ url | - ]" >&2
 | 
			
		||||
if [[ -z "$url" || ! "$url" =~ ^https?:\/\/.*github.com\/ ]]; then
 | 
			
		||||
  print "usage: $0 [ url | - ] [code] ; url must be a github.com URL" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if (( $+commands[curl] )); then
 | 
			
		||||
  curl -s -i 'http://git.io' -F "url=$url" | grep 'Location:' | sed 's/Location: //'
 | 
			
		||||
  curl -s -i 'https://git.io' -F "url=$url" ${(s: :)code:+ -F "code=$code"} | sed -n 's/^Location: //p'
 | 
			
		||||
else
 | 
			
		||||
  print "$0: command not found: curl" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
#   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.
 | 
			
		||||
function _git-action {
 | 
			
		||||
  local action_dir
 | 
			
		||||
@@ -18,6 +18,8 @@ function _git-action {
 | 
			
		||||
  local rebase_formatted
 | 
			
		||||
  local rebase_interactive_formatted
 | 
			
		||||
  local rebase_merge_formatted
 | 
			
		||||
  local revert_formatted
 | 
			
		||||
  local revert_sequence_formatted
 | 
			
		||||
 | 
			
		||||
  for action_dir in \
 | 
			
		||||
    "${git_dir}/rebase-apply" \
 | 
			
		||||
@@ -80,6 +82,18 @@ function _git-action {
 | 
			
		||||
    return 0
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [[ -f "${git_dir}/REVERT_HEAD" ]]; then
 | 
			
		||||
    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"
 | 
			
		||||
@@ -89,31 +103,6 @@ function _git-action {
 | 
			
		||||
  return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Turns off git-info for the current repository.
 | 
			
		||||
function _git-info-abort {
 | 
			
		||||
  if ! is-true "$_git_info_executing"; then
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  cat >&2 <<EOF
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Gathering status for certain repositories is time intensive.
 | 
			
		||||
By pressing CTRL + C, you have turned off prompt Git status
 | 
			
		||||
for this repository.
 | 
			
		||||
 | 
			
		||||
To revert, execute:
 | 
			
		||||
  git-info on
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
  unset _git_info_executing
 | 
			
		||||
  git config --bool prompt.showinfo false
 | 
			
		||||
  git-info
 | 
			
		||||
  return 0
 | 
			
		||||
}
 | 
			
		||||
add-zsh-trap INT _git-info-abort
 | 
			
		||||
 | 
			
		||||
# Gets the Git status information.
 | 
			
		||||
function git-info {
 | 
			
		||||
  # Extended globbing is needed to parse repository status.
 | 
			
		||||
@@ -126,13 +115,13 @@ function git-info {
 | 
			
		||||
  local added=0
 | 
			
		||||
  local added_format
 | 
			
		||||
  local added_formatted
 | 
			
		||||
  local ahead
 | 
			
		||||
  local ahead=0
 | 
			
		||||
  local ahead_and_behind
 | 
			
		||||
  local ahead_and_behind_cmd
 | 
			
		||||
  local ahead_format
 | 
			
		||||
  local ahead_formatted
 | 
			
		||||
  local ahead_or_behind
 | 
			
		||||
  local behind
 | 
			
		||||
  local behind=0
 | 
			
		||||
  local behind_format
 | 
			
		||||
  local behind_formatted
 | 
			
		||||
  local branch
 | 
			
		||||
@@ -151,9 +140,11 @@ function git-info {
 | 
			
		||||
  local dirty_format
 | 
			
		||||
  local dirty_formatted
 | 
			
		||||
  local ignore_submodules
 | 
			
		||||
  local indexed=0
 | 
			
		||||
  local indexed_format
 | 
			
		||||
  local indexed_formatted
 | 
			
		||||
  local -A info_formats
 | 
			
		||||
  local info_format
 | 
			
		||||
  local line_number=0
 | 
			
		||||
  local modified=0
 | 
			
		||||
  local modified_format
 | 
			
		||||
  local modified_formatted
 | 
			
		||||
@@ -171,6 +162,10 @@ function git-info {
 | 
			
		||||
  local stashed_format
 | 
			
		||||
  local stashed_formatted
 | 
			
		||||
  local status_cmd
 | 
			
		||||
  local status_mode
 | 
			
		||||
  local unindexed=0
 | 
			
		||||
  local unindexed_format
 | 
			
		||||
  local unindexed_formatted
 | 
			
		||||
  local unmerged=0
 | 
			
		||||
  local unmerged_format
 | 
			
		||||
  local unmerged_formatted
 | 
			
		||||
@@ -203,135 +198,206 @@ function git-info {
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Used to abort and turn git-info off on SIGINT.
 | 
			
		||||
  _git_info_executing=true
 | 
			
		||||
 | 
			
		||||
  # Use porcelain status for easy parsing.
 | 
			
		||||
  status_cmd='git status --porcelain'
 | 
			
		||||
 | 
			
		||||
  # Gets the remote name.
 | 
			
		||||
  remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
 | 
			
		||||
 | 
			
		||||
  # Gets the commit difference counts between local and remote.
 | 
			
		||||
  ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
 | 
			
		||||
 | 
			
		||||
  # Ignore submodule status.
 | 
			
		||||
  zstyle -s ':prezto:module:git:status:ignore' submodules 'ignore_submodules'
 | 
			
		||||
  if [[ -n "$ignore_submodules" ]]; then
 | 
			
		||||
    status_cmd+=" --ignore-submodules=${ignore_submodules}"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format commit.
 | 
			
		||||
  commit="$(git rev-parse HEAD 2> /dev/null)"
 | 
			
		||||
  if [[ -n "$commit" ]]; then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
			
		||||
    zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:commit' format 'commit_format'
 | 
			
		||||
  if [[ -n "$commit_format" ]]; then
 | 
			
		||||
    commit="$(git rev-parse HEAD 2> /dev/null)"
 | 
			
		||||
    if [[ -n "$commit" ]]; then
 | 
			
		||||
      zformat -f commit_formatted "$commit_format" "c:$commit"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format stashed.
 | 
			
		||||
  if [[ -f "$(git-dir)/refs/stash" ]]; then
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
			
		||||
  if [[ -n "$stashed_format" && -f "$(git-dir)/refs/stash" ]]; then
 | 
			
		||||
    stashed="$(git stash list 2> /dev/null | wc -l | awk '{print $1}')"
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:stashed' format 'stashed_format'
 | 
			
		||||
    zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
			
		||||
    if [[ -n "$stashed" ]]; then
 | 
			
		||||
      zformat -f stashed_formatted "$stashed_format" "S:$stashed"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format action.
 | 
			
		||||
  action="$(_git-action)"
 | 
			
		||||
  if [[ -n "$action" ]]; then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
			
		||||
    zformat -f action_formatted "$action_format" "s:$action"
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:action' format 'action_format'
 | 
			
		||||
  if [[ -n "$action_format" ]]; then
 | 
			
		||||
    action="$(_git-action)"
 | 
			
		||||
    if [[ -n "$action" ]]; then
 | 
			
		||||
      zformat -f action_formatted "$action_format" "s:$action"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Get current status.
 | 
			
		||||
  while IFS=$'\n' read line; do
 | 
			
		||||
    # Count added, deleted, modified, renamed, unmerged, untracked, dirty.
 | 
			
		||||
    # T (type change) is undocumented, see http://git.io/FnpMGw.
 | 
			
		||||
    # For a table of scenarii, see http://i.imgur.com/2YLu1.png.
 | 
			
		||||
    [[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ ))
 | 
			
		||||
    [[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ ))
 | 
			
		||||
    [[ "$line" == ?[MT]\ * ]] && (( modified++ ))
 | 
			
		||||
    [[ "$line" == R?\ * ]] && (( renamed++ ))
 | 
			
		||||
    [[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ ))
 | 
			
		||||
    [[ "$line" == \?\?\ * ]] && (( untracked++ ))
 | 
			
		||||
    (( dirty++ ))
 | 
			
		||||
  done < <(${(z)status_cmd} 2> /dev/null)
 | 
			
		||||
  # Get the branch.
 | 
			
		||||
  branch="${$(git symbolic-ref HEAD 2> /dev/null)#refs/heads/}"
 | 
			
		||||
 | 
			
		||||
  # Format branch.
 | 
			
		||||
  branch="${$(git symbolic-ref -q HEAD)##refs/heads/}"
 | 
			
		||||
  if [[ -n "$branch" ]]; then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:branch' format 'branch_format'
 | 
			
		||||
  if [[ -n "$branch" && -n "$branch_format" ]]; then
 | 
			
		||||
    zformat -f branch_formatted "$branch_format" "b:$branch"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
    # Format remote.
 | 
			
		||||
    remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
 | 
			
		||||
    if [[ -n "$remote" ]]; then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
			
		||||
      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
			
		||||
 | 
			
		||||
      # Get ahead and behind counts.
 | 
			
		||||
      ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
 | 
			
		||||
 | 
			
		||||
      # Format ahead.
 | 
			
		||||
      ahead="$ahead_and_behind[(w)1]"
 | 
			
		||||
      if (( $ahead > 0 )); then
 | 
			
		||||
        zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
 | 
			
		||||
        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      # Format behind.
 | 
			
		||||
      behind="$ahead_and_behind[(w)2]"
 | 
			
		||||
      if (( $behind > 0 )); then
 | 
			
		||||
        zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
			
		||||
        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    # Format position.
 | 
			
		||||
  # Format position.
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
			
		||||
  if [[ -z "$branch" && -n "$position_format" ]]; then
 | 
			
		||||
    position="$(git describe --contains --all HEAD 2> /dev/null)"
 | 
			
		||||
    if [[ -n "$position" ]]; then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:position' format 'position_format'
 | 
			
		||||
      zformat -f position_formatted "$position_format" "p:$position"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format added.
 | 
			
		||||
  if (( $added > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:added' format 'added_format'
 | 
			
		||||
    zformat -f added_formatted "$added_format" "a:$added_format"
 | 
			
		||||
  # Format remote.
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:remote' format 'remote_format'
 | 
			
		||||
  if [[ -n "$branch" && -n "$remote_format" ]]; then
 | 
			
		||||
    # Gets the remote name.
 | 
			
		||||
    remote_cmd='git rev-parse --symbolic-full-name --verify HEAD@{upstream}'
 | 
			
		||||
    remote="${$(${(z)remote_cmd} 2> /dev/null)##refs/remotes/}"
 | 
			
		||||
    if [[ -n "$remote" ]]; then
 | 
			
		||||
      zformat -f remote_formatted "$remote_format" "R:$remote"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format deleted.
 | 
			
		||||
  if (( $deleted > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
 | 
			
		||||
    zformat -f deleted_formatted "$deleted_format" "d:$deleted_format"
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:ahead' format 'ahead_format'
 | 
			
		||||
  zstyle -s ':prezto:module:git:info:behind' format 'behind_format'
 | 
			
		||||
  if [[ -n "$branch" && ( -n "$ahead_format" || -n "$behind_format" ) ]]; then
 | 
			
		||||
    # Gets the commit difference counts between local and remote.
 | 
			
		||||
    ahead_and_behind_cmd='git rev-list --count --left-right HEAD...@{upstream}'
 | 
			
		||||
 | 
			
		||||
    # Get ahead and behind counts.
 | 
			
		||||
    ahead_and_behind="$(${(z)ahead_and_behind_cmd} 2> /dev/null)"
 | 
			
		||||
 | 
			
		||||
    # Format ahead.
 | 
			
		||||
    if [[ -n "$ahead_format" ]]; then
 | 
			
		||||
      ahead="$ahead_and_behind[(w)1]"
 | 
			
		||||
      if (( ahead > 0 )); then
 | 
			
		||||
        zformat -f ahead_formatted "$ahead_format" "A:$ahead"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format behind.
 | 
			
		||||
    if [[ -n "$behind_format" ]]; then
 | 
			
		||||
      behind="$ahead_and_behind[(w)2]"
 | 
			
		||||
      if (( behind > 0 )); then
 | 
			
		||||
        zformat -f behind_formatted "$behind_format" "B:$behind"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format modified.
 | 
			
		||||
  if (( $modified > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:modified' format 'modified_format'
 | 
			
		||||
    zformat -f modified_formatted "$modified_format" "m:$modified"
 | 
			
		||||
  fi
 | 
			
		||||
  # Get status type.
 | 
			
		||||
  if ! zstyle -t ':prezto:module:git:info' verbose; then
 | 
			
		||||
    # Format indexed.
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:indexed' format 'indexed_format'
 | 
			
		||||
    if [[ -n "$indexed_format" ]]; then
 | 
			
		||||
      ((
 | 
			
		||||
        indexed+=$(
 | 
			
		||||
          git diff-index \
 | 
			
		||||
            --no-ext-diff \
 | 
			
		||||
            --name-only \
 | 
			
		||||
            --cached \
 | 
			
		||||
            --ignore-submodules=${ignore_submodules:-none} \
 | 
			
		||||
            HEAD \
 | 
			
		||||
            2> /dev/null \
 | 
			
		||||
          | wc -l
 | 
			
		||||
        )
 | 
			
		||||
      ))
 | 
			
		||||
      if (( indexed > 0 )); then
 | 
			
		||||
        zformat -f indexed_formatted "$indexed_format" "i:$indexed"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
  # Format renamed.
 | 
			
		||||
  if (( $renamed > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format'
 | 
			
		||||
    zformat -f renamed_formatted "$renamed_format" "r:$renamed"
 | 
			
		||||
  fi
 | 
			
		||||
    # Format unindexed.
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:unindexed' format 'unindexed_format'
 | 
			
		||||
    if [[ -n "$unindexed_format" ]]; then
 | 
			
		||||
      ((
 | 
			
		||||
        unindexed+=$(
 | 
			
		||||
          git diff-files \
 | 
			
		||||
            --no-ext-diff \
 | 
			
		||||
            --name-only \
 | 
			
		||||
            --ignore-submodules=${ignore_submodules:-none} \
 | 
			
		||||
            2> /dev/null \
 | 
			
		||||
          | wc -l
 | 
			
		||||
        )
 | 
			
		||||
      ))
 | 
			
		||||
      if (( unindexed > 0 )); then
 | 
			
		||||
        zformat -f unindexed_formatted "$unindexed_format" "I:$unindexed"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
  # Format unmerged.
 | 
			
		||||
  if (( $unmerged > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format'
 | 
			
		||||
    zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format untracked.
 | 
			
		||||
  if (( $untracked > 0 )); then
 | 
			
		||||
    # Format untracked.
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
 | 
			
		||||
    zformat -f untracked_formatted "$untracked_format" "u:$untracked"
 | 
			
		||||
    if [[ -n "$untracked_format" ]]; then
 | 
			
		||||
      ((
 | 
			
		||||
        untracked+=$(
 | 
			
		||||
          git ls-files \
 | 
			
		||||
            --other \
 | 
			
		||||
            --exclude-standard \
 | 
			
		||||
            2> /dev/null \
 | 
			
		||||
          | wc -l
 | 
			
		||||
        )
 | 
			
		||||
      ))
 | 
			
		||||
      if (( untracked > 0 )); then
 | 
			
		||||
        zformat -f untracked_formatted "$untracked_format" "u:$untracked"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    (( dirty = indexed + unindexed + untracked ))
 | 
			
		||||
  else
 | 
			
		||||
    # Use porcelain status for easy parsing.
 | 
			
		||||
    status_cmd="git status --porcelain --ignore-submodules=${ignore_submodules:-none}"
 | 
			
		||||
 | 
			
		||||
    # Get current status.
 | 
			
		||||
    while IFS=$'\n' read line; do
 | 
			
		||||
      # Count added, deleted, modified, renamed, unmerged, untracked, dirty.
 | 
			
		||||
      # T (type change) is undocumented, see http://git.io/FnpMGw.
 | 
			
		||||
      # For a table of scenarii, see http://i.imgur.com/2YLu1.png.
 | 
			
		||||
      [[ "$line" == ([ACDMT][\ MT]|[ACMT]D)\ * ]] && (( added++ ))
 | 
			
		||||
      [[ "$line" == [\ ACMRT]D\ * ]] && (( deleted++ ))
 | 
			
		||||
      [[ "$line" == ?[MT]\ * ]] && (( modified++ ))
 | 
			
		||||
      [[ "$line" == R?\ * ]] && (( renamed++ ))
 | 
			
		||||
      [[ "$line" == (AA|DD|U?|?U)\ * ]] && (( unmerged++ ))
 | 
			
		||||
      [[ "$line" == \?\?\ * ]] && (( untracked++ ))
 | 
			
		||||
      (( dirty++ ))
 | 
			
		||||
    done < <(${(z)status_cmd} 2> /dev/null)
 | 
			
		||||
 | 
			
		||||
    # Format added.
 | 
			
		||||
    if (( added > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:added' format 'added_format'
 | 
			
		||||
      zformat -f added_formatted "$added_format" "a:$added"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format deleted.
 | 
			
		||||
    if (( deleted > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:deleted' format 'deleted_format'
 | 
			
		||||
      zformat -f deleted_formatted "$deleted_format" "d:$deleted"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format modified.
 | 
			
		||||
    if (( modified > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:modified' format 'modified_format'
 | 
			
		||||
      zformat -f modified_formatted "$modified_format" "m:$modified"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format renamed.
 | 
			
		||||
    if (( renamed > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:renamed' format 'renamed_format'
 | 
			
		||||
      zformat -f renamed_formatted "$renamed_format" "r:$renamed"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format unmerged.
 | 
			
		||||
    if (( unmerged > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:unmerged' format 'unmerged_format'
 | 
			
		||||
      zformat -f unmerged_formatted "$unmerged_format" "U:$unmerged"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Format untracked.
 | 
			
		||||
    if (( untracked > 0 )); then
 | 
			
		||||
      zstyle -s ':prezto:module:git:info:untracked' format 'untracked_format'
 | 
			
		||||
      zformat -f untracked_formatted "$untracked_format" "u:$untracked"
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Format dirty and clean.
 | 
			
		||||
  if (( $dirty > 0 )); then
 | 
			
		||||
  if (( dirty > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:git:info:dirty' format 'dirty_format'
 | 
			
		||||
    zformat -f dirty_formatted "$dirty_format" "D:$dirty"
 | 
			
		||||
  else
 | 
			
		||||
@@ -342,30 +408,30 @@ function git-info {
 | 
			
		||||
  zstyle -a ':prezto:module:git:info:keys' format 'info_formats'
 | 
			
		||||
  for info_format in ${(k)info_formats}; do
 | 
			
		||||
    zformat -f REPLY "$info_formats[$info_format]" \
 | 
			
		||||
      "a:$added_formatted" \
 | 
			
		||||
      "A:$ahead_formatted" \
 | 
			
		||||
      "B:$behind_formatted" \
 | 
			
		||||
      "D:$dirty_formatted" \
 | 
			
		||||
      "R:$remote_formatted" \
 | 
			
		||||
      "S:$stashed_formatted" \
 | 
			
		||||
      "U:$unmerged_formatted" \
 | 
			
		||||
      "a:$added_formatted" \
 | 
			
		||||
      "b:$branch_formatted" \
 | 
			
		||||
      "C:$clean_formatted" \
 | 
			
		||||
      "c:$commit_formatted" \
 | 
			
		||||
      "d:$deleted_formatted" \
 | 
			
		||||
      "D:$dirty_formatted" \
 | 
			
		||||
      "i:$indexed_formatted" \
 | 
			
		||||
      "I:$unindexed_formatted" \
 | 
			
		||||
      "m:$modified_formatted" \
 | 
			
		||||
      "p:$position_formatted" \
 | 
			
		||||
      "R:$remote_formatted" \
 | 
			
		||||
      "r:$renamed_formatted" \
 | 
			
		||||
      "s:$action_formatted" \
 | 
			
		||||
      "S:$stashed_formatted" \
 | 
			
		||||
      "U:$unmerged_formatted" \
 | 
			
		||||
      "u:$untracked_formatted"
 | 
			
		||||
    git_info[$info_format]="$REPLY"
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  unset REPLY
 | 
			
		||||
  unset _git_info_executing
 | 
			
		||||
 | 
			
		||||
  return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
git-info "$@"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-root {
 | 
			
		||||
 | 
			
		||||
local root="$(git rev-parse --show-toplevel 2> /dev/null)"
 | 
			
		||||
 | 
			
		||||
if [[ -n "$root" ]]; then
 | 
			
		||||
@@ -15,3 +17,4 @@ else
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-stash-clear-interactive {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -21,3 +23,4 @@ if [[ -f "$(git-dir)/refs/stash" ]]; then
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-stash-dropped {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -21,3 +23,4 @@ git fsck --unreachable 2> /dev/null \
 | 
			
		||||
      --no-walk \
 | 
			
		||||
      --stdin
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-stash-recover {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -17,3 +19,4 @@ for commit in "$@"; do
 | 
			
		||||
    -m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-submodule-move {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -31,3 +33,4 @@ git submodule add "$url" "$dst"
 | 
			
		||||
 | 
			
		||||
return 0
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function git-submodule-remove {
 | 
			
		||||
 | 
			
		||||
if ! is-true "$(git rev-parse --is-inside-work-tree 2> /dev/null)"; then
 | 
			
		||||
  print "$0: not a repository work tree: $PWD" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
@@ -26,3 +28,4 @@ rm -rf "$(git-dir)/modules/${1}"
 | 
			
		||||
 | 
			
		||||
return 0
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -15,4 +15,3 @@ pmodload 'helper'
 | 
			
		||||
 | 
			
		||||
# Source module files.
 | 
			
		||||
source "${0:h}/alias.zsh"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
GNU Utility
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
Provides for the interactive use of GNU utilities on non-GNU 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.
 | 
			
		||||
`ls` instead of `gls`, is not recommended since scripts that target other
 | 
			
		||||
utilities will be broken.
 | 
			
		||||
 | 
			
		||||
However, for interactive use, prefixed commands can be wrapped in their
 | 
			
		||||
non-prefixed counterparts.
 | 
			
		||||
This module wraps GNU utilities in functions without a prefix for interactive
 | 
			
		||||
use.
 | 
			
		||||
 | 
			
		||||
This module must be loaded **before** the *utility* module.
 | 
			
		||||
 | 
			
		||||
@@ -20,7 +20,9 @@ Settings
 | 
			
		||||
To use a different prefix, add the following to *zpreztorc*, and replace 'g' with
 | 
			
		||||
the desired prefix:
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:gnu-utility' prefix 'g'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:gnu-utility' prefix 'g'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
@@ -30,4 +32,3 @@ Authors
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,13 +42,13 @@ _gnu_utility_cmds=(
 | 
			
		||||
  'libtool' 'libtoolize'
 | 
			
		||||
 | 
			
		||||
  # Miscellaneous
 | 
			
		||||
  'getopt' 'grep' 'indent' 'sed' 'tar' 'time' 'units' 'which'
 | 
			
		||||
  'getopt' 'grep' 'indent' 'make' 'sed' 'tar' 'time' 'units' 'which'
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Wrap GNU utilities in functions.
 | 
			
		||||
for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
 | 
			
		||||
  _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 "
 | 
			
		||||
      function ${_gnu_utility_cmd} {
 | 
			
		||||
        '${commands[${_gnu_utility_pcmd}]}' \"\$@\"
 | 
			
		||||
@@ -58,4 +58,3 @@ for _gnu_utility_cmd in "${_gnu_utility_cmds[@]}"; do
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
unset _gnu_utility_{p,cmds,cmd,pcmd}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,25 +0,0 @@
 | 
			
		||||
GPG-Agent
 | 
			
		||||
=========
 | 
			
		||||
 | 
			
		||||
Provides for an easier use of [gpg-agent][1].
 | 
			
		||||
 | 
			
		||||
Settings
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
### SSH-Agent Protocol Emulation
 | 
			
		||||
 | 
			
		||||
To enable SSH-Agent protocol emulation, add the following line to *zpreztorc*:
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:gpg-agent' ssh-support 'yes'
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][2].*
 | 
			
		||||
 | 
			
		||||
  - [Florian Walch](https://github.com/fwalch)
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: http://linux.die.net/man/1/gpg-agent
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
@@ -1,44 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# Provides for an easier use of gpg-agent.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Florian Walch <florian.walch@gmx.at>
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if (( ! $+commands[gpg-agent] )); then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
_gpg_env="$HOME/.gnupg/gpg-agent.env"
 | 
			
		||||
 | 
			
		||||
function _gpg-agent-start {
 | 
			
		||||
  local ssh_support
 | 
			
		||||
 | 
			
		||||
  zstyle -b ':prezto:module:gpg-agent' ssh-support 'ssh_support' \
 | 
			
		||||
    || ssh_support=''
 | 
			
		||||
 | 
			
		||||
  gpg-agent \
 | 
			
		||||
    --daemon ${ssh_support:+'--enable-ssh-support'}
 | 
			
		||||
    --write-env-file "${_gpg_env}" > /dev/null
 | 
			
		||||
 | 
			
		||||
  chmod 600 "${_gpg_env}"
 | 
			
		||||
  source "${_gpg_env}" > /dev/null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Source GPG agent settings, if applicable.
 | 
			
		||||
if [[ -s "${_gpg_env}" ]]; then
 | 
			
		||||
  source "${_gpg_env}" > /dev/null
 | 
			
		||||
  ps -ef | grep "${SSH_AGENT_PID}" | grep -q 'gpg-agent' || {
 | 
			
		||||
    _gpg-agent-start
 | 
			
		||||
  }
 | 
			
		||||
else
 | 
			
		||||
  _gpg-agent-start
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
export GPG_AGENT_INFO
 | 
			
		||||
export SSH_AUTH_SOCK
 | 
			
		||||
export SSH_AGENT_PID
 | 
			
		||||
export GPG_TTY="$(tty)"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										28
									
								
								modules/gpg/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								modules/gpg/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
			
		||||
GPG
 | 
			
		||||
===
 | 
			
		||||
 | 
			
		||||
Provides for an easier use of [GPG][1] by setting up [gpg-agent][2].
 | 
			
		||||
 | 
			
		||||
### SSH
 | 
			
		||||
 | 
			
		||||
To enable OpenSSH Agent protocol emulation, and make `gpg-agent` a drop-in
 | 
			
		||||
replacement for `ssh-agent`, add the following line to
 | 
			
		||||
*~/.gnupg/gpg-agent.conf*:
 | 
			
		||||
 | 
			
		||||
```conf
 | 
			
		||||
enable-ssh-support
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
When OpenSSH Agent protocol emulation is enabled, this module will load the SSH
 | 
			
		||||
module for additional processing.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][3].*
 | 
			
		||||
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: http://www.gnupg.org
 | 
			
		||||
[2]: http://linux.die.net/man/1/gpg-agent
 | 
			
		||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
							
								
								
									
										55
									
								
								modules/gpg/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								modules/gpg/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
#
 | 
			
		||||
# Provides for an easier use of GPG by setting up gpg-agent.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if (( ! $+commands[gpg-agent] )); then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Set the default paths to gpg-agent files.
 | 
			
		||||
_gpg_agent_conf="${GNUPGHOME:-$HOME/.gnupg}/gpg-agent.conf"
 | 
			
		||||
_gpg_agent_env="${TMPDIR:-/tmp}/gpg-agent.env.$UID"
 | 
			
		||||
 | 
			
		||||
# Load environment variables from previous run
 | 
			
		||||
source "$_gpg_agent_env" 2> /dev/null
 | 
			
		||||
 | 
			
		||||
# Start gpg-agent if not started.
 | 
			
		||||
if [[ -z "$GPG_AGENT_INFO" && ! -S "${GNUPGHOME:-$HOME/.gnupg}/S.gpg-agent" ]]; then
 | 
			
		||||
  # Start gpg-agent if not started.
 | 
			
		||||
  if ! ps -U "$LOGNAME" -o pid,ucomm | grep -q -- "${${${(s.:.)GPG_AGENT_INFO}[2]}:--1} gpg-agent"; then
 | 
			
		||||
    eval "$(gpg-agent --daemon | tee "$_gpg_agent_env")"
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Inform gpg-agent of the current TTY for user prompts.
 | 
			
		||||
export GPG_TTY="$(tty)"
 | 
			
		||||
 | 
			
		||||
# Integrate with the SSH module.
 | 
			
		||||
if grep '^enable-ssh-support' "$_gpg_agent_conf" &> /dev/null; then
 | 
			
		||||
  # Load required functions.
 | 
			
		||||
  autoload -Uz add-zsh-hook
 | 
			
		||||
 | 
			
		||||
  # Override the ssh-agent environment file default path.
 | 
			
		||||
  _ssh_agent_env="$_gpg_agent_env"
 | 
			
		||||
 | 
			
		||||
  # Load the SSH module for additional processing.
 | 
			
		||||
  pmodload 'ssh'
 | 
			
		||||
 | 
			
		||||
  # Updates the GPG-Agent TTY before every command since SSH does not set it.
 | 
			
		||||
  function _gpg-agent-update-tty {
 | 
			
		||||
    gpg-connect-agent UPDATESTARTUPTTY /bye >/dev/null
 | 
			
		||||
  }
 | 
			
		||||
  add-zsh-hook preexec _gpg-agent-update-tty
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Clean up.
 | 
			
		||||
unset _gpg_agent_{conf,env}
 | 
			
		||||
 | 
			
		||||
# Disable GUI prompts inside SSH.
 | 
			
		||||
if [[ -n "$SSH_CONNECTION" ]]; then
 | 
			
		||||
  export PINENTRY_USER_DATA='USE_CURSES=1'
 | 
			
		||||
fi
 | 
			
		||||
@@ -26,4 +26,3 @@ Authors
 | 
			
		||||
 | 
			
		||||
[1]: http://www.haskell.org/cabal/
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -10,12 +10,9 @@ if (( ! $+commands[ghc] )); then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Prepend Cabal per user directories to PATH/MANPATH.
 | 
			
		||||
if [[ "$OSTYPE" == darwin* ]]; then
 | 
			
		||||
# Prepend Cabal per user directories to PATH.
 | 
			
		||||
if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
 | 
			
		||||
  path=($HOME/Library/Haskell/bin(/N) $path)
 | 
			
		||||
  manpath=($HOME/Library/Haskell/man(/N) $manpath)
 | 
			
		||||
else
 | 
			
		||||
  path=($HOME/.cabal/bin(/N) $path)
 | 
			
		||||
  manpath=($HOME/.cabal/man(/N) $manpath)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,6 @@ Functions
 | 
			
		||||
  - `is-callable` checks if a name is a command, function, or alias.
 | 
			
		||||
  - `is-true` checks a boolean variable for "true".
 | 
			
		||||
  - `coalesce` prints the first non-empty string in the arguments array.
 | 
			
		||||
  - `zstyle-` defines a style if it is already not defined.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
@@ -23,4 +22,3 @@ Authors
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,14 +6,6 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Trap signals were generated with 'kill -l'.
 | 
			
		||||
# DEBUG, EXIT, and ZERR are Zsh signals.
 | 
			
		||||
_trap_signals=(
 | 
			
		||||
  ABRT ALRM BUS CHLD CONT EMT FPE HUP ILL INFO INT IO KILL PIPE PROF QUIT
 | 
			
		||||
  SEGV STOP SYS TERM TRAP TSTP TTIN TTOU URG USR1 USR2 VTALRM WINCH XCPU XFSZ
 | 
			
		||||
  DEBUG EXIT ZERR
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Adds a function name to a list to be called when a trap is triggered.
 | 
			
		||||
function add-zsh-trap {
 | 
			
		||||
  if (( $# < 2 )); then
 | 
			
		||||
@@ -21,7 +13,7 @@ function add-zsh-trap {
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [[ -z "$_trap_signals[(r)$1]" ]]; then
 | 
			
		||||
  if [[ -z "$signals[(r)$1]" ]]; then
 | 
			
		||||
    print "$0: unknown signal: $1" >&2
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
@@ -47,4 +39,3 @@ function add-zsh-trap {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
add-zsh-trap "$@"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ function is-autoloadable {
 | 
			
		||||
 | 
			
		||||
# Checks if a name is a command, function, or alias.
 | 
			
		||||
function is-callable {
 | 
			
		||||
  (( $+commands[$1] )) || (( $+functions[$1] )) || (( $+aliases[$1] ))
 | 
			
		||||
  (( $+commands[$1] || $+functions[$1] || $+aliases[$1] || $+builtins[$1] ))
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Checks a boolean variable for "true".
 | 
			
		||||
@@ -29,8 +29,3 @@ function coalesce {
 | 
			
		||||
  done
 | 
			
		||||
  return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Defines a style if it is already not defined.
 | 
			
		||||
function zstyle- {
 | 
			
		||||
  zstyle -T "$1" "$2" && zstyle "$@"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,8 +6,8 @@ the [Fish shell][2]'s history search feature, where the user can type in any
 | 
			
		||||
part of a previously entered command and press up and down to cycle through
 | 
			
		||||
matching commands.
 | 
			
		||||
 | 
			
		||||
If this module is used in conjuncture with the *syntax-highlighting* module, it
 | 
			
		||||
must be loaded **after** it.
 | 
			
		||||
If this module is used in conjunction with the *syntax-highlighting* module,
 | 
			
		||||
this module must be loaded **after** the *syntax-highlighting* module.
 | 
			
		||||
 | 
			
		||||
Contributors
 | 
			
		||||
------------
 | 
			
		||||
@@ -24,7 +24,9 @@ Settings
 | 
			
		||||
To enable case-sensitivity for this module only, add the following line to
 | 
			
		||||
*zpreztorc*:
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:history-substring-search' case-sensitive 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### Highlighting
 | 
			
		||||
 | 
			
		||||
@@ -34,7 +36,27 @@ positive results.
 | 
			
		||||
To enable highlighting for this module only, add the following line to
 | 
			
		||||
*zpreztorc*:
 | 
			
		||||
 | 
			
		||||
    zstyle ':prezto:module:history-substring-search' color 'yes'
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:history-substring-search' color 'yes'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To set the query found color, add the following line to *zpreztorc*:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:history-substring-search:color' found ''
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To set the query not found color, add the following line to *zpreztorc*:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:history-substring-search:color' not-found ''
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To set the search globbing flags, add the following line to *zpreztorc*:
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
zstyle ':prezto:module:history-substring-search' globbing-flags ''
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
@@ -47,4 +69,3 @@ Authors
 | 
			
		||||
[1]: https://github.com/zsh-users/zsh-history-substring-search
 | 
			
		||||
[2]: http://fishshell.com
 | 
			
		||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 Submodule modules/history-substring-search/external updated: 04c2eca00c...aae3388491
									
								
							@@ -10,14 +10,26 @@
 | 
			
		||||
pmodload 'editor'
 | 
			
		||||
 | 
			
		||||
# Source module files.
 | 
			
		||||
source "${0:h}/external/zsh-history-substring-search.zsh"
 | 
			
		||||
source "${0:h}/external/zsh-history-substring-search.zsh" || return 1
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Styles
 | 
			
		||||
# Search
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
zstyle -s ':prezto:module:history-substring-search:color' found \
 | 
			
		||||
  'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND' \
 | 
			
		||||
    || HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold'
 | 
			
		||||
 | 
			
		||||
zstyle -s ':prezto:module:history-substring-search:color' not-found \
 | 
			
		||||
  'HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND' \
 | 
			
		||||
    || HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold'
 | 
			
		||||
 | 
			
		||||
zstyle -s ':prezto:module:history-substring-search' globbing-flags \
 | 
			
		||||
  'HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS' \
 | 
			
		||||
    || HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i'
 | 
			
		||||
 | 
			
		||||
if zstyle -t ':prezto:module:history-substring-search' case-sensitive; then
 | 
			
		||||
  unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS
 | 
			
		||||
  HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS="${HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS//i}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if ! zstyle -t ':prezto:module:history-substring-search' color; then
 | 
			
		||||
@@ -28,7 +40,7 @@ fi
 | 
			
		||||
# Key Bindings
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
if [[ -n $key_info ]]; then
 | 
			
		||||
if [[ -n "$key_info" ]]; then
 | 
			
		||||
  # Emacs
 | 
			
		||||
  bindkey -M emacs "$key_info[Control]P" history-substring-search-up
 | 
			
		||||
  bindkey -M emacs "$key_info[Control]N" history-substring-search-down
 | 
			
		||||
@@ -42,5 +54,6 @@ if [[ -n $key_info ]]; then
 | 
			
		||||
    bindkey -M "$keymap" "$key_info[Up]" history-substring-search-up
 | 
			
		||||
    bindkey -M "$keymap" "$key_info[Down]" history-substring-search-down
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
  unset keymap
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -41,4 +41,3 @@ Authors
 | 
			
		||||
 | 
			
		||||
[1]: http://zsh.sourceforge.net/Guide/zshguide02.html#l16
 | 
			
		||||
[2]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								modules/homebrew/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								modules/homebrew/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
			
		||||
Homebrew
 | 
			
		||||
========
 | 
			
		||||
 | 
			
		||||
Defines Homebrew aliases.
 | 
			
		||||
 | 
			
		||||
Aliases
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
### Homebrew
 | 
			
		||||
 | 
			
		||||
  - `brewc` cleans outdated brews and their cached archives.
 | 
			
		||||
  - `brewC` cleans outdated brews, including keg-only, and their cached archives.
 | 
			
		||||
  - `brewi` installs a formula.
 | 
			
		||||
  - `brewl` lists installed formulae.
 | 
			
		||||
  - `brewo` lists brews which have an update available.
 | 
			
		||||
  - `brews` searches for a formula.
 | 
			
		||||
  - `brewu` updates and upgrades Homebrew packages and formulae.
 | 
			
		||||
  - `brewx` uninstalls a formula.
 | 
			
		||||
 | 
			
		||||
### Homebrew Cask
 | 
			
		||||
 | 
			
		||||
  - `cask` is aliased to `brew cask`.
 | 
			
		||||
  - `caskc` cleans up old cached downloads.
 | 
			
		||||
  - `caskC` cleans up all cached downloads.
 | 
			
		||||
  - `caski` installs a cask.
 | 
			
		||||
  - `caskl` lists installed casks.
 | 
			
		||||
  - `casko` lists casks which have an update available.
 | 
			
		||||
  - `casks` searches for a cask.
 | 
			
		||||
  - `caskx` uninstalls a cask.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][1].*
 | 
			
		||||
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
  - [Griffin Yourick](https://github.com/tough-griff)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
							
								
								
									
										35
									
								
								modules/homebrew/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								modules/homebrew/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
#
 | 
			
		||||
# Defines Homebrew aliases.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Aliases
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Homebrew
 | 
			
		||||
alias brewc='brew cleanup'
 | 
			
		||||
alias brewC='brew cleanup --force'
 | 
			
		||||
alias brewi='brew install'
 | 
			
		||||
alias brewl='brew list'
 | 
			
		||||
alias brewo='brew outdated'
 | 
			
		||||
alias brews='brew search'
 | 
			
		||||
alias brewu='brew update && brew upgrade'
 | 
			
		||||
alias brewx='brew remove'
 | 
			
		||||
 | 
			
		||||
# Homebrew Cask
 | 
			
		||||
alias cask='brew cask'
 | 
			
		||||
alias caskc='brew cask cleanup --outdated'
 | 
			
		||||
alias caskC='brew cask cleanup'
 | 
			
		||||
alias caski='brew cask install'
 | 
			
		||||
alias caskl='brew cask list'
 | 
			
		||||
alias casko='brew cask outdated'
 | 
			
		||||
alias casks='brew cask search'
 | 
			
		||||
alias caskx='brew cask uninstall'
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
Macports
 | 
			
		||||
MacPorts
 | 
			
		||||
========
 | 
			
		||||
 | 
			
		||||
Defines MacPorts aliases and adds MacPorts directories to path variables.
 | 
			
		||||
@@ -23,4 +23,3 @@ Authors
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,18 +15,6 @@ fi
 | 
			
		||||
# Paths
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Set the list of directories that info searches for manuals.
 | 
			
		||||
infopath=(
 | 
			
		||||
  /opt/local/share/info
 | 
			
		||||
  $infopath
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Set the list of directories that man searches for manuals.
 | 
			
		||||
manpath=(
 | 
			
		||||
  /opt/local/share/man
 | 
			
		||||
  $manpath
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Set the list of directories that Zsh searches for programs.
 | 
			
		||||
path=(
 | 
			
		||||
  /opt/local/{bin,sbin}
 | 
			
		||||
@@ -44,4 +32,3 @@ alias portU='sudo port selfupdate && sudo port upgrade outdated'
 | 
			
		||||
alias portu='sudo port upgrade'
 | 
			
		||||
alias portX='sudo port -u uninstall'
 | 
			
		||||
alias portx='sudo port uninstall'
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,43 @@
 | 
			
		||||
Node.js
 | 
			
		||||
=======
 | 
			
		||||
 | 
			
		||||
Provides utility functions for [Node.js][1] and loads [npm][2] completion.
 | 
			
		||||
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
 | 
			
		||||
enables [npm][2] completion.
 | 
			
		||||
 | 
			
		||||
nvm
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
[nvm][5] allows for managing multiple, isolated Node.js installations in the
 | 
			
		||||
home directory.
 | 
			
		||||
 | 
			
		||||
nodenv
 | 
			
		||||
------
 | 
			
		||||
 | 
			
		||||
[nodenv][6] does one thing well. nodenv is concerned solely with switching
 | 
			
		||||
Node versions. It's simple and predictable, Just Works, and is rock solid in
 | 
			
		||||
production. nodenv is forked from the popular [rbenv][7].
 | 
			
		||||
 | 
			
		||||
Functions
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
  - `node-doc` opens the Node.js online [API documentation][3] in the default
 | 
			
		||||
    browser.
 | 
			
		||||
  - `node-info` exposes information about the Node.js environment via the
 | 
			
		||||
    `$node_info` associative array.
 | 
			
		||||
 | 
			
		||||
Theming
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
To display the version number of the current Node.js version, define the
 | 
			
		||||
following style inside the `prompt_name_setup` function.
 | 
			
		||||
 | 
			
		||||
```sh
 | 
			
		||||
# %v - Node.js version.
 | 
			
		||||
zstyle ':prezto:module:node:info:version' format 'version:%v'
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
 | 
			
		||||
`node-info` in `prompt_name_preexec` hook function.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
@@ -15,9 +45,12 @@ Authors
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][4].*
 | 
			
		||||
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
  - [Zeh Rizzatti](https://github.com/zehrizzatti)
 | 
			
		||||
 | 
			
		||||
[1]: http://nodejs.org
 | 
			
		||||
[2]: http://npmjs.org
 | 
			
		||||
[3]: http://nodejs.org/api
 | 
			
		||||
[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
[5]: https://github.com/creationix/nvm
 | 
			
		||||
[6]: https://github.com/nodenv/nodenv
 | 
			
		||||
[7]: https://github.com/sstephenson/rbenv
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,14 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# TODO: Make the sections easier to use.
 | 
			
		||||
open "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
 | 
			
		||||
# function node-doc {
 | 
			
		||||
 | 
			
		||||
if [[ -z "$BROWSER" ]]; then
 | 
			
		||||
  print "$0: no web browser defined" >&2
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# TODO: Make the sections easier to use.
 | 
			
		||||
"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								modules/node/functions/node-info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								modules/node/functions/node-info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
#
 | 
			
		||||
# Exposes information about the Node.js environment via the $node_info
 | 
			
		||||
# associative array.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function node-info {
 | 
			
		||||
 | 
			
		||||
local version
 | 
			
		||||
local version_format
 | 
			
		||||
local version_formatted
 | 
			
		||||
 | 
			
		||||
unset node_info
 | 
			
		||||
typeset -gA node_info
 | 
			
		||||
 | 
			
		||||
if (( $+functions[nvm_version] )); then
 | 
			
		||||
  version="${$(nvm_version)#v}"
 | 
			
		||||
elif (( $+commands[nodenv] )); then
 | 
			
		||||
  version="${${$(nodenv version)#v}[(w)0]}"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ "$version" != (none|) ]]; then
 | 
			
		||||
  zstyle -s ':prezto:module:node:info:version' format 'version_format'
 | 
			
		||||
  zformat -f version_formatted "$version_format" "v:$version"
 | 
			
		||||
  node_info[version]="$version_formatted"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
@@ -1,18 +1,36 @@
 | 
			
		||||
#
 | 
			
		||||
# Completes npm.
 | 
			
		||||
# Loads the Node Version Manager and enables npm completion.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#   Zeh Rizzatti <zehrizzatti@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Load manually installed NVM into the shell session.
 | 
			
		||||
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
 | 
			
		||||
  source "$HOME/.nvm/nvm.sh"
 | 
			
		||||
 | 
			
		||||
# Load package manager installed NVM into the shell session.
 | 
			
		||||
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2> /dev/null)" ]]; then
 | 
			
		||||
  source "$(brew --prefix nvm)/nvm.sh"
 | 
			
		||||
 | 
			
		||||
# Load manually installed nodenv into the shell session.
 | 
			
		||||
elif [[ -s "$HOME/.nodenv/bin/nodenv" ]]; then
 | 
			
		||||
  path=("$HOME/.nodenv/bin" $path)
 | 
			
		||||
  eval "$(nodenv init - --no-rehash zsh)"
 | 
			
		||||
 | 
			
		||||
# Load package manager installed nodenv into the shell session.
 | 
			
		||||
elif (( $+commands[nodenv] )); then
 | 
			
		||||
  eval "$(nodenv init - --no-rehash zsh)"
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if (( ! $+commands[node] )); then
 | 
			
		||||
elif (( ! $+commands[node] )); then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Load NPM completion.
 | 
			
		||||
if (( $+commands[npm] )); then
 | 
			
		||||
  cache_file="${0:h}/cache.zsh"
 | 
			
		||||
  cache_file="${TMPDIR:-/tmp}/prezto-node-cache.$UID.zsh"
 | 
			
		||||
 | 
			
		||||
  if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
 | 
			
		||||
    # npm is slow; cache its output.
 | 
			
		||||
@@ -23,4 +41,3 @@ if (( $+commands[npm] )); then
 | 
			
		||||
 | 
			
		||||
  unset cache_file
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								modules/ocaml/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								modules/ocaml/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
OCaml
 | 
			
		||||
=====
 | 
			
		||||
 | 
			
		||||
Initializes [OCaml][1] package management.
 | 
			
		||||
 | 
			
		||||
OPAM
 | 
			
		||||
----
 | 
			
		||||
 | 
			
		||||
[OPAM][2] is a package manager for OCaml.
 | 
			
		||||
 | 
			
		||||
This module enables local package installation with OPAM by extending the
 | 
			
		||||
relevant path and OCaml variables.
 | 
			
		||||
 | 
			
		||||
### Usage
 | 
			
		||||
 | 
			
		||||
Install packages to your local package directory with `opam install`.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
 | 
			
		||||
*The authors of this module should be contacted via the [issue tracker][3].*
 | 
			
		||||
 | 
			
		||||
  - [Sebastian Wiesner](https://github.com/lunaryorn)
 | 
			
		||||
 | 
			
		||||
[1]: http://ocaml.org/
 | 
			
		||||
[2]: http://opam.ocamlpro.com/
 | 
			
		||||
[3]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
							
								
								
									
										14
									
								
								modules/ocaml/init.zsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								modules/ocaml/init.zsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
#
 | 
			
		||||
# Initializes OCaml package management.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sebastian Wiesner <lunaryorn@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Return if requirements are not found.
 | 
			
		||||
if [[ ! -f "$HOME/.opam/opam-init/init.zsh" ]]; then
 | 
			
		||||
  return 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Initialize OPAM.
 | 
			
		||||
source "$HOME/.opam/opam-init/init.zsh"
 | 
			
		||||
@@ -3,24 +3,39 @@ OSX
 | 
			
		||||
 | 
			
		||||
Defines [Mac OS X][1] aliases and functions.
 | 
			
		||||
 | 
			
		||||
Settings
 | 
			
		||||
--------
 | 
			
		||||
 | 
			
		||||
### Dash Keyword
 | 
			
		||||
 | 
			
		||||
To change the keyword used by `mand` to open man pages in [_Dash.app_][2] from
 | 
			
		||||
its default value of 'manpages', add the following line in *zpreztorc* and
 | 
			
		||||
replace the **keyword** with the one configured in [_Dash.app_][2].
 | 
			
		||||
 | 
			
		||||
```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
 | 
			
		||||
  - `ql` quick looks at files.
 | 
			
		||||
  - `rm-osx-cruft` deletes .DS\_Store, \_\_MACOSX cruft.
 | 
			
		||||
    changes the current working director to the current _Finder_ directory.
 | 
			
		||||
 | 
			
		||||
Functions
 | 
			
		||||
---------
 | 
			
		||||
 | 
			
		||||
  - `manb` opens _man_ pages in [_Bwana.app_][2].
 | 
			
		||||
  - `mand` opens _man_ pages in [_Dash.app_][2].
 | 
			
		||||
  - `manp` opens _man_ pages in _Preview.app_.
 | 
			
		||||
  - `pfd` prints the current _Finder_ directory.
 | 
			
		||||
  - `pfs` prints the current _Finder_ selection.
 | 
			
		||||
  - `tab` creates a new tab (works in both _Terminal_ and [_iTerm_][3]).
 | 
			
		||||
  - `trash` moves files and folders to _Trash_.
 | 
			
		||||
  - `ql` previews files in Quick Look.
 | 
			
		||||
  - `osx-rm-dir-metadata` deletes .DS\_Store, \_\_MACOSX cruft.
 | 
			
		||||
  - `osx-ls-download-history` displays the Mac OS X download history.
 | 
			
		||||
  - `osx-rm-download-history` deletes the Mac OS X download history.
 | 
			
		||||
 | 
			
		||||
Authors
 | 
			
		||||
-------
 | 
			
		||||
@@ -30,7 +45,6 @@ Authors
 | 
			
		||||
  - [Sorin Ionescu](https://github.com/sorin-ionescu)
 | 
			
		||||
 | 
			
		||||
[1]: http://www.apple.com/macosx/
 | 
			
		||||
[2]: http://bruji.com/bwana/
 | 
			
		||||
[2]: http://kapeli.com/dash
 | 
			
		||||
[3]: http://www.iterm2.com/
 | 
			
		||||
[4]: https://github.com/sorin-ionescu/prezto/issues
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,11 @@
 | 
			
		||||
#compdef manb manp
 | 
			
		||||
#compdef mand manp
 | 
			
		||||
#autoload
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Completes manb and manp.
 | 
			
		||||
# Completes mand and manp.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
_man
 | 
			
		||||
 | 
			
		||||
@@ -1,24 +0,0 @@
 | 
			
		||||
#
 | 
			
		||||
# Opens man pages in Bwana.app.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
function manb {
 | 
			
		||||
  local page
 | 
			
		||||
  if (( $# > 0 )); then
 | 
			
		||||
    for page in "$@"; do
 | 
			
		||||
      open "man:$page" 2>/dev/null
 | 
			
		||||
      if (( $? != 0 )); then
 | 
			
		||||
        print "$0: Bwana is not installed" >&2
 | 
			
		||||
        break
 | 
			
		||||
      fi
 | 
			
		||||
    done
 | 
			
		||||
  else
 | 
			
		||||
    print 'What manual page do you want?' >&2
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
manb "$@"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										23
									
								
								modules/osx/functions/mand
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								modules/osx/functions/mand
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
#
 | 
			
		||||
# Opens man pages in Dash.app.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
function mand {
 | 
			
		||||
  if (( $# > 0 )); then
 | 
			
		||||
    zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
 | 
			
		||||
    open "dash://$dashkw:$1" 2> /dev/null
 | 
			
		||||
    if (( $? != 0 )); then
 | 
			
		||||
      print "$0: Dash is not installed" >&2
 | 
			
		||||
      break
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    print 'What manual page do you want?' >&2
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  unset dashkw
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mand "$@"
 | 
			
		||||
@@ -17,4 +17,3 @@ function manp {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
manp "$@"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								modules/osx/functions/osx-ls-download-history
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/osx/functions/osx-ls-download-history
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
#
 | 
			
		||||
# Displays the Mac OS X download history.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function osx-ls-download-history {
 | 
			
		||||
 | 
			
		||||
local db
 | 
			
		||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
			
		||||
  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
			
		||||
    sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
							
								
								
									
										15
									
								
								modules/osx/functions/osx-rm-dir-metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								modules/osx/functions/osx-rm-dir-metadata
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
#
 | 
			
		||||
# Deletes .DS_Store and __MACOSX directories.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function osx-rm-dir-metadata {
 | 
			
		||||
 | 
			
		||||
find "${@:-$PWD}" \( \
 | 
			
		||||
  -type f -name '.DS_Store' -o \
 | 
			
		||||
  -type d -name '__MACOSX' \
 | 
			
		||||
\) -print0 | xargs -0 rm -rf
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
							
								
								
									
										17
									
								
								modules/osx/functions/osx-rm-download-history
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								modules/osx/functions/osx-rm-download-history
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
#
 | 
			
		||||
# Deletes the Mac OS X download history.
 | 
			
		||||
#
 | 
			
		||||
# Authors:
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# function osx-rm-download-history {
 | 
			
		||||
 | 
			
		||||
local db
 | 
			
		||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
 | 
			
		||||
  if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
 | 
			
		||||
    sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
@@ -5,9 +5,12 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
osascript 2>/dev/null <<EOF
 | 
			
		||||
# function pfd {
 | 
			
		||||
 | 
			
		||||
osascript 2> /dev/null <<EOF
 | 
			
		||||
  tell application "Finder"
 | 
			
		||||
    return POSIX path of (target of window 1 as alias)
 | 
			
		||||
    return POSIX path of (target of first window as text)
 | 
			
		||||
  end tell
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,14 +5,15 @@
 | 
			
		||||
#   Sorin Ionescu <sorin.ionescu@gmail.com>
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
osascript 2>/dev/null <<EOF
 | 
			
		||||
  set output to ""
 | 
			
		||||
# function pfs {
 | 
			
		||||
 | 
			
		||||
osascript 2>&1 <<EOF
 | 
			
		||||
  tell application "Finder" to set the_selection to selection
 | 
			
		||||
  set item_count to count the_selection
 | 
			
		||||
  repeat with item_index from 1 to count the_selection
 | 
			
		||||
    if item_index is less than item_count then set the_delimiter to "\n"
 | 
			
		||||
    if item_index is item_count then set the_delimiter to ""
 | 
			
		||||
    set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter
 | 
			
		||||
  end repeat
 | 
			
		||||
  if the_selection is not {}
 | 
			
		||||
    repeat with an_item in the_selection
 | 
			
		||||
      log POSIX path of (an_item as text)
 | 
			
		||||
    end repeat
 | 
			
		||||
  end if
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
# }
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user