mirror of
				https://github.com/sharkdp/bat.git
				synced 2025-10-31 07:04:04 +00:00 
			
		
		
		
	Compare commits
	
		
			981 Commits
		
	
	
		
			v0.15.1
			...
			ci-experim
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 8244eb8ef8 | ||
|  | ff70a80741 | ||
|  | ecdb17148d | ||
|  | 11bd523f7e | ||
|  | 01fbedc246 | ||
|  | 05e4e1f2f2 | ||
|  | 20223ad77c | ||
|  | 51edacb5eb | ||
|  | 5197ef9048 | ||
|  | 19678527e5 | ||
|  | 5d319dee94 | ||
|  | 43e1a11ad8 | ||
|  | ed09f90e5e | ||
|  | cbd96237fd | ||
|  | f5c1cb2dff | ||
|  | 5eb93a6eae | ||
|  | 25fa577cd0 | ||
|  | deddc81426 | ||
|  | 133b06e945 | ||
|  | 699f1e65cc | ||
|  | 9ef87dab27 | ||
|  | 5125e9c941 | ||
|  | 6c62ed5608 | ||
|  | bf78288e9e | ||
|  | f8498b260b | ||
|  | 79f08588c6 | ||
|  | 2d92a4dbb3 | ||
|  | f508ddf66d | ||
|  | 02218c916c | ||
|  | 89217e0d58 | ||
|  | cb4973987b | ||
|  | 905902d811 | ||
|  | c83e382eac | ||
|  | f6975e2acd | ||
|  | d8b813c0bf | ||
|  | 5236ed135e | ||
|  | 47d955a2ab | ||
|  | bd797c75a4 | ||
|  | 05c11964fc | ||
|  | 8ecd23eab4 | ||
|  | 1ef0206f24 | ||
|  | 6694aa369e | ||
|  | 0331d28ee4 | ||
|  | 51c7eb7ac1 | ||
|  | 5516bcb839 | ||
|  | 056b966501 | ||
|  | 28eca6a2be | ||
|  | b7fd55242e | ||
|  | 8161955cc7 | ||
|  | 3b020fd95a | ||
|  | 697d106bd4 | ||
|  | 50e1c6074f | ||
|  | a610987ef7 | ||
|  | a7fd9f4b1b | ||
|  | 5f5b77cdda | ||
|  | 83808a63be | ||
|  | 6d5ff671e7 | ||
|  | ffdf349a96 | ||
|  | f3d53b79a2 | ||
|  | 6acec2c074 | ||
|  | 1bac3750df | ||
|  | b040efff79 | ||
|  | a81009607a | ||
|  | c0e09662b4 | ||
|  | ccf4563573 | ||
|  | fb1ab09e3e | ||
|  | f464b1ba39 | ||
|  | 2ea6348b85 | ||
|  | 6e536ab06d | ||
|  | 7537e309d8 | ||
|  | 84e2a2e5d1 | ||
|  | f6fc826dc6 | ||
|  | 375d55aa5d | ||
|  | 6ef2bb3283 | ||
|  | fc0794a83d | ||
|  | 589df6792f | ||
|  | 945bba777b | ||
|  | 64763eafbe | ||
|  | 3da4651569 | ||
|  | 311ed2feca | ||
|  | 33c11d64f0 | ||
|  | a4b674902f | ||
|  | 3fa09dbe2e | ||
|  | bf2b2df9c9 | ||
|  | 3617c98cf5 | ||
|  | 774d36c989 | ||
|  | 6abd61865f | ||
|  | 3c59b98dc8 | ||
|  | 21338ed789 | ||
|  | dc8ab0b5ce | ||
|  | ddb39ef2f6 | ||
|  | 355e62efe9 | ||
|  | fddd11a205 | ||
|  | 8b37e62cf3 | ||
|  | 4296d47dcb | ||
|  | 42f1ef019a | ||
|  | fe8e526292 | ||
|  | 0e9d612173 | ||
|  | 06c601bc7c | ||
|  | 229fbc1a18 | ||
|  | e05f5010da | ||
|  | 073b9968c0 | ||
|  | d3aa17ae77 | ||
|  | 4187eed12b | ||
|  | 12ecb325c9 | ||
|  | 90e48e9b61 | ||
|  | 35f31270f3 | ||
|  | 2a71852070 | ||
|  | c8dd32802d | ||
|  | 71f04dc0e8 | ||
|  | 49f8bbfee4 | ||
|  | f4217eba73 | ||
|  | 14900f6ed8 | ||
|  | c18afcb01a | ||
|  | 63043d4a60 | ||
|  | 76034880ae | ||
|  | 768189859a | ||
|  | 6e5a2a5c51 | ||
|  | 9935c4984c | ||
|  | a0a5e30c39 | ||
|  | 4126bbeead | ||
|  | a5b79295d7 | ||
|  | e917784932 | ||
|  | f46b90d28d | ||
|  | 64cbfbed47 | ||
|  | 1ced35ec76 | ||
|  | 16d346773b | ||
|  | b02120cf66 | ||
|  | 702b5caf2d | ||
|  | d395f64f58 | ||
|  | c9627040cc | ||
|  | b1f69434f9 | ||
|  | bcca56e3b1 | ||
|  | 2f98610929 | ||
|  | 89539ff247 | ||
|  | aa74d19940 | ||
|  | cf7d9ef962 | ||
|  | 425a0f90e9 | ||
|  | a27814db8e | ||
|  | 9702f5256c | ||
|  | 23fd11e806 | ||
|  | 304ee1489c | ||
|  | 07d4179274 | ||
|  | 1439dde265 | ||
|  | bef0bf1654 | ||
|  | 8435cad602 | ||
|  | 52c11fe23d | ||
|  | 6fc9641f6a | ||
|  | 8b6341458b | ||
|  | 8b787b4f70 | ||
|  | ef5154d5b3 | ||
|  | 7c49919297 | ||
|  | 395a169104 | ||
|  | 93f710bdff | ||
|  | 170badfdd1 | ||
|  | 978b9adc56 | ||
|  | 3aea51455b | ||
|  | f827ed338b | ||
|  | 73dab51ad1 | ||
|  | 9328007d05 | ||
|  | 8d173cd960 | ||
|  | fb0f12a221 | ||
|  | 9866408b72 | ||
|  | aaac56d895 | ||
|  | 516da7719f | ||
|  | d4df0b4405 | ||
|  | bfa9c3bef6 | ||
|  | 2904f24ea8 | ||
|  | 91a347bf6d | ||
|  | e219c8fc03 | ||
|  | 9eb26b702c | ||
|  | c933be926d | ||
|  | fc88040b31 | ||
|  | 5db3c93057 | ||
|  | aa442b5795 | ||
|  | 09711cd6f9 | ||
|  | b16cacc758 | ||
|  | 51451a9636 | ||
|  | fbc03da997 | ||
|  | 1a610dbdd2 | ||
|  | a30e3c9066 | ||
|  | 613b41e357 | ||
|  | d405aa98d5 | ||
|  | 285b1556a9 | ||
|  | 8321cc661c | ||
|  | 848ceb6f10 | ||
|  | 3559079de0 | ||
|  | b3ab843954 | ||
|  | 867cf63dd9 | ||
|  | 0b44aa6f68 | ||
|  | aa09a9dc04 | ||
|  | 7c4edacb2b | ||
|  | 782ede5db5 | ||
|  | 1537733e6b | ||
|  | ba0d43672b | ||
|  | 4384d25c79 | ||
|  | b6e3786529 | ||
|  | 6fff01397d | ||
|  | 0cd52e5be1 | ||
|  | c14dd34dca | ||
|  | e04fbd1992 | ||
|  | d89fa3ebc2 | ||
|  | db57454f3f | ||
|  | 8f93844427 | ||
|  | 52f84b063c | ||
|  | 2e7f2b6c07 | ||
|  | 35347c2310 | ||
|  | b489fc75c9 | ||
|  | fc24cb2a77 | ||
|  | 2540311cdf | ||
|  | 3880888286 | ||
|  | 5a806c2149 | ||
|  | 8a926d511a | ||
|  | 8885285b10 | ||
|  | d1f0181947 | ||
|  | b147443c32 | ||
|  | b8a18d3ebb | ||
|  | 694b31909a | ||
|  | a98811b6d7 | ||
|  | cfc505e1e5 | ||
|  | 3af3549232 | ||
|  | 643f0bcbe3 | ||
|  | 9db9a38565 | ||
|  | ca60937c2e | ||
|  | 2aa3ed9da8 | ||
|  | 7768433d09 | ||
|  | c569774e1a | ||
|  | 0371f55541 | ||
|  | bc35592fd9 | ||
|  | f5d834407e | ||
|  | 557a748ac7 | ||
|  | 3f10f71ad2 | ||
|  | 7b6388b19f | ||
|  | b98ec4bbc5 | ||
|  | 94fd481f36 | ||
|  | 94496df3b0 | ||
|  | 0e5ea9c354 | ||
|  | 7eabb5e05a | ||
|  | 9ad401be87 | ||
|  | f874c8e4db | ||
|  | 025c5c061b | ||
|  | 573f34d757 | ||
|  | eac36dd3b5 | ||
|  | 70cf8a4ec5 | ||
|  | 37d0d8984c | ||
|  | 2e8c0a39db | ||
|  | deec2902e4 | ||
|  | e3343759b7 | ||
|  | fa72f86e17 | ||
|  | 6527126e50 | ||
|  | 4aec022065 | ||
|  | a26c5b8219 | ||
|  | d36b091fd7 | ||
|  | 3dcf02549e | ||
|  | e402011a73 | ||
|  | dc1620d1f0 | ||
|  | c48e779e8a | ||
|  | dd0d44bbb3 | ||
|  | 060b9981b5 | ||
|  | b25713938d | ||
|  | 5b09561114 | ||
|  | fcde4824d5 | ||
|  | b0e5828d3f | ||
|  | b7d499d1be | ||
|  | 1ae16fca90 | ||
|  | 0e2bef3b79 | ||
|  | 221c9815a5 | ||
|  | c5c683f67c | ||
|  | 149a0177cd | ||
|  | 252e5a6b13 | ||
|  | faa27ed6e3 | ||
|  | f3227c259e | ||
|  | 2cfeebab90 | ||
|  | 8dd67cca0c | ||
|  | eda72c31b2 | ||
|  | 7809008016 | ||
|  | c2c2b0211a | ||
|  | dd6f57e107 | ||
|  | dfe7a60140 | ||
|  | fc30277cfa | ||
|  | 02e6ff4183 | ||
|  | e3b1142364 | ||
|  | 8832ff3c6a | ||
|  | 505ff10dc6 | ||
|  | 9a3a5545e7 | ||
|  | 43919066ad | ||
|  | 7ada963ec2 | ||
|  | 4c523af1ab | ||
|  | c5c28eb05b | ||
|  | 22924532d0 | ||
|  | 7c227169a4 | ||
|  | 8e4b0b4377 | ||
|  | 6d27df3b77 | ||
|  | 73d14f4655 | ||
|  | 19b8c53c46 | ||
|  | cd7be018fe | ||
|  | 03a2710a08 | ||
|  | 09fbabb0b8 | ||
|  | de6cb75f4b | ||
|  | 83c9cb7907 | ||
|  | 7ffb04a17a | ||
|  | c38c186d26 | ||
|  | e22a9a69b1 | ||
|  | 59f9adc706 | ||
|  | fed30b1b36 | ||
|  | 411d68e839 | ||
|  | 77d42a17c6 | ||
|  | e7c55bffe9 | ||
|  | da10166625 | ||
|  | b6b7262962 | ||
|  | 3ed83913b2 | ||
|  | 63460f4bf9 | ||
|  | c67b439752 | ||
|  | 2b44940f81 | ||
|  | 26136be903 | ||
|  | 6a52f69b58 | ||
|  | 60406c7c2d | ||
|  | 2465438ec3 | ||
|  | 99a61580e1 | ||
|  | dec94b4111 | ||
|  | ebb97e94a9 | ||
|  | 5e1f9fadf4 | ||
|  | fe08de846d | ||
|  | 35e3c51b75 | ||
|  | 59c9105c25 | ||
|  | b458292a69 | ||
|  | 78aed2cb69 | ||
|  | 46487b201f | ||
|  | 939a6a5f4d | ||
|  | caf0743811 | ||
|  | 9ccb667653 | ||
|  | b600f62ab6 | ||
|  | ace655e164 | ||
|  | 21ae26cb17 | ||
|  | 478233f795 | ||
|  | e87c554ccd | ||
|  | df33ed05dd | ||
|  | c9efdd68ed | ||
|  | 8381945cb5 | ||
|  | 2046b47739 | ||
|  | 0c302f088a | ||
|  | a41db63907 | ||
|  | 3573c48e98 | ||
|  | e94980bfd0 | ||
|  | 5422982207 | ||
|  | 4fe5497d19 | ||
|  | 1b549ecc66 | ||
|  | b5bdba8b16 | ||
|  | 522c97f5ad | ||
|  | 7fbb3a5352 | ||
|  | b3f34529b5 | ||
|  | d388d07e9f | ||
|  | c76e27851c | ||
|  | 8c0dcf3b57 | ||
|  | 962b3a78c0 | ||
|  | aa5b941ed5 | ||
|  | af8a8035e8 | ||
|  | 037a66c57b | ||
|  | 1a04dcf10f | ||
|  | 2eae8b578e | ||
|  | 17189fce9b | ||
|  | a0225018e6 | ||
|  | 361b7aa0da | ||
|  | 334590932a | ||
|  | 3f4638204f | ||
|  | 5e7061b9f6 | ||
|  | 7a1cd5226f | ||
|  | 285ac75738 | ||
|  | 00ff54be4e | ||
|  | aab35e3faa | ||
|  | bfa5342331 | ||
|  | c0d945c0ac | ||
|  | 22bdc7c20f | ||
|  | 3ed0081f1f | ||
|  | 6d0e7650c3 | ||
|  | 552545fe5f | ||
|  | dcfe883f4b | ||
|  | f45fa5e187 | ||
|  | 05e9da390f | ||
|  | cc0f8ca813 | ||
|  | 9c16571347 | ||
|  | 2765c6ba3b | ||
|  | 28f3f3c9c9 | ||
|  | 73d9a95862 | ||
|  | 9c9a9ac452 | ||
|  | 29ea396c31 | ||
|  | 171d215f91 | ||
|  | cc6109a751 | ||
|  | 47bb4a9c0f | ||
|  | b149ea91dd | ||
|  | 6d1c7d5f57 | ||
|  | 07bd7503c5 | ||
|  | 1b5af89ddd | ||
|  | 3d07dec8fd | ||
|  | a63bb08eda | ||
|  | e0207f8167 | ||
|  | 3099f51ba7 | ||
|  | 19e7763f35 | ||
|  | 73cff42ec9 | ||
|  | b349155f2f | ||
|  | ab4c120ea5 | ||
|  | 947133d295 | ||
|  | bf96e6e642 | ||
|  | cffacad306 | ||
|  | cc7b89faf8 | ||
|  | c1e4746d50 | ||
|  | 8331eec7fc | ||
|  | 0547068ed0 | ||
|  | 18d8389785 | ||
|  | 165d25d941 | ||
|  | c4fb77b042 | ||
|  | 973ea984c8 | ||
|  | 3e9afe2974 | ||
|  | 73c16574e6 | ||
|  | 60e00d49a9 | ||
|  | 2d22c705ba | ||
|  | 68d525cd8b | ||
|  | c3fc1b88fe | ||
|  | 84b0702399 | ||
|  | f3489ffa29 | ||
|  | 8e6ba2a3e1 | ||
|  | 48e799e7a6 | ||
|  | bc01999f0d | ||
|  | b0fcb3065f | ||
|  | 94d8cd5100 | ||
|  | 5596c6133b | ||
|  | 304332e380 | ||
|  | fb989d8c94 | ||
|  | 026220b960 | ||
|  | 543a253bc1 | ||
|  | 8f8e44e87a | ||
|  | 2da11097f9 | ||
|  | d124ebeced | ||
|  | 986d0e9777 | ||
|  | f4202361b4 | ||
|  | 6d981498d8 | ||
|  | bd2e9917da | ||
|  | a6810e3353 | ||
|  | 591eba66a3 | ||
|  | a5a9ac83e5 | ||
|  | 15b122a448 | ||
|  | 44a905d135 | ||
|  | 8884104e82 | ||
|  | 277cc5fa21 | ||
|  | 0cbd7d583c | ||
|  | 3c3fc92863 | ||
|  | e69d650598 | ||
|  | 9385c81882 | ||
|  | 1b84f9f1ae | ||
|  | d879fbd8a1 | ||
|  | 1fbdef06aa | ||
|  | f5531cc7fa | ||
|  | 2ccff145ed | ||
|  | 43b2ee5e71 | ||
|  | 51463a4b41 | ||
|  | 4f0116bee7 | ||
|  | 31793cfa62 | ||
|  | 6d75540d4e | ||
|  | ba5cbe208f | ||
|  | 2b82203041 | ||
|  | 35da065445 | ||
|  | 12a1fe3ad4 | ||
|  | 91057f2a09 | ||
|  | 15060f00a5 | ||
|  | 1a82a03d5d | ||
|  | 4674105698 | ||
|  | ca3e9a385f | ||
|  | f05c222221 | ||
|  | 3dc5fc54df | ||
|  | bac84b4c8b | ||
|  | a5b9a80216 | ||
|  | 142d5e60ec | ||
|  | 61f947a580 | ||
|  | c4bbf28862 | ||
|  | 9befa81e36 | ||
|  | 414c7ac83d | ||
|  | 3a612f063e | ||
|  | 9daea73bba | ||
|  | 8e8131590c | ||
|  | 3acfe790b9 | ||
|  | 877d9120c9 | ||
|  | c15b88f250 | ||
|  | 2889e017cd | ||
|  | 47ea99090f | ||
|  | 1c1ba04c41 | ||
|  | 456216ab37 | ||
|  | 49d7bf8c39 | ||
|  | dade4cc6f3 | ||
|  | c747ac181d | ||
|  | 9837948c3a | ||
|  | 072fb380d8 | ||
|  | 85594956cf | ||
|  | 88eba56607 | ||
|  | cc6cf48256 | ||
|  | e571cb553b | ||
|  | bf9f6e872d | ||
|  | 8348c1b746 | ||
|  | 0a9744ac95 | ||
|  | 95954b7c57 | ||
|  | a707f81726 | ||
|  | dae6664555 | ||
|  | 9dd807344c | ||
|  | 2ecebf8ff2 | ||
|  | 6d3cb5f99f | ||
|  | ec8072d51f | ||
|  | 7a7bb80e23 | ||
|  | 99ac5c3045 | ||
|  | efab00a9de | ||
|  | 9ab0801ee1 | ||
|  | cfdb853ea6 | ||
|  | 41e857ea16 | ||
|  | 5b2da2b08d | ||
|  | 5e0a608ea6 | ||
|  | 3729aefb6f | ||
|  | 8a2122b4a4 | ||
|  | cc6f6fdb1d | ||
|  | 5ec4936a4f | ||
|  | be84682bcb | ||
|  | b07f3b4e74 | ||
|  | fc1f37d3df | ||
|  | a3f037773a | ||
|  | c71c8980cf | ||
|  | 6bf7b79f13 | ||
|  | 5d9adc14e7 | ||
|  | 575888d81b | ||
|  | 3539d3e72d | ||
|  | bb25111ca9 | ||
|  | 3c756a65a6 | ||
|  | 8d574826c9 | ||
|  | 7c7eebbe83 | ||
|  | 57ad85814b | ||
|  | 4b2b419400 | ||
|  | b83716f0eb | ||
|  | 6872a4dd7f | ||
|  | 4d6b2fec13 | ||
|  | 57c1a7fd69 | ||
|  | bf78b74db4 | ||
|  | f80fba4d24 | ||
|  | d075d2b453 | ||
|  | 5650624822 | ||
|  | bf07b0be58 | ||
|  | eeea53759b | ||
|  | a39f1e0f9b | ||
|  | 1614f80366 | ||
|  | e293c58bb0 | ||
|  | 3015ebfba1 | ||
|  | d7da4f5f2b | ||
|  | c1af6ff2e6 | ||
|  | aa4000cb0d | ||
|  | 33128d75f2 | ||
|  | bf87f37039 | ||
|  | 62e715ff5b | ||
|  | b3903175c8 | ||
|  | de47bd2323 | ||
|  | 19b55706ee | ||
|  | 6c68198d19 | ||
|  | f3c760c25f | ||
|  | 24fe946c06 | ||
|  | de6680bdf2 | ||
|  | 0a28da0cd0 | ||
|  | a838ff47b5 | ||
|  | 8bd078caeb | ||
|  | bce304a800 | ||
|  | 206d3e7b91 | ||
|  | 4be32cf746 | ||
|  | 4ec6075f81 | ||
|  | aa00e0a6b0 | ||
|  | bb7fae72c9 | ||
|  | 7bd19640a2 | ||
|  | b7271a2a6d | ||
|  | ecde418abb | ||
|  | 51036ced9d | ||
|  | b6c1ec3a24 | ||
|  | 46004001cb | ||
|  | f10c8ce25e | ||
|  | acc370d345 | ||
|  | 457ab84065 | ||
|  | 3bcb5452aa | ||
|  | 1f0e53a44d | ||
|  | 2d5cf1d3cf | ||
|  | a81254ed2a | ||
|  | fdef133d3d | ||
|  | fd01f0a0ee | ||
|  | 5b095ed6f3 | ||
|  | e7a3f34959 | ||
|  | 06d0c8f056 | ||
|  | 4064b8ff14 | ||
|  | 83ecc3d3ac | ||
|  | 6615eceb18 | ||
|  | 53f5a37f01 | ||
|  | bbef2f41ec | ||
|  | b6e729abeb | ||
|  | 5fe98689d4 | ||
|  | 8832a96e82 | ||
|  | 09631ed119 | ||
|  | 9257c7ce20 | ||
|  | b30f9a1677 | ||
|  | e6c3f96931 | ||
|  | 85ff81f238 | ||
|  | 5e0b7f013a | ||
|  | aa205c6a9f | ||
|  | 44bfad24a1 | ||
|  | 13e01841ca | ||
|  | a999975bc9 | ||
|  | edf30e1fa1 | ||
|  | f41bf2082a | ||
|  | 894d3f1722 | ||
|  | 83d96e2bbb | ||
|  | e26ec31463 | ||
|  | e3bc41dbe6 | ||
|  | 7a180e22ff | ||
|  | 3609700b5e | ||
|  | 389f64df57 | ||
|  | e85064e4cf | ||
|  | dd95f8b5cb | ||
|  | 975487f630 | ||
|  | 4ba7546c65 | ||
|  | c97aa55163 | ||
|  | 2e1e30705a | ||
|  | c92ac809a5 | ||
|  | ec842e8d51 | ||
|  | 6d6e3900c3 | ||
|  | 0516a0d7a6 | ||
|  | adbbe158db | ||
|  | 6d2be4a305 | ||
|  | 78c9a5d45b | ||
|  | 5fa1645165 | ||
|  | bbf6ec0458 | ||
|  | e58b20f68d | ||
|  | 0ce697daba | ||
|  | a2dfadc6c8 | ||
|  | 6df8b3fe72 | ||
|  | b623adc6df | ||
|  | 2f77da7813 | ||
|  | 9897c99190 | ||
|  | aebc30447f | ||
|  | d2bae54ed0 | ||
|  | 501c369f39 | ||
|  | db3468a815 | ||
|  | 3aabed44ce | ||
|  | 3af7a6b082 | ||
|  | 2e985198c6 | ||
|  | 74a2ef8138 | ||
|  | 88ea21b276 | ||
|  | 62397dbd0b | ||
|  | 317b086f66 | ||
|  | 12340c1d10 | ||
|  | e747199711 | ||
|  | df7ce883c7 | ||
|  | eb3e2dca24 | ||
|  | 2d9b936b0a | ||
|  | 66c7aca2f6 | ||
|  | 0c3344d0c4 | ||
|  | 0ac211140a | ||
|  | 5d490664ca | ||
|  | d170dd305d | ||
|  | b50bd58795 | ||
|  | 1da279a290 | ||
|  | 100b9a470b | ||
|  | 43c2b36eaa | ||
|  | 203d0bd8ae | ||
|  | 14092fbadb | ||
|  | 35ad76771d | ||
|  | 96151c44aa | ||
|  | 02dcb01120 | ||
|  | 51d25e5859 | ||
|  | b8535689d3 | ||
|  | 8ff890635f | ||
|  | 29b6ba0758 | ||
|  | ca5793dbea | ||
|  | 0fdaa8e745 | ||
|  | 5a71044d5a | ||
|  | 8d091051af | ||
|  | 34da1ef9d6 | ||
|  | e31e35c46b | ||
|  | 6258dda0f8 | ||
|  | e6565b2134 | ||
|  | 2f9ecf9044 | ||
|  | a74d35582e | ||
|  | 8886faa019 | ||
|  | 4bd1b157ae | ||
|  | 1ecb70e082 | ||
|  | 9eed16beb4 | ||
|  | c432a064a4 | ||
|  | 2d1a92b7cc | ||
|  | cb31127b32 | ||
|  | 2beec1f3ea | ||
|  | 8d531b6436 | ||
|  | 30993a8bfc | ||
|  | 2258fb2713 | ||
|  | a46191b8bf | ||
|  | 9c4c3e965b | ||
|  | 31acbe20d3 | ||
|  | fd52c01e78 | ||
|  | 6ca5543648 | ||
|  | 83afcdcf49 | ||
|  | 59ca0069a6 | ||
|  | 6d6184500e | ||
|  | 1c24ec16e2 | ||
|  | 5efc0033a1 | ||
|  | c9237cccab | ||
|  | 02cd68db37 | ||
|  | e4df5643dc | ||
|  | 89b62d579f | ||
|  | 436a16aba6 | ||
|  | 32d22f464d | ||
|  | 71b2089384 | ||
|  | 57aa88a13a | ||
|  | 5ef35a10cf | ||
|  | f84aceec3d | ||
|  | f18009e5d5 | ||
|  | 83c7750656 | ||
|  | c477e23fe9 | ||
|  | 31fb7087f1 | ||
|  | 6bc477e88f | ||
|  | 52d6701f8f | ||
|  | f97634011e | ||
|  | a4ffc9d5ed | ||
|  | a86f3e5b81 | ||
|  | d9e8bbcb10 | ||
|  | 8b0886ac32 | ||
|  | aa182dad76 | ||
|  | 41a1952928 | ||
|  | 9885d4ebf0 | ||
|  | 222e080ce7 | ||
|  | 046409d7c9 | ||
|  | 5df449bcf3 | ||
|  | 6017989c4c | ||
|  | d349974089 | ||
|  | ccdea6a429 | ||
|  | fdf11326ef | ||
|  | 565a80305c | ||
|  | 57a8122a6b | ||
|  | bc5517da78 | ||
|  | ad18f070ae | ||
|  | e305402212 | ||
|  | d62b99f543 | ||
|  | 4d8133eb34 | ||
|  | 5cba5b9989 | ||
|  | 31f23123ef | ||
|  | b9dac6ca5d | ||
|  | c3f85c8372 | ||
|  | 7f5d6d9791 | ||
|  | 96d4cdb7cb | ||
|  | 9f1f3ab5e3 | ||
|  | 6e90f17a15 | ||
|  | 5b654480f4 | ||
|  | 803447e2a1 | ||
|  | 99c04a8740 | ||
|  | e4370d8d3f | ||
|  | 883cc964ae | ||
|  | 1d4cee11b7 | ||
|  | 9f91a7d797 | ||
|  | 4a6b4fb632 | ||
|  | 7c730d11c3 | ||
|  | 21de52ebea | ||
|  | cab5ddf6ae | ||
|  | b3657aef2b | ||
|  | b0f8841217 | ||
|  | febe335831 | ||
|  | cbe68ba84c | ||
|  | 9110b00e2e | ||
|  | 4b012de7db | ||
|  | 49370e2175 | ||
|  | 02a89d8ee8 | ||
|  | a70efae79b | ||
|  | 78a681f027 | ||
|  | 3a85fd767b | ||
|  | 2ffbe08eb1 | ||
|  | f9d5e81f0e | ||
|  | 00d1267bdd | ||
|  | 001ee34d01 | ||
|  | db157567fd | ||
|  | 9e0fab16ff | ||
|  | a9af4f4ca1 | ||
|  | 96d682ca49 | ||
|  | 7056bea9e0 | ||
|  | 63e13d8e54 | ||
|  | 81587b3578 | ||
|  | 663c7cf1d7 | ||
|  | 8705d018fd | ||
|  | 8c33a32256 | ||
|  | 37a720be06 | ||
|  | aacbdcfc44 | ||
|  | 794f3d08f4 | ||
|  | 3147f0536a | ||
|  | 42de486e94 | ||
|  | 54c9d7cdb2 | ||
|  | c8e394f3f0 | ||
|  | 4b65e6e443 | ||
|  | 5a6c65c589 | ||
|  | 75246fb25b | ||
|  | 0cc1084819 | ||
|  | 21eedaf76e | ||
|  | 2656c503a4 | ||
|  | 2b3457e8d6 | ||
|  | f5d606c4fc | ||
|  | 0e38c1728e | ||
|  | 6faf61552e | ||
|  | fcf5ec2f77 | ||
|  | 99819087f1 | ||
|  | 3956e96e74 | ||
|  | a0b89a68d9 | ||
|  | 62014c1094 | ||
|  | 58dcabffe6 | ||
|  | c264f74771 | ||
|  | f53ea60ed4 | ||
|  | 05027b7c74 | ||
|  | 3a62e3d188 | ||
|  | 963d9ee584 | ||
|  | 12e4fd138b | ||
|  | 3c5ce9f86c | ||
|  | 2461d22212 | ||
|  | 611c6e9c74 | ||
|  | 38efdb5148 | ||
|  | 5fdeeabb44 | ||
|  | b0d19752c6 | ||
|  | a95a577622 | ||
|  | ca44a80a42 | ||
|  | bf841e63bd | ||
|  | d357227e57 | ||
|  | 993d703ba0 | ||
|  | b449b82191 | ||
|  | bfac6fd85c | ||
|  | 2575aae945 | ||
|  | b0191cdf2c | ||
|  | fc121f0c87 | ||
|  | fa10b48c71 | ||
|  | d4db1c6af3 | ||
|  | f651e2cfca | ||
|  | 9d9f99c2d1 | ||
|  | 9c8dda1f9d | ||
|  | 89521a5134 | ||
|  | d11355f985 | ||
|  | 7ccda6e6e9 | ||
|  | 1de423c78b | ||
|  | 3943857087 | ||
|  | 27bb5c5976 | ||
|  | 3f614cb274 | ||
|  | 1e407d972f | ||
|  | 52b3c5fce4 | ||
|  | 5d53273ef4 | ||
|  | bf9faa9c28 | ||
|  | 0356b7f2c3 | ||
|  | 19c8558152 | ||
|  | a137db86a4 | ||
|  | 2a28f04e09 | ||
|  | 8dfa69fde4 | ||
|  | 541f014d50 | ||
|  | 233d375983 | ||
|  | b09d245dea | ||
|  | 44deddbbfe | ||
|  | aa8a2b1769 | ||
|  | 4cdac180d8 | ||
|  | d079bf86b1 | ||
|  | 62b4452057 | ||
|  | c3ec92a13f | ||
|  | c3230a68bb | ||
|  | d9f163f466 | ||
|  | d0da5af810 | ||
|  | a2b2ec467a | ||
|  | 83b3009f0f | ||
|  | 4ea70f8409 | ||
|  | 0d2ef02c9e | ||
|  | 2d7796284b | ||
|  | 19aa878a08 | ||
|  | 9f52012443 | ||
|  | e57e9b6dbb | ||
|  | 74e8373e34 | ||
|  | ec2722d465 | ||
|  | 9e2ea5fdd4 | ||
|  | 48b4a6a906 | ||
|  | 92e93682c6 | ||
|  | 99226b745f | ||
|  | 4840c7cd78 | ||
|  | 71ab4a2058 | ||
|  | a2c09b41bc | ||
|  | 0ef792ac1e | ||
|  | 01af28b781 | ||
|  | 3a7743ffc5 | ||
|  | 9cc8e52512 | ||
|  | 698a6b5acf | ||
|  | 7a51c7fd30 | ||
|  | 7c3e9f81cb | ||
|  | 6e3e7dafca | ||
|  | fca83bf79a | ||
|  | b8ffb8d463 | ||
|  | 1dae5bbc95 | ||
|  | 1a1932b67a | ||
|  | 8be375e75b | ||
|  | e63e4232db | ||
|  | cef04665eb | ||
|  | 76569b9527 | ||
|  | 1d46eb8ea3 | ||
|  | 6b79ac995e | ||
|  | ee928b034e | ||
|  | fc5790eb4a | ||
|  | 5213ffee0e | ||
|  | 5ebf0215c5 | ||
|  | 9957da6b93 | ||
|  | 342cae2dc6 | ||
|  | d2b26a5f1f | ||
|  | 9d08c0102e | ||
|  | a3357547ea | ||
|  | 7a9decad70 | ||
|  | c4d0d068e4 | ||
|  | c03a027240 | ||
|  | a8d7141c4c | ||
|  | 3eb704e016 | ||
|  | 0f06d3b90d | ||
|  | 589c94aa93 | ||
|  | 798b742617 | ||
|  | 11a72ab765 | ||
|  | 0319149b4d | ||
|  | 2f823d59b0 | ||
|  | 981352992b | ||
|  | 384ea38bd9 | ||
|  | 268c0963b4 | ||
|  | 8b481dd41f | ||
|  | 6f88ba0e6f | ||
|  | 9e65ecd03e | ||
|  | 9cb43ef64d | ||
|  | bb18ece8a4 | ||
|  | 2ab6474761 | ||
|  | fe20328ab7 | ||
|  | d84ac09abd | ||
|  | 69e6cae0a7 | ||
|  | 302707f3ce | ||
|  | 2e2043971b | ||
|  | e54e218e3b | ||
|  | bd17fd571f | ||
|  | 3f6e88b4be | ||
|  | 28af18ba27 | ||
|  | 8f1babf346 | ||
|  | fa25695b74 | ||
|  | 943b1f82b6 | ||
|  | b7a09516e7 | ||
|  | c4031ad65c | ||
|  | 2eaced4d30 | ||
|  | bdea2fe94c | ||
|  | c96ff30876 | ||
|  | 4c100cffdb | ||
|  | d6abad908a | ||
|  | f1129189ea | ||
|  | 7e84477408 | ||
|  | 6b86ab5cd0 | ||
|  | 5074b96cd5 | ||
|  | 3094ac90b7 | ||
|  | 35b6067496 | ||
|  | 5aa20c090b | ||
|  | 9c371ed8a2 | ||
|  | f03ab11623 | ||
|  | 887e61a99d | ||
|  | 0aca8cab0b | ||
|  | d08d1f8c45 | ||
|  | 403ab6e443 | ||
|  | b8687bc969 | ||
|  | 9166c9dd35 | ||
|  | cc52f79e42 | ||
|  | 59140b458c | ||
|  | 82981c9663 | ||
|  | 157b8dd848 | ||
|  | 1fb669ae1a | ||
|  | 7d07aa395a | ||
|  | c2c7070712 | ||
|  | daf06bb026 | ||
|  | 5b11b1ba47 | ||
|  | ee287447c5 | ||
|  | 257f978ceb | ||
|  | 8e803bdb02 | ||
|  | a265242e6e | ||
|  | 3aa9b31bda | ||
|  | c692c4770a | ||
|  | 6ceba56288 | ||
|  | 4be66f8b88 | ||
|  | 54a85d98f1 | ||
|  | 491a5a17f3 | ||
|  | b3373398e8 | ||
|  | 0040fef215 | ||
|  | 1a6e8d297f | ||
|  | f39487fca9 | 
							
								
								
									
										1
									
								
								.github/.codecov.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.github/.codecov.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| comment: false | ||||
							
								
								
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| github: [sharkdp, keith-hall, Enselic] | ||||
							
								
								
									
										48
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								.github/ISSUE_TEMPLATE/bug_report.md
									
									
									
									
										vendored
									
									
								
							| @@ -7,33 +7,41 @@ assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
| <!-- | ||||
| Hey there, thanks for creating an issue! | ||||
|  | ||||
| In order to reproduce your issue, we might need to know a little bit more about the environment | ||||
| which you're running `bat` on. | ||||
|  | ||||
| If you're on Linux or MacOS: | ||||
|   Please run the script at https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh and | ||||
|   paste the output at the bottom of the bug report. | ||||
|  | ||||
| If you're on Windows: | ||||
|   Please tell us about your Windows Version (e.g. "Windows 10 1908") at the | ||||
|   bottom of the bug report. | ||||
| --> | ||||
|  | ||||
| **What version of `bat` are you using?** | ||||
| [paste the output of `bat --version` here] | ||||
| <!-- Hey there, thank you for creating an issue! --> | ||||
|  | ||||
| **Describe the bug you encountered:** | ||||
|  | ||||
| ... | ||||
|  | ||||
| **Describe what you expected to happen?** | ||||
| **What did you expect to happen instead?** | ||||
|  | ||||
| ... | ||||
|  | ||||
|  | ||||
| **How did you install `bat`?** | ||||
| apt-get, homebrew, GitHub release, etc. | ||||
|  | ||||
| <!-- apt-get, homebrew, GitHub release, etc. --> | ||||
|  | ||||
| --- | ||||
|  | ||||
| [paste the output of `info.sh` here] | ||||
| **bat version and environment** | ||||
|  | ||||
| <!-- | ||||
| In order to reproduce your issue, please add some information about the environment | ||||
| in which you're running bat. To do this, run the full `bat` command that demonstrates | ||||
| the bug, and attach the `--diagnostic` option: | ||||
|  | ||||
|     bat [other options and arguments…] --diagnostic | ||||
|  | ||||
| Finally, paste the Markdown output here. Please make sure that it does not reveal any | ||||
| personal information. | ||||
|  | ||||
|  | ||||
| If you are running bat 0.17.1 or older (where --diagnostic is not available), please | ||||
| run the script at | ||||
|  | ||||
|     https://github.com/sharkdp/bat/blob/master/diagnostics/info.sh | ||||
|  | ||||
| (click "Raw" to get the actual source code) and paste the Markdown output here. If you | ||||
| are on Windows, please let us know your bat version and your Windows version. | ||||
| --> | ||||
|   | ||||
							
								
								
									
										1
									
								
								.github/ISSUE_TEMPLATE/config.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/ISSUE_TEMPLATE/config.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1 @@ | ||||
| blank_issues_enabled: true | ||||
|  | ||||
|   | ||||
							
								
								
									
										1
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/ISSUE_TEMPLATE/feature_request.md
									
									
									
									
										vendored
									
									
								
							| @@ -7,4 +7,3 @@ assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										1
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/ISSUE_TEMPLATE/question.md
									
									
									
									
										vendored
									
									
								
							| @@ -7,4 +7,3 @@ assignees: '' | ||||
|  | ||||
| --- | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										18
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| version: 2 | ||||
| updates: | ||||
| - package-ecosystem: cargo | ||||
|   directory: "/" | ||||
|   schedule: | ||||
|     interval: monthly | ||||
|     time: "04:00" | ||||
|     timezone: Europe/Berlin | ||||
|   ignore: | ||||
|   - dependency-name: git2 | ||||
|     versions: | ||||
|     - 0.13.17 | ||||
| - package-ecosystem: gitsubmodule | ||||
|   directory: "/" | ||||
|   schedule: | ||||
|     interval: monthly | ||||
|     time: "04:00" | ||||
|     timezone: Europe/Berlin | ||||
							
								
								
									
										428
									
								
								.github/workflows/CICD.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										428
									
								
								.github/workflows/CICD.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,428 @@ | ||||
| name: CICD | ||||
|  | ||||
| env: | ||||
|   MIN_SUPPORTED_RUST_VERSION: "1.45.0" | ||||
|   CICD_INTERMEDIATES_DIR: "_cicd-intermediates" | ||||
|  | ||||
| on: | ||||
|   workflow_dispatch: | ||||
|   pull_request: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|     tags: | ||||
|       - '*' | ||||
|  | ||||
| jobs: | ||||
|   min_version: | ||||
|     name: Minimum supported rust version | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|     - name: Checkout source code | ||||
|       uses: actions/checkout@v2 | ||||
|  | ||||
|     - name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }}) | ||||
|       uses: actions-rs/toolchain@v1 | ||||
|       with: | ||||
|         toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }} | ||||
|         default: true | ||||
|         profile: minimal # minimal component installation (ie, no documentation) | ||||
|         components: clippy, rustfmt | ||||
|     - name: Ensure `cargo fmt` has been run | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: fmt | ||||
|         args: -- --check | ||||
|     - name: Run clippy (on minimum supported rust version to prevent warnings we can't fix) | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: clippy | ||||
|         args: --locked --all-targets --all-features | ||||
|     - name: Run tests | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: test | ||||
|         args: --locked | ||||
|  | ||||
|   test_with_new_syntaxes_and_themes: | ||||
|     name: Run tests with updated syntaxes and themes | ||||
|     runs-on: ubuntu-20.04 | ||||
|     steps: | ||||
|     - name: Git checkout | ||||
|       uses: actions/checkout@v2 | ||||
|       with: | ||||
|         submodules: true # we need all syntax and theme submodules | ||||
|     - name: Install Rust toolchain | ||||
|       uses: actions-rs/toolchain@v1 | ||||
|       with: | ||||
|         toolchain: stable | ||||
|         default: true | ||||
|         profile: minimal | ||||
|     - name: Build and install bat | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: install | ||||
|         args: --locked --path . | ||||
|     - name: Rebuild binary assets (syntaxes and themes) | ||||
|       run: bash assets/create.sh | ||||
|     - name: Build and install bat with updated assets | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: install | ||||
|         args: --locked --path . | ||||
|     - name: Run unit tests with new syntaxes and themes | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: test | ||||
|         args: --locked --release | ||||
|     - name: Run ignored-by-default unit tests with new syntaxes and themes | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: test | ||||
|         args: --locked --release -- --ignored | ||||
|     - name: Syntax highlighting regression test | ||||
|       run: tests/syntax-tests/regression_test.sh | ||||
|     - name: List of languages | ||||
|       run: bat --list-languages | ||||
|     - name: List of themes | ||||
|       run: bat --list-themes | ||||
|     - name: Check documentation | ||||
|       env: | ||||
|         RUSTDOCFLAGS: -D warnings | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         command: doc | ||||
|         args: --locked --no-deps --document-private-items --all-features | ||||
|  | ||||
|   build: | ||||
|     name: ${{ matrix.job.os }} (${{ matrix.job.target }}) | ||||
|     runs-on: ${{ matrix.job.os }} | ||||
|     strategy: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         job: | ||||
|           - { os: ubuntu-20.04, target: arm-unknown-linux-gnueabihf , use-cross: true } | ||||
|           - { os: ubuntu-20.04, target: arm-unknown-linux-musleabihf, use-cross: true } | ||||
|           - { os: ubuntu-20.04, target: aarch64-unknown-linux-gnu   , use-cross: true } | ||||
|           - { os: ubuntu-20.04, target: i686-unknown-linux-gnu      , use-cross: true } | ||||
|           - { os: ubuntu-20.04, target: i686-unknown-linux-musl     , use-cross: true } | ||||
|           - { os: ubuntu-20.04, target: x86_64-unknown-linux-gnu    } | ||||
|           - { os: ubuntu-20.04, target: x86_64-unknown-linux-musl   , use-cross: true } | ||||
|           - { os: macos-10.15 , target: x86_64-apple-darwin         } | ||||
|           # - { os: windows-2019, target: i686-pc-windows-gnu         }  ## disabled; error: linker `i686-w64-mingw32-gcc` not found | ||||
|           - { os: windows-2019, target: i686-pc-windows-msvc        } | ||||
|           - { os: windows-2019, target: x86_64-pc-windows-gnu       } | ||||
|           - { os: windows-2019, target: x86_64-pc-windows-msvc      } | ||||
|     steps: | ||||
|     - name: Checkout source code | ||||
|       uses: actions/checkout@v2 | ||||
|  | ||||
|     - name: Install prerequisites | ||||
|       shell: bash | ||||
|       run: | | ||||
|         case ${{ matrix.job.target }} in | ||||
|           arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;; | ||||
|           aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;; | ||||
|         esac | ||||
|  | ||||
|     - name: Extract crate information | ||||
|       shell: bash | ||||
|       run: | | ||||
|         echo "PROJECT_NAME=$(sed -n 's/^name = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV | ||||
|         echo "PROJECT_VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' Cargo.toml | head -n1)" >> $GITHUB_ENV | ||||
|         echo "PROJECT_MAINTAINER=$(sed -n 's/^authors = \["\(.*\)"\]/\1/p' Cargo.toml)" >> $GITHUB_ENV | ||||
|         echo "PROJECT_HOMEPAGE=$(sed -n 's/^homepage = "\(.*\)"/\1/p' Cargo.toml)" >> $GITHUB_ENV | ||||
|  | ||||
|     - name: Install Rust toolchain | ||||
|       uses: actions-rs/toolchain@v1 | ||||
|       with: | ||||
|         toolchain: stable | ||||
|         target: ${{ matrix.job.target }} | ||||
|         override: true | ||||
|         profile: minimal # minimal component installation (ie, no documentation) | ||||
|  | ||||
|     - name: Show version information (Rust, cargo, GCC) | ||||
|       shell: bash | ||||
|       run: | | ||||
|         gcc --version || true | ||||
|         rustup -V | ||||
|         rustup toolchain list | ||||
|         rustup default | ||||
|         cargo -V | ||||
|         rustc -V | ||||
|  | ||||
|     - name: Build | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: build | ||||
|         args: --locked --release --target=${{ matrix.job.target }} | ||||
|  | ||||
|     - name: Strip debug information from executable | ||||
|       id: strip | ||||
|       shell: bash | ||||
|       run: | | ||||
|         # Figure out suffix of binary | ||||
|         EXE_suffix="" | ||||
|         case ${{ matrix.job.target }} in | ||||
|           *-pc-windows-*) EXE_suffix=".exe" ;; | ||||
|         esac; | ||||
|  | ||||
|         # Figure out what strip tool to use if any | ||||
|         STRIP="strip" | ||||
|         case ${{ matrix.job.target }} in | ||||
|           arm-unknown-linux-*) STRIP="arm-linux-gnueabihf-strip" ;; | ||||
|           aarch64-unknown-linux-gnu) STRIP="aarch64-linux-gnu-strip" ;; | ||||
|           *-pc-windows-msvc) STRIP="" ;; | ||||
|         esac; | ||||
|  | ||||
|         # Setup paths | ||||
|         BIN_DIR="${{ env.CICD_INTERMEDIATES_DIR }}/stripped-release-bin/" | ||||
|         mkdir -p "${BIN_DIR}" | ||||
|         BIN_NAME="${{ env.PROJECT_NAME }}${EXE_suffix}" | ||||
|         BIN_PATH="${BIN_DIR}/${BIN_NAME}" | ||||
|  | ||||
|         # Copy the release build binary to the result location | ||||
|         cp "target/${{ matrix.job.target }}/release/${BIN_NAME}" "${BIN_DIR}" | ||||
|  | ||||
|         # Also strip if possible | ||||
|         if [ -n "${STRIP}" ]; then | ||||
|           "${STRIP}" "${BIN_PATH}" | ||||
|         fi | ||||
|  | ||||
|         # Let subsequent steps know where to find the (stripped) bin | ||||
|         echo ::set-output name=BIN_PATH::${BIN_PATH} | ||||
|         echo ::set-output name=BIN_NAME::${BIN_NAME} | ||||
|  | ||||
|     - name: Run tests | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: test | ||||
|         args: --locked --target=${{ matrix.job.target }} | ||||
|  | ||||
|     - name: Run bat | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: run | ||||
|         args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs | ||||
|  | ||||
|     - name: Show diagnostics (bat --diagnostic) | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: run | ||||
|         args: --locked --target=${{ matrix.job.target }} -- --paging=never --color=always --theme=ansi Cargo.toml src/config.rs --diagnostic | ||||
|  | ||||
|     - name: "Feature check: regex-onig" | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: check | ||||
|         args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig | ||||
|  | ||||
|     - name: "Feature check: regex-onig,git" | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: check | ||||
|         args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git | ||||
|  | ||||
|     - name: "Feature check: regex-onig,paging" | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: check | ||||
|         args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,paging | ||||
|  | ||||
|     - name: "Feature check: regex-onig,git,paging" | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: check | ||||
|         args: --locked --target=${{ matrix.job.target }} --verbose --lib --no-default-features --features regex-onig,git,paging | ||||
|  | ||||
|     - name: "Feature check: minimal-application" | ||||
|       uses: actions-rs/cargo@v1 | ||||
|       with: | ||||
|         use-cross: ${{ matrix.job.use-cross }} | ||||
|         command: check | ||||
|         args: --locked --target=${{ matrix.job.target }} --verbose --no-default-features --features minimal-application | ||||
|  | ||||
|     - name: Create tarball | ||||
|       id: package | ||||
|       shell: bash | ||||
|       run: | | ||||
|         PKG_suffix=".tar.gz" ; case ${{ matrix.job.target }} in *-pc-windows-*) PKG_suffix=".zip" ;; esac; | ||||
|         PKG_BASENAME=${PROJECT_NAME}-v${PROJECT_VERSION}-${{ matrix.job.target }} | ||||
|         PKG_NAME=${PKG_BASENAME}${PKG_suffix} | ||||
|         echo ::set-output name=PKG_NAME::${PKG_NAME} | ||||
|  | ||||
|         PKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/package" | ||||
|         ARCHIVE_DIR="${PKG_STAGING}/${PKG_BASENAME}/" | ||||
|         mkdir -p "${ARCHIVE_DIR}" | ||||
|         mkdir -p "${ARCHIVE_DIR}/autocomplete" | ||||
|  | ||||
|         # Binary | ||||
|         cp "${{ steps.strip.outputs.BIN_PATH }}" "$ARCHIVE_DIR" | ||||
|  | ||||
|         # Man page | ||||
|         cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "$ARCHIVE_DIR" | ||||
|  | ||||
|         # README, LICENSE and CHANGELOG files | ||||
|         cp "README.md" "LICENSE-MIT" "LICENSE-APACHE" "CHANGELOG.md" "$ARCHIVE_DIR" | ||||
|  | ||||
|         # Autocompletion files | ||||
|         cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.bash "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.bash" | ||||
|         cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.fish" | ||||
|         cp 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "$ARCHIVE_DIR/autocomplete/${{ env.PROJECT_NAME }}.zsh" | ||||
|  | ||||
|         # base compressed package | ||||
|         pushd "${PKG_STAGING}/" >/dev/null | ||||
|         case ${{ matrix.job.target }} in | ||||
|           *-pc-windows-*) 7z -y a "${PKG_NAME}" "${PKG_BASENAME}"/* | tail -2 ;; | ||||
|           *) tar czf "${PKG_NAME}" "${PKG_BASENAME}"/* ;; | ||||
|         esac; | ||||
|         popd >/dev/null | ||||
|  | ||||
|         # Let subsequent steps know where to find the compressed package | ||||
|         echo ::set-output name=PKG_PATH::"${PKG_STAGING}/${PKG_NAME}" | ||||
|  | ||||
|     - name: Create Debian package | ||||
|       id: debian-package | ||||
|       shell: bash | ||||
|       if: startsWith(matrix.job.os, 'ubuntu') | ||||
|       run: | | ||||
|         COPYRIGHT_YEARS="2018 - "$(date "+%Y") | ||||
|         DPKG_STAGING="${{ env.CICD_INTERMEDIATES_DIR }}/debian-package" | ||||
|         DPKG_DIR="${DPKG_STAGING}/dpkg" | ||||
|         mkdir -p "${DPKG_DIR}" | ||||
|  | ||||
|         DPKG_BASENAME=${PROJECT_NAME} | ||||
|         DPKG_CONFLICTS=${PROJECT_NAME}-musl | ||||
|         case ${{ matrix.job.target }} in *-musl) DPKG_BASENAME=${PROJECT_NAME}-musl ; DPKG_CONFLICTS=${PROJECT_NAME} ;; esac; | ||||
|         DPKG_VERSION=${PROJECT_VERSION} | ||||
|  | ||||
|         unset DPKG_ARCH | ||||
|         case ${{ matrix.job.target }} in | ||||
|           aarch64-*-linux-*) DPKG_ARCH=arm64 ;; | ||||
|           arm-*-linux-*hf) DPKG_ARCH=armhf ;; | ||||
|           i686-*-linux-*) DPKG_ARCH=i686 ;; | ||||
|           x86_64-*-linux-*) DPKG_ARCH=amd64 ;; | ||||
|           *) DPKG_ARCH=notset ;; | ||||
|         esac; | ||||
|  | ||||
|         DPKG_NAME="${DPKG_BASENAME}_${DPKG_VERSION}_${DPKG_ARCH}.deb" | ||||
|         echo ::set-output name=DPKG_NAME::${DPKG_NAME} | ||||
|  | ||||
|         # Binary | ||||
|         install -Dm755 "${{ steps.strip.outputs.BIN_PATH }}" "${DPKG_DIR}/usr/bin/${{ steps.strip.outputs.BIN_NAME }}" | ||||
|  | ||||
|         # Man page | ||||
|         install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/manual/bat.1 "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1" | ||||
|         gzip -n --best "${DPKG_DIR}/usr/share/man/man1/${{ env.PROJECT_NAME }}.1" | ||||
|  | ||||
|         # Autocompletion files | ||||
|         install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.fish "${DPKG_DIR}/usr/share/fish/vendor_completions.d/${{ env.PROJECT_NAME }}.fish" | ||||
|         install -Dm644 'target/${{ matrix.job.target }}/release/build/${{ env.PROJECT_NAME }}'-*/out/assets/completions/bat.zsh "${DPKG_DIR}/usr/share/zsh/vendor-completions/_${{ env.PROJECT_NAME }}" | ||||
|  | ||||
|         # README and LICENSE | ||||
|         install -Dm644 "README.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/README.md" | ||||
|         install -Dm644 "LICENSE-MIT" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-MIT" | ||||
|         install -Dm644 "LICENSE-APACHE" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/LICENSE-APACHE" | ||||
|         install -Dm644 "CHANGELOG.md" "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog" | ||||
|         gzip -n --best "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/changelog" | ||||
|  | ||||
|         cat > "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" <<EOF | ||||
|         Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||||
|         Upstream-Name: ${{ env.PROJECT_NAME }} | ||||
|         Source: ${{ env.PROJECT_HOMEPAGE }} | ||||
|  | ||||
|         Files: * | ||||
|         Copyright: ${{ env.PROJECT_MAINTAINER }} | ||||
|         Copyright: $COPYRIGHT_YEARS ${{ env.PROJECT_MAINTAINER }} | ||||
|         License: Apache-2.0 or MIT | ||||
|  | ||||
|         License: Apache-2.0 | ||||
|           On Debian systems, the complete text of the Apache-2.0 can be found in the | ||||
|           file /usr/share/common-licenses/Apache-2.0. | ||||
|  | ||||
|         License: MIT | ||||
|           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. | ||||
|         EOF | ||||
|           chmod 644 "${DPKG_DIR}/usr/share/doc/${DPKG_BASENAME}/copyright" | ||||
|  | ||||
|           # control file | ||||
|           mkdir -p "${DPKG_DIR}/DEBIAN" | ||||
|           cat > "${DPKG_DIR}/DEBIAN/control" <<EOF | ||||
|         Package: ${DPKG_BASENAME} | ||||
|         Version: ${DPKG_VERSION} | ||||
|         Section: utils | ||||
|         Priority: optional | ||||
|         Maintainer: ${{ env.PROJECT_MAINTAINER }} | ||||
|         Homepage: ${{ env.PROJECT_HOMEPAGE }} | ||||
|         Architecture: ${DPKG_ARCH} | ||||
|         Provides: ${{ env.PROJECT_NAME }} | ||||
|         Conflicts: ${DPKG_CONFLICTS} | ||||
|         Description: cat(1) clone with wings. | ||||
|           A cat(1) clone with syntax highlighting and Git integration. | ||||
|         EOF | ||||
|  | ||||
|         DPKG_PATH="${DPKG_STAGING}/${DPKG_NAME}" | ||||
|         echo ::set-output name=DPKG_PATH::${DPKG_PATH} | ||||
|  | ||||
|         # build dpkg | ||||
|         fakeroot dpkg-deb --build "${DPKG_DIR}" "${DPKG_PATH}" | ||||
|  | ||||
|     - name: "Artifact upload: tarball" | ||||
|       uses: actions/upload-artifact@master | ||||
|       with: | ||||
|         name: ${{ steps.package.outputs.PKG_NAME }} | ||||
|         path: ${{ steps.package.outputs.PKG_PATH }} | ||||
|  | ||||
|     - name: "Artifact upload: Debian package" | ||||
|       uses: actions/upload-artifact@master | ||||
|       if: steps.debian-package.outputs.DPKG_NAME | ||||
|       with: | ||||
|         name: ${{ steps.debian-package.outputs.DPKG_NAME }} | ||||
|         path: ${{ steps.debian-package.outputs.DPKG_PATH }} | ||||
|  | ||||
|     - name: Check for release | ||||
|       id: is-release | ||||
|       shell: bash | ||||
|       run: | | ||||
|         unset IS_RELEASE ; if [[ $GITHUB_REF =~ ^refs/tags/v[0-9].* ]]; then IS_RELEASE='true' ; fi | ||||
|         echo ::set-output name=IS_RELEASE::${IS_RELEASE} | ||||
|  | ||||
|     - name: Publish archives and packages | ||||
|       uses: softprops/action-gh-release@v1 | ||||
|       if: steps.is-release.outputs.IS_RELEASE | ||||
|       with: | ||||
|         files: | | ||||
|           ${{ steps.package.outputs.PKG_PATH }} | ||||
|           ${{ steps.debian-package.outputs.DPKG_PATH }} | ||||
|       env: | ||||
|         GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -2,6 +2,8 @@ | ||||
| **/*.rs.bk | ||||
|  | ||||
| # Generated files | ||||
| /assets/completions/bat.bash | ||||
| /assets/completions/bat.fish | ||||
| /assets/completions/bat.zsh | ||||
| /assets/manual/bat.1 | ||||
| /assets/metadata.yaml | ||||
|   | ||||
							
								
								
									
										68
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										68
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @@ -61,18 +61,12 @@ | ||||
| [submodule "assets/syntaxes/Puppet"] | ||||
| 	path = assets/syntaxes/02_Extra/Puppet | ||||
| 	url = https://github.com/russCloak/SublimePuppet | ||||
| [submodule "assets/syntaxes/CSV"] | ||||
| 	path = assets/syntaxes/02_Extra/CSV | ||||
| 	url = https://github.com/wadetb/Sublime-Text-Advanced-CSV | ||||
| [submodule "assets/themes/onehalf"] | ||||
| 	path = assets/themes/onehalf | ||||
| 	url = https://github.com/sonph/onehalf | ||||
| [submodule "assets/syntaxes/JavaScript (Babel)"] | ||||
| 	path = assets/syntaxes/02_Extra/JavaScript (Babel) | ||||
| 	url = https://github.com/babel/babel-sublime | ||||
| [submodule "assets/syntaxes/Cabal"] | ||||
| 	path = assets/syntaxes/02_Extra/Cabal | ||||
| 	url = https://github.com/SublimeHaskell/SublimeHaskell | ||||
| [submodule "assets/syntaxes/Dart"] | ||||
| 	path = assets/syntaxes/02_Extra/Dart | ||||
| 	url = https://github.com/guillermooo/dart-sublime-bundle | ||||
| @@ -97,16 +91,9 @@ | ||||
| [submodule "assets/themes/sublime-snazzy"] | ||||
| 	path = assets/themes/sublime-snazzy | ||||
| 	url = https://github.com/greggb/sublime-snazzy | ||||
| [submodule "assets/syntaxes/AsciiDoc"] | ||||
| 	path = assets/syntaxes/02_Extra/AsciiDoc | ||||
| 	url = https://github.com/SublimeText/AsciiDoc.git | ||||
| [submodule "assets/syntaxes/Assembly (ARM)"] | ||||
| 	path = assets/syntaxes/02_Extra/Assembly (ARM) | ||||
| 	url = https://github.com/tvi/Sublime-ARM-Assembly | ||||
| [submodule "assets/syntaxes/syslog-syntax"] | ||||
| 	path = assets/syntaxes/02_Extra/Syslog | ||||
| 	url = https://github.com/caos21/syslog-syntax.git | ||||
| 	branch = master | ||||
| [submodule "assets/syntaxes/protobuf-syntax-highlighting"] | ||||
| 	path = assets/syntaxes/02_Extra/Protobuf | ||||
| 	url = https://github.com/VcamX/protobuf-syntax-highlighting.git | ||||
| @@ -188,3 +175,58 @@ | ||||
| [submodule "assets/syntaxes/02_Extra/QML"] | ||||
| 	path = assets/syntaxes/02_Extra/QML | ||||
| 	url = https://github.com/skozlovf/Sublime-QML | ||||
| [submodule "assets/syntaxes/02_Extra/AsciiDoc"] | ||||
| 	path = assets/syntaxes/02_Extra/AsciiDoc | ||||
| 	url = https://github.com/asciidoctor/sublimetext-asciidoc.git | ||||
| [submodule "assets/syntaxes/02_Extra/GLSL"] | ||||
| 	path = assets/syntaxes/02_Extra/GLSL | ||||
| 	url = https://github.com/euler0/sublime-glsl | ||||
| [submodule "assets/syntaxes/02_Extra/Nginx"] | ||||
| 	path = assets/syntaxes/02_Extra/Nginx | ||||
| 	url = https://github.com/brandonwamboldt/sublime-nginx | ||||
| [submodule "assets/syntaxes/02_Extra/Apache"] | ||||
| 	path = assets/syntaxes/02_Extra/Apache | ||||
| 	url = https://github.com/colinta/ApacheConf.tmLanguage | ||||
| [submodule "assets/syntaxes/02_Extra/Ninja"] | ||||
| 	path = assets/syntaxes/02_Extra/Ninja | ||||
| 	url = https://github.com/pope/SublimeNinja.git | ||||
| [submodule "assets/syntaxes/02_Extra/Svelte"] | ||||
| 	path = assets/syntaxes/02_Extra/Svelte | ||||
| 	url = https://github.com/corneliusio/svelte-sublime | ||||
| [submodule "assets/themes/Coldark"] | ||||
| 	path = assets/themes/Coldark | ||||
| 	url = https://github.com/ArmandPhilippot/coldark-bat.git | ||||
| [submodule "assets/themes/gruvbox"] | ||||
| 	path = assets/themes/gruvbox | ||||
| 	url = https://github.com/subnut/gruvbox-tmTheme.git | ||||
| 	branch = bat-source | ||||
| [submodule "assets/syntaxes/02_Extra/Lean"] | ||||
| 	path = assets/syntaxes/02_Extra/Lean | ||||
| 	url = https://github.com/leanprover/vscode-lean.git | ||||
| [submodule "assets/syntaxes/02_Extra/Zig"] | ||||
| 	path = assets/syntaxes/02_Extra/Zig | ||||
| 	url = https://github.com/ziglang/sublime-zig-language.git | ||||
| [submodule "assets/syntaxes/02_Extra/gnuplot"] | ||||
| 	path = assets/syntaxes/02_Extra/gnuplot | ||||
| 	url = https://github.com/hesstobi/sublime_gnuplot | ||||
| [submodule "assets/syntaxes/02_Extra/SystemVerilog"] | ||||
| 	path = assets/syntaxes/02_Extra/SystemVerilog | ||||
| 	url = https://github.com/TheClams/SystemVerilog.git | ||||
| [submodule "assets/themes/visual-studio-dark-plus"] | ||||
| 	path = assets/themes/visual-studio-dark-plus | ||||
| 	url = https://github.com/vidann1/visual-studio-dark-plus.git | ||||
| [submodule "assets/syntaxes/02_Extra/SublimeEthereum"] | ||||
| 	path = assets/syntaxes/02_Extra/SublimeEthereum | ||||
| 	url = https://github.com/davidhq/SublimeEthereum.git | ||||
| [submodule "assets/syntaxes/02_Extra/Groff"] | ||||
| 	path = assets/syntaxes/02_Extra/Groff | ||||
| 	url = https://github.com/carsonoid/sublime_man_page_support | ||||
| [submodule "assets/syntaxes/02_Extra/http-request-response"] | ||||
| 	path = assets/syntaxes/02_Extra/http-request-response | ||||
| 	url = https://github.com/keith-hall/http-request-response-syntax.git | ||||
| [submodule "assets/syntaxes/02_Extra/LLVM"] | ||||
| 	path = assets/syntaxes/02_Extra/LLVM | ||||
| 	url = https://github.com/ioncodes/LLVM.tmBundle | ||||
| [submodule "assets/syntaxes/02_Extra/Slim"] | ||||
| 	path = assets/syntaxes/02_Extra/Slim | ||||
| 	url = https://github.com/slim-template/ruby-slim.tmbundle.git | ||||
|   | ||||
							
								
								
									
										106
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										106
									
								
								.travis.yml
									
									
									
									
									
								
							| @@ -1,106 +0,0 @@ | ||||
| language: rust | ||||
|  | ||||
| matrix: | ||||
|   include: | ||||
|     # Stable channel. | ||||
|     - os: linux | ||||
|       rust: stable | ||||
|       env: TARGET=x86_64-unknown-linux-gnu | ||||
|     - os: linux | ||||
|       rust: stable | ||||
|       env: | ||||
|         - TARGET=x86_64-unknown-linux-musl | ||||
|         - CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc | ||||
|     - os: linux | ||||
|       rust: stable | ||||
|       env: TARGET=i686-unknown-linux-gnu | ||||
|     - os: osx | ||||
|       rust: stable | ||||
|       env: TARGET=x86_64-apple-darwin | ||||
|     - os: linux | ||||
|       rust: stable | ||||
|       env: | ||||
|         - TARGET=arm-unknown-linux-gnueabihf | ||||
|         - CC_arm_unknown_linux_gnueabihf=/usr/bin/arm-linux-gnueabihf-gcc-4.8 | ||||
|         - CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc-4.8 | ||||
|     - os: linux | ||||
|       rust: stable | ||||
|       env: | ||||
|         - TARGET=aarch64-unknown-linux-gnu | ||||
|         - CC_aarch64-unknown-linux-gnu=/usr/bin/aarch64-linux-gnu-gcc-4.8 | ||||
|         - CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc-4.8 | ||||
|  | ||||
|     # Minimum Rust supported channel. | ||||
|     - os: linux | ||||
|       rust: 1.40.0 | ||||
|       env: TARGET=x86_64-unknown-linux-gnu | ||||
|     - os: linux | ||||
|       rust: 1.40.0 | ||||
|       env: | ||||
|         - TARGET=x86_64-unknown-linux-musl | ||||
|         - CC_x86_64_unknown_linux_musl=/usr/bin/musl-gcc | ||||
|     - os: osx | ||||
|       rust: 1.40.0 | ||||
|       env: TARGET=x86_64-apple-darwin | ||||
|  | ||||
|     # Disable nightly for now | ||||
|     # # Code formatting check | ||||
|     # - os: linux | ||||
|     #   rust: nightly | ||||
|     #   # skip the global install step | ||||
|     #   install: | ||||
|     #     - cargo install --debug --force rustfmt-nightly | ||||
|     #   script: cargo fmt -- --check | ||||
|  | ||||
| sudo: required | ||||
|  | ||||
| before_install: | ||||
|   - ci/before_install.bash | ||||
|  | ||||
| env: | ||||
|   global: | ||||
|     # Default target on travis-ci. | ||||
|     # Used as conditional check in the install stage | ||||
|     - HOST=x86_64-unknown-linux-gnu | ||||
|     # Used on the deployment script | ||||
|     - PROJECT_NAME=bat | ||||
|  | ||||
| install: | ||||
|   # prevent target re-add error from rustup | ||||
|   - if [[ $TRAVIS_OS_NAME = linux && $HOST != $TARGET ]]; then rustup target add $TARGET; fi | ||||
|  | ||||
| script: | ||||
|   - ci/script.bash | ||||
|  | ||||
| before_deploy: | ||||
|   - bash ci/before_deploy.bash | ||||
|  | ||||
| deploy: | ||||
|   provider: releases | ||||
|   # NOTE updating the `api_key.secure` | ||||
|   # - go to: https://github.com/settings/tokens/new | ||||
|   # - generate new token using `public_repo` scope | ||||
|   # - encrypt it using: `travis encrypt API_KEY_HERE` | ||||
|   # - paste the output below | ||||
|   api_key: | ||||
|     secure: "GZL8nYk+/MZGEqejpP0UMMGVmwUEdxiF9CflFIGccu+/tznDyHnHOpyJmbH3M5IKWIxa7xFgqOE8pHuD4oQXt4mzyJGB0KMKKEFLW7ckbTYKya5bw0heKznaqGnS0Yz+vpfqYR25eiPFYCz7mDsGsCzH5QZqt3cdn9MDQGu1D0IaxPjuBNH3T9kBblR0ifBd3Diy0JYhiVcMSI3V1rkel18F1yBHO2GQ95hkWxVgjANQnefq5+zdzbx4ki539ewYENShA8N0w6ULJVY9LmWRWJIp90ggOD3JCH6Nz/fBpYBqwfABO6Dr7Csw7IRm7pM4IVkFZS1taiDYFX9thxZh3UTmI4YYtSTPxH9NGV47kxPipbf4vAXFwW+1VcHKMpBzz+5IVsHnk1Pfx9/GZsXbqXM3PUWCStec36Xtqh5vQapDKEg9khkEs4b1X7/E73gvpRuQl9gbnyufSVWgDsXIWqM+0aDbqQz1FpLmVxz6eij0cB9vR+8kbNoe/CEPHPO9ZllvAHseukOeHPzSBd8rILORXaaGmQausXz2wWgSsffUSYz4705P8joI0zFCfmkHjL+kA1ZUx5SxLCc1ID7CFFZChhAxHoPL7xc21snswwr8QeheERdwvuzKNaerBGZEw8dmMMx98YkjftIj65DDySr2mRZuufBQeQpmMhFyIT4=" | ||||
|   # for uploading multiple files | ||||
|   file_glob: true | ||||
|   # NOTE explanation on each env variable | ||||
|   # - PROJECT_NAME: name of the project, set on the `env.global` above | ||||
|   # - TRAVIS_TAG: tag name that the build is being deployed for, usually the version number | ||||
|   # - TARGET: target triple of the build | ||||
|   file: | ||||
|     - $PROJECT_NAME-$TRAVIS_TAG-$TARGET.* | ||||
|     - $PROJECT_NAME*.deb | ||||
|   # don't delete artifacts from previous stage | ||||
|   skip_cleanup: true | ||||
|   on: | ||||
|     # deploy only if we push a tag | ||||
|     tags: true | ||||
|     # deploy only on stable channel that has TARGET env variable sets | ||||
|     condition: $TRAVIS_RUST_VERSION = stable && $TARGET != "" | ||||
|  | ||||
| notifications: | ||||
|   email: | ||||
|     on_success: never | ||||
							
								
								
									
										247
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										247
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,13 +1,256 @@ | ||||
| # unreleased | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - `$BAT_CONFIG_DIR` is now a recognized environment variable. It has precedence over `$XDG_CONFIG_HOME`, see #1727 (@billrisher) | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Python syntax highlighting no longer suffers from abysmal performance in specific scenarios. See #1688 (@keith-hall) | ||||
|  | ||||
| ## Other | ||||
| ## New syntaxes | ||||
|  | ||||
| - Load cached assets as fast as integrated assets, see #1753 (@Enselic) | ||||
| - Greatly reduce startup time in loop-through mode, e.g. when redirecting output. Instead of *50 ms* - *100 ms*, startup takes *5 ms* - *10 ms*. See #1747 (@Enselic) | ||||
|  | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Groff, see #1685 (@scop) | ||||
| - HTTP Requests and Responses, see #1748 (@keith-hall) | ||||
| - LLVM, see #1777 (@ioncodes) | ||||
| - Highlight for `vimrc` and `gvimrc` files, see #1763 (@SuperSandro2000) | ||||
| - Syslog highlighting improvements, see #1793 (@scop) | ||||
| - Added support for `slim` syntax, see #1693 (@mfinelli) | ||||
|  | ||||
| ## New themes | ||||
|  | ||||
|  | ||||
| ## `bat` as a library | ||||
|  | ||||
| - Deprecate `HighlightingAssets::syntaxes()` and `HighlightingAssets::syntax_for_file_name()`. Use `HighlightingAssets::get_syntaxes()` and `HighlightingAssets::get_syntax_for_file_name()` instead. They return a `Result` which is needed for upcoming lazy-loading work to improve startup performance. They also return what `SyntaxSet` the returned `SyntaxReference` belongs to. See #1747, #1755 and #1776 (@Enselic) | ||||
|  | ||||
|  | ||||
|  | ||||
| # v0.18.2 | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - Ignore known backup/template filename suffixes when selecting the syntax, see #1687 (@scop) | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Fix for a security vulnerability on Windows. Prior to this release, `bat` would execute programs called `less`/`less.exe` from the current working directory (instead of the one from `PATH`) with priority. An attacker might be able to use this by placing a malicious program in a shared directory where the user would execute `bat`. `bat` users on Windows are advised to upgrade to this version. See #1724 and #1472 (@Ry0taK). | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Add bash completion, see #1678 (@scop) | ||||
| - Fix Clippy lints, see #1661 (@mohamed-abdelnour) | ||||
| - Add syntax highlighting test files, see #1213 and #1668 (@mohamed-abdelnour) | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Upgraded Julia syntax to fix a highlighting bug, see #1692 | ||||
| - Added support for `dash` syntax, see #1654 (@mohamed-abdelnour) | ||||
| - Added support for `XAML` syntax, see #1590 and #1655 (@mohamed-abdelnour) | ||||
| - Apply `DotENV` syntax also for `.env.default` and `.env.defaults` files, see #1669 | ||||
|  | ||||
|  | ||||
| # v0.18.1 | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Mouse support and screen clearing broken for `less` versions with minor version number (581.2), see #1629 and #1639 (@aswild) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - `Input::ordinary_file` and `Input::with_name` now accept `Path` rather than `OsStr` see #1571 (@matklad) | ||||
| - The `LESS` environment variable is now included in `bat --diagnostic`, see #1589 (@Enselic) | ||||
| - Increased min. required Rust version to 1.45 | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Improved the Syslog syntax highlighting, see #1606 (@keith-hall) | ||||
| - Replaced "Advanced CSV" with a custom CSV syntax definition written especially for `bat`; see #1574 (@keith-hall) | ||||
| - Added SystemVerilog file syntax, see #1580 (@SeanMcLoughlin) | ||||
| - Added Solidity and Vyper syntax, see #1602 (@Ersikan) | ||||
|  | ||||
| ## New themes | ||||
|  | ||||
| - Dark+ VS Code theme, see #1588 and #1598 (@PatriotRossii) | ||||
|  | ||||
|  | ||||
|  | ||||
| # v0.18.0 | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - Use a pager when `bat --list-languages` is called, see #1394 (@stku1985) | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - If the last line doesn't end with a newline character, don't add it if `--style=plain`, see #1438 (@Enselic) | ||||
| - Only print themes hint in interactive mode (`bat --list-themes`), see #1439 (@rsteube) | ||||
| - Make ./tests/syntax-tests/regression_test.sh work on recent versions of macOS, see #1443 (@Enselic) | ||||
| - VimL syntax highlighting fix, see #1450 (@esensar) | ||||
| - Print an 'Invalid syntax theme settings' error message if a custom theme is broken, see #614 (@Enselic) | ||||
| - If plain mode is set and wrap is not explicitly opted in, long lines will no be truncated, see #1426 | ||||
| - If `PAGER` (but not `BAT_PAGER` or `--pager`) is `more` or `most`, silently use `less` instead to ensure support for colors, see #1063 (@Enselic) | ||||
| - If `PAGER` is `bat`, silently use `less` to prevent recursion. For `BAT_PAGER` or `--pager`, exit with error, see #1413 (@Enselic) | ||||
| - Manpage highlighting fix, see #1511 (@keith-hall) | ||||
| - `BAT_CONFIG_PATH` ignored by `bat` if non-existent, see #1550 (@sharkdp) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Performance improvements, see #1421 (@LovecraftianHorror) | ||||
| - Added a new `--diagnostic` option to collect information for bug reports, see #1459 (@sharkdp) | ||||
| - Modified default theme colors to differentiate between a JSON key and a string value, see #1400 (@keith-hall) | ||||
| - Upped min required Rust version to 1.42 | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Added Zig syntax, see #1470 (@paulsmith) | ||||
| - Added Lean syntax, see #1446 (@Julian) | ||||
| - Added `.resource` extension for Robot Framework files, see #1386 | ||||
| - Added `gnuplot` syntax, see #1431 (@sharkdp) | ||||
| - Highlight *.pac (Proxy auto-config) files as JavaScript, see #1515 (@sharkdp) | ||||
|  | ||||
| ## New themes | ||||
|  | ||||
| - `ansi` replaces `ansi-dark` and `ansi-light`, see #1104 and #1412 (@mk12). **Breaking change:** users that were previously using one of the `ansi-*` themes should switch to `ansi`. | ||||
| - The Gruvbox theme has been updated, see #1291 (@j0hnmeow). **Breaking change:** users that were previously using `gruvbox` or `gruvbox-white` should update and use `gruvbox-dark`/`gruvbox-light` instead. | ||||
|  | ||||
| ## `bat` as a library | ||||
|  | ||||
| - The following `PrettyPrinter` methods have been removed (they were previously deprecated): | ||||
|    - `input_stdin_with_name` | ||||
|    - `input_from_bytes_with_name` | ||||
|    - `input_from_reader_with_name` | ||||
|    - `vcs_modification_markers` (if the `git` feature is not enabled) | ||||
|  | ||||
|  | ||||
| # v0.17.1 | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Running `bat` without arguments fails ("output file is also an input"), see #1396 | ||||
|  | ||||
|  | ||||
| # v0.17.0 | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - Added a new `--style` value, `rule`, which adds a simple horizontal ruled line between files, see #1276 (@tommilligan) | ||||
| - Pass `-S` ("chop long lines") to `less` if `--wrap=never` is set in `bat`, see #1255 (@gahag) | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Detect infinite loop when input and output are the same, see #1193 and #1197 (@niklasmohrin) | ||||
| - Throw an error when `bat` is being used as `pager`, see #1343 (@adrian-rivera) | ||||
| - Bash syntax highlighting not selected for `*.ebuild` and `*.eclass` files, see #1292 (@sharkdp) | ||||
| - Fix `zsh` completion when using `-p`, see #1320 (@xzfc) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Add note to refer to see detailed help with `--help` (and vice versa with `-h`), see #1215 (@henil) | ||||
| - Add a `Contributors` section to `README`, see #1348 (@adrian-rivera) | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Manpage syntax highlighting has been improved, see #1315 (@keith-hall) | ||||
| - Add Svelte file syntax, see #1285 (@kjmph) | ||||
|  | ||||
| ## New themes | ||||
|  | ||||
| - Coldark, see #1329 (@armandphilippot) | ||||
|  | ||||
|  | ||||
| # v0.16.0 | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - Added support for the `NO_COLOR` environment variable, see #1021 and #1031 (@eth-p) | ||||
| - Added `-P` short flag to disable paging, see #1075 and #1082 (@LordFlashmeow) | ||||
| - Added `--force-colorization`/`-f` flag to provide an alias for forced color and decoration output, see #1141 (@alexanderkarlis) | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Fixed non-printable characters display for redirected output, see #1061 (@gsomix) | ||||
| - Handle file extension conflicts in `--list-languages`, see #1076 and #1135 (@Kienyew) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Switched to "·" (U+00B7) Middle Dot from "•" (U+2022) Bullet for non-printing spaces, see #1056 and #1100 (@LordFlashmeow) | ||||
| - Added zsh shell completion script, see #1136 (@Kienyew) | ||||
| - Improved `--help` text (@sharkdp) | ||||
| - Added custom languages/themes sections to manpage (@eth-p) | ||||
|  | ||||
| ## Syntaxes | ||||
|  | ||||
| - Update AsciiDoc syntax, see #1034 (@rxt1077) | ||||
| - GLSL (@caioalonso) | ||||
| - Add Nginx and Apache config file syntax, see #1137 (@kjmph, @niklasmohrin) | ||||
| - Use `fstab` syntax for `crypttab` files, see #1073 (@sharkdp) | ||||
| - Support syntax highlighting for files in `$XDG_CONFIG_HOME/git/`, see #1191 (@ahmedelgabri) | ||||
|  | ||||
| ## New themes | ||||
|  | ||||
| - Gruvbox, see #1069 (@kyleondy) | ||||
| - base16-256 for [base16-shell](https://github.com/chriskempson/base16-shell) users, see #1111 (@mk12) | ||||
|  | ||||
| ## `bat` as a library | ||||
|  | ||||
| - Add APIs to provide `Input` descriptions with `InputDescription` (@eth-p) | ||||
| - Add function to directly provide `Input`s to `PrettyPrinter` (@eth-p) | ||||
| - **Breaking:** `Input::theme_preview_file` is no longer available. (@eth-p) | ||||
|  | ||||
| ## Packaging | ||||
|  | ||||
| - Removed build dependency on `liquid` (@sharkdp). | ||||
|  | ||||
| # v0.15.4 | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Added missing Solarized themes, see #1027 | ||||
| - Fixed highlighting bug in Haskell source files, see #1026 | ||||
|  | ||||
| # v0.15.3 | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Cannot run `bat` with relative paths, see #1022 | ||||
| - bat mishighlights Users that start with digits in SSH config, see #984 | ||||
|  | ||||
| ## New syntaxes | ||||
|  | ||||
| - SML, see #1005 (@kopecs) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Some syntaxes and themes have been updated to the latest version | ||||
|  | ||||
| # v0.15.2 | ||||
|  | ||||
| ## Bugfixes | ||||
|  | ||||
| - Fix syntax detection for files called 'rails', see #1008 | ||||
| - Fix potential errors with syntax detection for symlinked files, see #1001 | ||||
| - `--map-syntax` doesn't work with names provided through `--file-name` (@eth-p) | ||||
|  | ||||
| ## Other | ||||
|  | ||||
| - Add padding above headers when not using a grid, see #968 and #981 (@pt2121) | ||||
| - bat now prints an error if an invalid syntax is specified via `-l` or `--map-syntax`, see #1004 (@eth-p) | ||||
|  | ||||
| ## `bat` as a library | ||||
|  | ||||
| - `PrettyPrinter::vcs_modification_markers` has been marked deprecated when building without the `git` feature, see #997 and #1020 (@eth-p, @sharkdp) | ||||
|  | ||||
| ## Packaging | ||||
|  | ||||
| - Compilation problems with `onig_sys` on various platforms have been resolved by upgrading to `syntect 4.2`, which includes a new `onig` version that allows to build `onig_sys` without the `bindgen` dependency. This removes the need for `libclang(-dev)` to be installed to compile `bat`. Package maintainers might want to remove `clang` as a build dependency. See #650 for more details. | ||||
|  | ||||
| # v0.15.1 | ||||
|  | ||||
| ## Bugfixes | ||||
| @@ -328,7 +571,7 @@ You can see the API documentation here: https://docs.rs/bat/ | ||||
|  | ||||
| - Added `BAT_CONFIG_PATH` environment variable to set a non-default path for `bat`s configuration file, see #375 (@deg4uss3r) | ||||
|  | ||||
| - Allow for multiple occurences of `--style` to allow for the configuration | ||||
| - Allow for multiple occurrences of `--style` to allow for the configuration | ||||
|   of styles from the config file, see #367 (@sindreij) | ||||
|  | ||||
| - Allow for multiple `--line-range` arguments, see #23 | ||||
|   | ||||
							
								
								
									
										48
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								CONTRIBUTING.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| # Contributing | ||||
|  | ||||
| Thank you for considering to contribute to `bat`! | ||||
|  | ||||
|  | ||||
|  | ||||
| ## Add an entry to the changelog | ||||
|  | ||||
| If your contribution changes the behavior of `bat` (as opposed to a typo-fix | ||||
| in the documentation), please update the [`CHANGELOG.md`](CHANGELOG.md) file | ||||
| and describe your changes. This makes the release process much easier and | ||||
| therefore helps to get your changes into a new `bat` release faster. | ||||
|  | ||||
| The top of the `CHANGELOG` contains a *"unreleased"* section with a few | ||||
| subsections (Features, Bugfixes, …). Please add your entry to the subsection | ||||
| that best describes your change. | ||||
|  | ||||
| Entries follow this format: | ||||
| ``` | ||||
| - Short description of what has been changed, see #123 (@user) | ||||
| ``` | ||||
| Here, `#123` is the number of the original issue and/or your pull request. | ||||
| Please replace `@user` by your GitHub username. | ||||
|  | ||||
|  | ||||
| ## Development | ||||
|  | ||||
| Please check out the [Development](https://github.com/sharkdp/bat#development) | ||||
| section in the README. | ||||
|  | ||||
|  | ||||
| ## Adding a new feature | ||||
|  | ||||
| Please consider opening a | ||||
| [feature request ticket](https://github.com/sharkdp/bat/issues/new?assignees=&labels=feature-request&template=feature_request.md) | ||||
| first in order to give us a chance to discuss the feature first. | ||||
|  | ||||
|  | ||||
| ## Adding new syntaxes/languages or themes | ||||
|  | ||||
| Before you make a pull request that adds a new syntax or theme, please read | ||||
| the [Customization](https://github.com/sharkdp/bat#customization) section | ||||
| in the README first. | ||||
|  | ||||
| If you really think that a particular syntax or theme should be added for all | ||||
| users, please read the corresponding | ||||
| [documentation](https://github.com/sharkdp/bat/blob/master/doc/assets.md) | ||||
| first. | ||||
							
								
								
									
										1630
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1630
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										58
									
								
								Cargo.toml
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								Cargo.toml
									
									
									
									
									
								
							| @@ -1,17 +1,13 @@ | ||||
| [package] | ||||
| authors = ["David Peter <mail@david-peter.de>"] | ||||
| categories = ["command-line-utilities"] | ||||
| description="A cat(1) clone with wings." | ||||
| description = "A cat(1) clone with wings." | ||||
| homepage = "https://github.com/sharkdp/bat" | ||||
| license = "MIT/Apache-2.0" | ||||
| name = "bat" | ||||
| readme = "README.md" | ||||
| repository = "https://github.com/sharkdp/bat" | ||||
| version = "0.15.1" | ||||
| exclude = [ | ||||
|     "assets/syntaxes/*", | ||||
|     "assets/themes/*", | ||||
| ] | ||||
| version = "0.18.2" | ||||
| exclude = ["assets/syntaxes/*", "assets/themes/*"] | ||||
| build = "build.rs" | ||||
| edition = '2018' | ||||
|  | ||||
| @@ -20,18 +16,28 @@ default = ["application"] | ||||
| # Feature required for bat the application. Should be disabled when depending on | ||||
| # bat as a library. | ||||
| application = [ | ||||
|     "bugreport", | ||||
|     "build-assets", | ||||
|     "git", | ||||
|     "minimal-application", | ||||
| ] | ||||
| # Mainly for developers that want to iterate quickly | ||||
| # Be aware that the included features might change in the future | ||||
| minimal-application = [ | ||||
|     "atty", | ||||
|     "clap", | ||||
|     "dirs", | ||||
|     "git", | ||||
|     "dirs-next", | ||||
|     "lazy_static", | ||||
|     "liquid", | ||||
|     "paging", | ||||
|     "wild", | ||||
|     "regex-onig", | ||||
|     "wild", | ||||
| ] | ||||
| git = ["git2"] # Support indicating git modifications | ||||
| paging = ["shell-words"] # Support applying a pager on the output | ||||
| # Add "syntect/plist-load" when https://github.com/trishume/syntect/pull/345 reaches us | ||||
| build-assets = ["syntect/yaml-load", "syntect/dump-create"] | ||||
|  | ||||
| # You need to use one of these if you depend on bat as a library: | ||||
| regex-onig = ["syntect/regex-onig"] # Use the "oniguruma" regex engine | ||||
| regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine | ||||
|  | ||||
| @@ -39,18 +45,23 @@ regex-fancy = ["syntect/regex-fancy"] # Use the rust-only "fancy-regex" engine | ||||
| atty = { version = "0.2.14", optional = true } | ||||
| ansi_term = "^0.12.1" | ||||
| ansi_colours = "^1.0" | ||||
| console = "0.11.2" | ||||
| dirs = { version = "2.0", optional = true } | ||||
| console = "0.14.1" | ||||
| lazy_static = { version = "1.4", optional = true } | ||||
| lazycell = "1.0" | ||||
| wild = { version = "2.0", optional = true } | ||||
| content_inspector = "0.2.4" | ||||
| encoding = "0.2" | ||||
| shell-words = { version = "0.1.0", optional = true } | ||||
| unicode-width = "0.1.7" | ||||
| shell-words = { version = "1.0.0", optional = true } | ||||
| unicode-width = "0.1.8" | ||||
| globset = "0.4" | ||||
| serde = { version = "1.0", features = ["derive"] } | ||||
| serde_yaml = "0.8" | ||||
| semver = "0.9" | ||||
| semver = "1.0" | ||||
| path_abs = { version = "0.5", default-features = false } | ||||
| clircle = "0.3" | ||||
| bugreport = { version = "0.4", optional = true } | ||||
| dirs-next = { version = "2.0.0", optional = true } | ||||
| grep-cli = "0.1.6" | ||||
|  | ||||
| [dependencies.git2] | ||||
| version = "0.13" | ||||
| @@ -58,9 +69,9 @@ optional = true | ||||
| default-features = false | ||||
|  | ||||
| [dependencies.syntect] | ||||
| version = "4.1.0" | ||||
| version = "4.6.0" | ||||
| default-features = false | ||||
| features = ["parsing", "yaml-load", "dump-load", "dump-create"] | ||||
| features = ["parsing", "dump-load"] | ||||
|  | ||||
| [dependencies.clap] | ||||
| version = "2.33" | ||||
| @@ -73,12 +84,17 @@ version = "0.12" | ||||
| default-features = false | ||||
|  | ||||
| [dev-dependencies] | ||||
| tempdir = "0.3" | ||||
| assert_cmd = "1.0.1" | ||||
| assert_cmd = "1.0.8" | ||||
| serial_test = "0.5.1" | ||||
| predicates = "2.0.1" | ||||
| wait-timeout = "0.2.0" | ||||
| tempfile = "3.2.0" | ||||
|  | ||||
| [target.'cfg(unix)'.dev-dependencies] | ||||
| nix = "0.22.0" | ||||
|  | ||||
| [build-dependencies] | ||||
| clap = { version = "2.33", optional = true } | ||||
| liquid = { version = "0.20", optional = true } | ||||
|  | ||||
| [profile.release] | ||||
| lto = true | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| Copyright (c) 2018-2020 bat-developers (https://github.com/sharkdp/bat). | ||||
| Copyright (c) 2018-2021 bat-developers (https://github.com/sharkdp/bat). | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
|   | ||||
							
								
								
									
										279
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										279
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,7 +1,6 @@ | ||||
| <p align="center"> | ||||
|   <img src="doc/logo-header.svg" alt="bat - a cat clone with wings"><br> | ||||
|   <a href="https://travis-ci.org/sharkdp/bat"><img src="https://travis-ci.org/sharkdp/bat.svg?branch=master" alt="Build Status"></a> | ||||
|   <a href="https://ci.appveyor.com/project/sharkdp/bat"><img src="https://ci.appveyor.com/api/projects/status/cptsmtbiwbnr2vhf/branch/master?svg=true"></a> | ||||
|   <a href="https://github.com/sharkdp/bat/actions?query=workflow%3ACICD"><img src="https://github.com/sharkdp/bat/workflows/CICD/badge.svg" alt="Build Status"></a> | ||||
|   <img src="https://img.shields.io/crates/l/bat.svg" alt="license"> | ||||
|   <a href="https://crates.io/crates/bat"><img src="https://img.shields.io/crates/v/bat.svg?colorB=319e8c" alt="Version info"></a><br> | ||||
|   A <i>cat(1)</i> clone with syntax highlighting and Git integration. | ||||
| @@ -12,8 +11,8 @@ | ||||
|   <a href="#how-to-use">How To Use</a> • | ||||
|   <a href="#installation">Installation</a> • | ||||
|   <a href="#customization">Customization</a> • | ||||
|   <a href="#project-goals-and-alternatives">Project goals, alternatives</a> • | ||||
|   Translation [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>][<a href="doc/README-ja.md">日本語</a>][<a href="doc/README-ko.md">한국어</a>] | ||||
|   <a href="#project-goals-and-alternatives">Project goals, alternatives</a><br> | ||||
|   [<a href="https://github.com/chinanf-boy/bat-zh">中文</a>] [<a href="doc/README-ja.md">日本語</a>] [<a href="doc/README-ko.md">한국어</a>] [<a href="doc/README-ru.md">Русский</a>] | ||||
| </p> | ||||
|  | ||||
| ### Syntax highlighting | ||||
| @@ -39,14 +38,14 @@ characters: | ||||
|  | ||||
| ### Automatic paging | ||||
|  | ||||
| `bat` can pipe its own output to `less` if the output is too large for one screen. | ||||
| By default, `bat` pipes its own output to a pager (e.g `less`) if the output is too large for one screen. | ||||
| If you would rather `bat` work like `cat` all the time (never page output), you can set `--paging=never` as an option, either on the command line or in your configuration file. | ||||
| If you intend to alias `cat` to `bat` in your shell configuration, you can use `alias cat='bat --paging=never'` to preserve the default behavior. | ||||
|  | ||||
| ### File concatenation | ||||
| #### File concatenation | ||||
|  | ||||
| Oh.. you can also use it to concatenate files :wink:. Whenever | ||||
| `bat` detects a non-interactive terminal (i.e. when you pipe into another process | ||||
| or into a file), `bat` will act as a drop-in replacement for `cat` and | ||||
| fall back to printing the plain file contents. | ||||
| Even with a pager set, you can still use `bat` to concatenate files :wink:. | ||||
| Whenever `bat` detects a non-interactive terminal (i.e. when you pipe into another process or into a file), `bat` will act as a drop-in replacement for `cat` and fall back to printing the plain file contents, regardless of the `--pager` option's value. | ||||
|  | ||||
| ## How to use | ||||
|  | ||||
| @@ -62,7 +61,9 @@ Display multiple files at once | ||||
| > bat src/*.rs | ||||
| ``` | ||||
|  | ||||
| Read from stdin, determine the syntax automatically | ||||
| Read from stdin, determine the syntax automatically (note, highlighting will | ||||
| only work if the syntax can be determined from the first line of the file, | ||||
| usually through a shebang such as `#!/bin/sh`) | ||||
|  | ||||
| ```bash | ||||
| > curl -s https://sh.rustup.rs | bat | ||||
| @@ -93,6 +94,16 @@ bat f - g  # output 'f', then stdin, then 'g'. | ||||
|  | ||||
| ### Integration with other tools | ||||
|  | ||||
| #### `fzf` | ||||
|  | ||||
| You can use `bat` as a previewer for [`fzf`](https://github.com/junegunn/fzf). To do this, | ||||
| use `bat`s `--color=always` option to force colorized output. You can also use `--line-range` | ||||
| option to restrict the load times for long files: | ||||
| ```bash | ||||
| fzf --preview 'bat --color=always --style=numbers --line-range=:500 {}' | ||||
| ``` | ||||
| For more information, see [`fzf`s `README`](https://github.com/junegunn/fzf#preview-window). | ||||
|  | ||||
| #### `find` or `fd` | ||||
|  | ||||
| You can use the `-exec` option of `find` to preview all search results with `bat`: | ||||
| @@ -130,7 +141,18 @@ highlighting: | ||||
| git show v0.6.0:src/main.rs | bat -l rs | ||||
| ``` | ||||
|  | ||||
| Note that syntax highlighting within diffs is currently not supported. If you are looking for this, check out [`delta`](https://github.com/dandavison/delta). | ||||
| #### `git diff` | ||||
|  | ||||
| You can combine `bat` with `git diff` to view lines around code changes with proper syntax | ||||
| highlighting: | ||||
| ```bash | ||||
| batdiff() { | ||||
|     git diff --name-only --diff-filter=d | xargs bat --diff | ||||
| } | ||||
| ``` | ||||
| If you prefer to use this as a separate tool, check out `batdiff` in [`bat-extras`](https://github.com/eth-p/bat-extras). | ||||
|  | ||||
| If you are looking for more support for git and diff operations, check out [`delta`](https://github.com/dandavison/delta). | ||||
|  | ||||
| #### `xclip` | ||||
|  | ||||
| @@ -151,6 +173,7 @@ bat main.cpp | xclip | ||||
| export MANPAGER="sh -c 'col -bx | bat -l man -p'" | ||||
| man 2 select | ||||
| ``` | ||||
| (replace `bat` by `batcat` if you are on Debian or Ubuntu) | ||||
|  | ||||
| It might also be necessary to set `MANROFFOPT="-c"` if you experience | ||||
| formatting problems. | ||||
| @@ -159,6 +182,8 @@ If you prefer to have this bundled in a new command, you can also use [`batman`] | ||||
|  | ||||
| Note that the [Manpage syntax](assets/syntaxes/02_Extra/Manpage.sublime-syntax) is developed in this repository and still needs some work. | ||||
|  | ||||
| Also, note that this will [not work](https://github.com/sharkdp/bat/issues/1145) with Mandocs `man` implementation. | ||||
|  | ||||
| #### `prettier` / `shfmt` / `rustfmt` | ||||
|  | ||||
| The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat.md) script is a wrapper that will format code and print it with `bat`. | ||||
| @@ -166,15 +191,15 @@ The [`prettybat`](https://github.com/eth-p/bat-extras/blob/master/doc/prettybat. | ||||
|  | ||||
| ## Installation | ||||
|  | ||||
| [](https://repology.org/project/bat/versions) | ||||
| [](https://repology.org/project/bat-cat/versions) | ||||
|  | ||||
| ### On Ubuntu | ||||
| ### On Ubuntu (using `apt`) | ||||
| *... and other Debian-based Linux distributions.* | ||||
|  | ||||
| `bat` is making its way through the [Ubuntu](https://packages.ubuntu.com/eoan/bat) and | ||||
| [Debian](https://packages.debian.org/sid/bat) package release process, and is available | ||||
| for Ubuntu as of Eoan 19.10. On Debian `bat` is currently only available on the unstable | ||||
| "Sid" branch. | ||||
| [Debian](https://packages.debian.org/testing/bat) package release process, and is available | ||||
| for Ubuntu as of Eoan 19.10. On Debian `bat` is currently available on the unstable | ||||
| "Sid" branch and on the testing branch. | ||||
|  | ||||
| If your Ubuntu/Debian installation is new enough you can simply run: | ||||
|  | ||||
| @@ -182,12 +207,22 @@ If your Ubuntu/Debian installation is new enough you can simply run: | ||||
| apt install bat | ||||
| ``` | ||||
|  | ||||
| **Important**: If you install `bat` this way, please note that the executable may be installed as `batcat` instead of `bat` (due to [a name | ||||
| clash with another package](https://github.com/sharkdp/bat/issues/982)). You can set up a `bat -> batcat` symlink or alias to prevent any issues that may come up because of this and to be consistent with other distributions: | ||||
| ``` bash | ||||
| mkdir -p ~/.local/bin | ||||
| ln -s /usr/bin/batcat ~/.local/bin/bat | ||||
| ``` | ||||
|  | ||||
| ### On Ubuntu (using most recent `.deb` packages) | ||||
| *... and other Debian-based Linux distributions.* | ||||
|  | ||||
| If the package has not yet been promoted to your Ubuntu/Debian installation, or you want | ||||
| the most recent release of `bat`, download the latest `.deb` package from the | ||||
| [release page](https://github.com/sharkdp/bat/releases) and install it via: | ||||
|  | ||||
| ```bash | ||||
| sudo dpkg -i bat_0.15.1_amd64.deb  # adapt version number and architecture | ||||
| sudo dpkg -i bat_0.18.2_amd64.deb  # adapt version number and architecture | ||||
| ``` | ||||
|  | ||||
| ### On Alpine Linux | ||||
| @@ -232,6 +267,13 @@ You can install `bat` via xbps-install: | ||||
| xbps-install -S bat | ||||
| ``` | ||||
|  | ||||
| ### On Termux | ||||
|  | ||||
| You can install `bat` via pkg: | ||||
| ```bash | ||||
| pkg install bat | ||||
| ``` | ||||
|  | ||||
| ### On FreeBSD | ||||
|  | ||||
| You can install a precompiled [`bat` package](https://www.freshports.org/textproc/bat) with pkg: | ||||
| @@ -263,14 +305,21 @@ You can install `bat` with zypper: | ||||
| zypper install bat | ||||
| ``` | ||||
|  | ||||
| ### On macOS | ||||
| ### Via snap package | ||||
|  | ||||
| You can install `bat` with [Homebrew](http://braumeister.org/formula/bat): | ||||
| There is currently no recommended snap package available. | ||||
| Existing packages may be available, but are not officially supported and may contain [issues](https://github.com/sharkdp/bat/issues/1519). | ||||
|  | ||||
| ### On macOS (or Linux) via Homebrew | ||||
|  | ||||
| You can install `bat` with [Homebrew on MacOS](https://formulae.brew.sh/formula/bat) or [Homebrew on Linux](https://formulae.brew.sh/formula-linux/bat): | ||||
|  | ||||
| ```bash | ||||
| brew install bat | ||||
| ``` | ||||
|  | ||||
| ### On macOS via MacPorts | ||||
|  | ||||
| Or install `bat` with [MacPorts](https://ports.macports.org/port/bat/summary): | ||||
|  | ||||
| ```bash | ||||
| @@ -282,6 +331,10 @@ port install bat | ||||
| There are a few options to install `bat` on Windows. Once you have installed `bat`, | ||||
| take a look at the ["Using `bat` on Windows"](#using-bat-on-windows) section. | ||||
|  | ||||
| #### Prerequisites | ||||
|  | ||||
| You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package. | ||||
|  | ||||
| #### With Chocolatey | ||||
|  | ||||
| You can install `bat` via [Chocolatey](https://chocolatey.org/packages/Bat): | ||||
| @@ -296,50 +349,12 @@ You can install `bat` via [scoop](https://scoop.sh/): | ||||
| scoop install bat | ||||
| ``` | ||||
|  | ||||
| You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package. | ||||
|  | ||||
| #### From prebuilt binaries: | ||||
|  | ||||
| You can download prebuilt binaries from the [Release page](https://github.com/sharkdp/bat/releases), | ||||
|  | ||||
| You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package. | ||||
|  | ||||
| ### Via Docker | ||||
|  | ||||
| There is a [Docker image](https://hub.docker.com/r/danlynn/bat/) that you can use to run `bat` in a container: | ||||
| ```bash | ||||
| docker pull danlynn/bat | ||||
| alias bat='docker run -it --rm -e BAT_THEME -e BAT_STYLE -e BAT_TABS -v "$(pwd):/myapp" danlynn/bat' | ||||
| ``` | ||||
|  | ||||
| ### Via Ansible | ||||
|  | ||||
| You can install `bat` with [Ansible](https://www.ansible.com/): | ||||
|  | ||||
| ```bash | ||||
| # Install role on local machine | ||||
| ansible-galaxy install aeimer.install_bat | ||||
| ``` | ||||
|  | ||||
| ```yaml | ||||
| --- | ||||
| # Playbook to install bat | ||||
| - host: all | ||||
|   roles: | ||||
|     - aeimer.install_bat | ||||
| ``` | ||||
|  | ||||
| - [Ansible Galaxy](https://galaxy.ansible.com/aeimer/install_bat) | ||||
| - [GitHub](https://github.com/aeimer/ansible-install-bat) | ||||
|  | ||||
| This should work with the following distributions: | ||||
| - Debian/Ubuntu | ||||
| - ARM (eg. Raspberry PI) | ||||
| - Arch Linux | ||||
| - Void Linux | ||||
| - FreeBSD | ||||
| - MacOS | ||||
|  | ||||
| ### From binaries | ||||
|  | ||||
| Check out the [Release page](https://github.com/sharkdp/bat/releases) for | ||||
| @@ -348,14 +363,15 @@ binaries are also available: look for archives with `musl` in the file name. | ||||
|  | ||||
| ### From source | ||||
|  | ||||
| If you want to build `bat` from source, you need Rust 1.40 or | ||||
| If you want to build `bat` from source, you need Rust 1.45 or | ||||
| higher. You can then use `cargo` to build everything: | ||||
|  | ||||
| ```bash | ||||
| cargo install --locked bat | ||||
| ``` | ||||
|  | ||||
| On some platforms, you might need to install `llvm` and/or `libclang-dev`. | ||||
| Note that additional files like the man page or shell completion | ||||
| files can not be installed in this way. They will be generated by `cargo` and should be available in the cargo target folder (under `build`). | ||||
|  | ||||
| ## Customization | ||||
|  | ||||
| @@ -379,6 +395,26 @@ light background, some themes like `GitHub` or `OneHalfLight` will work better f | ||||
| You can also use a custom theme by following the | ||||
| ['Adding new themes' section below](https://github.com/sharkdp/bat#adding-new-themes). | ||||
|  | ||||
| ### 8-bit themes | ||||
|  | ||||
| `bat` has three themes that always use [8-bit colors](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors), | ||||
| even when truecolor support is available: | ||||
|  | ||||
| - `ansi` looks decent on any terminal. It uses 3-bit colors: black, red, green, | ||||
|   yellow, blue, magenta, cyan, and white. | ||||
| - `base16` is designed for [base16](https://github.com/chriskempson/base16) terminal themes. It uses | ||||
|   4-bit colors (3-bit colors plus bright variants) in accordance with the | ||||
|   [base16 styling guidelines](https://github.com/chriskempson/base16/blob/master/styling.md). | ||||
| - `base16-256` is designed for [base16-shell](https://github.com/chriskempson/base16-shell). | ||||
|   It replaces certain bright colors with 8-bit colors from 16 to 21. **Do not** use this simply | ||||
|   because you have a 256-color terminal but are not using base16-shell. | ||||
|  | ||||
| Although these themes are more restricted, they have three advantages over truecolor themes. They: | ||||
|  | ||||
| - Enjoy maximum compatibility. Some terminal utilities do not support more than 3-bit colors. | ||||
| - Adapt to terminal theme changes. Even for already printed output. | ||||
| - Visually harmonize better with other terminal software. | ||||
|  | ||||
| ### Output style | ||||
|  | ||||
| You can use the `--style` option to control the appearance of `bat`s output. | ||||
| @@ -389,35 +425,45 @@ variable to make these changes permanent or use `bat`s | ||||
|  | ||||
| ### Adding new syntaxes / language definitions | ||||
|  | ||||
| Should you find that a particular syntax is not available within `bat`, you can follow these | ||||
| instructions to easily add new syntaxes to your current `bat` installation. | ||||
|  | ||||
| `bat` uses the excellent [`syntect`](https://github.com/trishume/syntect/) | ||||
| library for syntax highlighting. `syntect` can read any | ||||
| [Sublime Text `.sublime-syntax` file](https://www.sublimetext.com/docs/3/syntax.html) | ||||
| and theme. To add new syntax definitions, do the following. | ||||
| and theme. | ||||
|  | ||||
| Create a folder with syntax definition files: | ||||
| A good resource for finding Sublime Syntax packages is [Package Control](https://packagecontrol.io/). Once you found a | ||||
| syntax: | ||||
|  | ||||
| ```bash | ||||
| mkdir -p "$(bat --config-dir)/syntaxes" | ||||
| cd "$(bat --config-dir)/syntaxes" | ||||
| 1. Create a folder with syntax definition files: | ||||
|  | ||||
| # Put new '.sublime-syntax' language definition files | ||||
| # in this folder (or its subdirectories), for example: | ||||
| git clone https://github.com/tellnobody1/sublime-purescript-syntax | ||||
| ``` | ||||
|    ```bash | ||||
|    mkdir -p "$(bat --config-dir)/syntaxes" | ||||
|    cd "$(bat --config-dir)/syntaxes" | ||||
|  | ||||
| Now use the following command to parse these files into a binary cache: | ||||
|    # Put new '.sublime-syntax' language definition files | ||||
|    # in this folder (or its subdirectories), for example: | ||||
|    git clone https://github.com/tellnobody1/sublime-purescript-syntax | ||||
|    ``` | ||||
|  | ||||
| ```bash | ||||
| bat cache --build | ||||
| ``` | ||||
| 2. Now use the following command to parse these files into a binary cache: | ||||
|  | ||||
| Finally, use `bat --list-languages` to check if the new languages are available. | ||||
|    ```bash | ||||
|    bat cache --build | ||||
|    ``` | ||||
|  | ||||
| If you ever want to go back to the default settings, call: | ||||
| 3. Finally, use `bat --list-languages` to check if the new languages are available. | ||||
|  | ||||
| ```bash | ||||
| bat cache --clear | ||||
| ``` | ||||
|    If you ever want to go back to the default settings, call: | ||||
|  | ||||
|    ```bash | ||||
|    bat cache --clear | ||||
|    ``` | ||||
|  | ||||
| 4. If you think that a specific syntax should be included in `bat` by default, please | ||||
|    consider opening a "syntax request" ticket after reading the policies and | ||||
|    instructions [here](doc/assets.md): [Open Syntax Request](https://github.com/sharkdp/bat/issues/new?labels=syntax-request&template=syntax_request.md). | ||||
|  | ||||
| ### Adding new themes | ||||
|  | ||||
| @@ -437,6 +483,33 @@ bat cache --build | ||||
|  | ||||
| Finally, use `bat --list-themes` to check if the new themes are available. | ||||
|  | ||||
| ### Adding or changing file type associations | ||||
|  | ||||
| You can add new (or change existing) file name patterns using the `--map-syntax` | ||||
| command line option. The option takes an argument of the form `pattern:syntax` where | ||||
| `pattern` is a glob pattern that is matched against the file name and | ||||
| the absolute file path. The `syntax` part is the full name of a supported language | ||||
| (use `bat --list-languages` for an overview). | ||||
|  | ||||
| Note: You probably want to use this option as an entry in `bat`s configuration file instead | ||||
| of passing it on the command line (see below). | ||||
|  | ||||
| Example: To use "INI" syntax highlighting for all files with a `.conf` file extension, use | ||||
| ```bash | ||||
| --map-syntax='*.conf:INI' | ||||
| ``` | ||||
|  | ||||
| Example: To open all files called `.ignore` (exact match) with the "Git Ignore" syntax, use: | ||||
| ```bash | ||||
| --map-syntax='.ignore:Git Ignore' | ||||
| ``` | ||||
|  | ||||
| Example: To open all `.conf` files in subfolders of `/etc/apache2` with the "Apache Conf" | ||||
| syntax, use (this mapping is already built in): | ||||
| ```bash | ||||
| --map-syntax='/etc/apache2/**/*.conf:Apache Conf' | ||||
| ``` | ||||
|  | ||||
| ### Using a different pager | ||||
|  | ||||
| `bat` uses the pager that is specified in the `PAGER` environment variable. If this variable is not | ||||
| @@ -444,6 +517,8 @@ set, `less` is used by default. If you want to use a different pager, you can ei | ||||
| `PAGER` variable or set the `BAT_PAGER` environment variable to override what is specified in | ||||
| `PAGER`. | ||||
|  | ||||
| **Note**: If `PAGER` is `more` or `most`, `bat` will silently use `less` instead to ensure support for colors. | ||||
|  | ||||
| If you want to pass command-line arguments to the pager, you can also set them via the | ||||
| `PAGER`/`BAT_PAGER` variables: | ||||
|  | ||||
| @@ -468,6 +543,16 @@ If you want to enable mouse-wheel scrolling on older versions of `less`, you can | ||||
| in the example above, this will disable the quit-if-one-screen feature). For less 530 or newer, | ||||
| it should work out of the box. | ||||
|  | ||||
| ### Indentation | ||||
|  | ||||
| `bat` expands tabs to 4 spaces by itself, not relying on the pager. To change this, simply add the | ||||
| `--tabs` argument with the number of spaces you want to be displayed. | ||||
|  | ||||
| **Note**: Defining tab stops for the pager (via the `--pager` argument by `bat`, or via the `LESS` | ||||
| environment variable for `less`) won't be taken into account because the pager will already get | ||||
| expanded spaces instead of tabs. This behaviour is added to avoid indentation issues caused by the | ||||
| sidebar. Calling `bat` with `--tabs=0` will override it and let tabs be consumed by the pager. | ||||
|  | ||||
| ### Dark mode | ||||
|  | ||||
| If you make use of the dark mode feature in macOS, you might want to configure `bat` to use a different | ||||
| @@ -478,6 +563,7 @@ and the `GitHub` theme when in the _light mode_. | ||||
| alias cat="bat --theme=\$(defaults read -globalDomain AppleInterfaceStyle &> /dev/null && echo default || echo GitHub)" | ||||
| ``` | ||||
|  | ||||
|  | ||||
| ## Configuration file | ||||
|  | ||||
| `bat` can also be customized with a configuration file. The location of the file is dependent | ||||
| @@ -514,15 +600,16 @@ Example configuration file: | ||||
|  | ||||
| # Use C++ syntax for .ino files | ||||
| --map-syntax "*.ino:C++" | ||||
|  | ||||
| # Use ".gitignore"-style highlighting for ".ignore" files | ||||
| --map-syntax ".ignore:Git Ignore" | ||||
| ``` | ||||
|  | ||||
| ## Using `bat` on Windows | ||||
|  | ||||
| `bat` mostly works out-of-the-box on Windows, but a few features may need extra configuration. | ||||
|  | ||||
| ### Prerequisites | ||||
|  | ||||
| You will need to install the [Visual C++ Redistributable](https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads) package. | ||||
|  | ||||
| ### Paging | ||||
|  | ||||
| Windows only includes a very limited pager in the form of `more`. You can download a Windows binary | ||||
| @@ -565,9 +652,10 @@ bat() { | ||||
|  | ||||
| ### Terminals & colors | ||||
|  | ||||
| `bat` handles terminals *with* and *without* truecolor support. However, the colors in the syntax | ||||
| highlighting themes are not optimized for 8-bit colors and it is therefore strongly recommended | ||||
| that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...). | ||||
| `bat` handles terminals *with* and *without* truecolor support. However, the colors in most syntax | ||||
| highlighting themes are not optimized for 8-bit colors. It is therefore strongly recommended | ||||
| that you use a terminal with 24-bit truecolor support (`terminator`, `konsole`, `iTerm2`, ...), | ||||
| or use one of the basic [8-bit themes](#8-bit-themes) designed for a restricted set of colors. | ||||
| See [this article](https://gist.github.com/XVilka/8346728) for more details and a full list of | ||||
| terminals with truecolor support. | ||||
|  | ||||
| @@ -606,17 +694,32 @@ cargo build --bins | ||||
| cargo test | ||||
|  | ||||
| # Install (release version) | ||||
| cargo install --locked | ||||
| cargo install --path . --locked | ||||
|  | ||||
| # Build a bat binary with modified syntaxes and themes | ||||
| bash assets/create.sh | ||||
| cargo install --locked --force | ||||
| cargo install --path . --locked --force | ||||
| ``` | ||||
|  | ||||
| If you want to build an application that uses `bat`s pretty-printing | ||||
| features as a library, check out the [the API documentation](https://docs.rs/bat/). | ||||
| Note that you have to use either `regex-onig` or `regex-fancy` as a feature | ||||
| when you depend on `bat` as a library. | ||||
|  | ||||
| ## Contributing | ||||
|  | ||||
| Take a look at the [`CONTRIBUTING.md`](CONTRIBUTING.md) guide. | ||||
|  | ||||
| ## Maintainers | ||||
|  | ||||
| - [sharkdp](https://github.com/sharkdp) | ||||
| - [eth-p](https://github.com/eth-p) | ||||
| - [keith-hall](https://github.com/keith-hall) | ||||
| - [Enselic](https://github.com/Enselic) | ||||
|  | ||||
| ## Security vulnerabilities | ||||
|  | ||||
| Please contact [David Peter](https://david-peter.de/) via email if you want to report a vulnerability in `bat`. | ||||
|  | ||||
| ## Project goals and alternatives | ||||
|  | ||||
| @@ -631,8 +734,8 @@ There are a lot of alternatives, if you are looking for similar programs. See | ||||
| [this document](doc/alternatives.md) for a comparison. | ||||
|  | ||||
| ## License | ||||
| Copyright (c) 2018-2020 [bat-developers](https://github.com/sharkdp/bat). | ||||
| Copyright (c) 2018-2021 [bat-developers](https://github.com/sharkdp/bat). | ||||
|  | ||||
| `bat` is distributed under the terms of both the MIT License and the Apache License 2.0. | ||||
| `bat` is made available under the terms of either the MIT License or the Apache License 2.0, at your option. | ||||
|  | ||||
| See the [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) files for license details. | ||||
|   | ||||
							
								
								
									
										49
									
								
								appveyor.yml
									
									
									
									
									
								
							
							
						
						
									
										49
									
								
								appveyor.yml
									
									
									
									
									
								
							| @@ -1,49 +0,0 @@ | ||||
| environment: | ||||
|   global: | ||||
|     TARGET: x86_64-pc-windows-msvc | ||||
|     RUST_VERSION: stable | ||||
|     CRATE_NAME: bat | ||||
|     CARGO_HOME: "c:\\cargo" | ||||
|     RUSTUP_HOME: "c:\\rustup" | ||||
|  | ||||
| install: | ||||
|   - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe | ||||
|   - rustup-init.exe -y --default-host %TARGET% --profile minimal | ||||
|   - set PATH=%PATH%;C:\cargo\bin | ||||
|   - rustc -Vv | ||||
|   - cargo -V | ||||
|  | ||||
| build: false | ||||
| test_script: | ||||
|   - cargo test --target %TARGET% --verbose | ||||
|   - cargo run --target %TARGET% -- src/bin/bat/main.rs README.md --paging=never | ||||
|  | ||||
| before_deploy: | ||||
|   # Generate artifacts for release | ||||
|   - cargo build --bins --release --verbose | ||||
|   - ps: ci\before_deploy.ps1 | ||||
|  | ||||
| deploy: | ||||
|   description: 'Automatically deployed release' | ||||
|   artifact: /.*\.zip/ | ||||
|   # Here's how: | ||||
|   # - Go to 'https://github.com/settings/tokens/new' and generate a Token with only the | ||||
|   # `public_repo` scope enabled | ||||
|   # - Then go to 'https://ci.appveyor.com/tools/encrypt' and enter the newly generated token. | ||||
|   # - Enter the "encrypted value" below | ||||
|   auth_token: | ||||
|     secure: oO4/J+hcFXgXcEqEc8gzlQNqLG0IxU78s4EyH+uczGdsyWajb3yipxPR6nXUvmoj | ||||
|   provider: GitHub | ||||
|   on: | ||||
|     RUST_VERSION: stable | ||||
|     appveyor_repo_tag: true | ||||
|  | ||||
| cache: | ||||
|   - C:\Users\appveyor\.cargo\registry | ||||
|   - target | ||||
|  | ||||
| notifications: | ||||
|   - provider: Email | ||||
|     on_build_success: false | ||||
|     on_build_failure: false | ||||
|     on_build_status_changed: false | ||||
							
								
								
									
										44
									
								
								assets/README.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										44
									
								
								assets/README.md
									
									
									
									
										vendored
									
									
								
							| @@ -1,44 +0,0 @@ | ||||
| ## Syntax Highlighting in bat | ||||
|  | ||||
| `bat` uses the [syntect](https://github.com/trishume/syntect) library to highlight source | ||||
| code. As a basis, syntect uses [Sublime Text](https://www.sublimetext.com/) syntax definitions | ||||
| in the `.sublime-syntax` format. | ||||
|  | ||||
| In order to add new syntaxes to `bat`, follow these steps: | ||||
|  | ||||
| 1. Find a Sublime Text syntax for the given language, preferably in a separate Git repository | ||||
|    which can be included as a submodule (under `assets/syntaxes`). | ||||
|  | ||||
| 2. If the Sublime Text syntax is only available as a `.tmLanguage` file, open the file in | ||||
|    Sublime Text and convert it to a `.sublime-syntax` file via *Tools* -> *Developer* -> | ||||
|    *New Syntax from XXX.tmLanguage...*. Save the new file in the `assets/syntaxes` folder. | ||||
|  | ||||
| 3. Run the `create.sh` script. It calls `bat cache --build` to parse all available | ||||
|    `.sublime-syntax` files and serialize them to a `syntaxes.bin` file (in this folder). | ||||
|  | ||||
| 4. Re-compile `bat`. At compilation time, the `syntaxes.bin` file will be stored inside the | ||||
|    `bat` binary. | ||||
|  | ||||
| 5. If you send a pull request with your changes, please do *not* include the changed `syntaxes.bin` | ||||
|    file. A new binary cache file will be created once before every new release of `bat`. | ||||
|  | ||||
| ### Troubleshooting | ||||
|  | ||||
| Make sure that the local cache does not interfere with the internally stored syntaxes and | ||||
| themes (`bat cache --clear`). | ||||
|  | ||||
| ### Manual modifications | ||||
|  | ||||
| The following files have been manually modified after converting from a `.tmLanguage` file: | ||||
|  | ||||
| * `Dart.sublime-syntax` => removed `#regex.dart` include. | ||||
| * `INI.sublime-syntax` => added `.hgrc`, `hgrc`, and `desktop` file types. | ||||
| * `Org mode.sublime-syntax` => removed `task` file type. | ||||
|  | ||||
| ### Non-submodule additions | ||||
|  | ||||
| * `Assembly (x86_64)` has been manually added from https://github.com/13xforever/x86-assembly-textmate-bundle due to `git clone` recursion problems | ||||
| * `Nim.sublime-syntax` has been added manually from https://github.com/getzola/zola/blob/master/sublime_syntaxes/Nim.sublime-syntax as there was no suitable Git repository for it. The original syntax seems to originate from https://github.com/Varriount/NimLime | ||||
| * `Rego.sublime-syntax` has been added manually from https://github.com/open-policy-agent/opa/blob/master/misc/syntax/sublime/rego.sublime-syntax | ||||
|    as it is not kept in a standalone repository. The file is generated from | ||||
|    https://github.com/open-policy-agent/opa/blob/master/misc/syntax/textmate/Rego.tmLanguage | ||||
							
								
								
									
										88
									
								
								assets/completions/bat.bash.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										88
									
								
								assets/completions/bat.bash.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,88 @@ | ||||
| # shellcheck disable=SC2207 | ||||
|  | ||||
| # Requires https://github.com/scop/bash-completion | ||||
|  | ||||
| _bat() { | ||||
| 	local cur prev words cword split | ||||
| 	_init_completion -s || return 0 | ||||
|  | ||||
| 	if [[ ${words[1]-} == cache ]]; then | ||||
| 		case $prev in | ||||
| 		--source | --target) | ||||
| 			_filedir -d | ||||
| 			return 0 | ||||
| 			;; | ||||
| 		esac | ||||
| 		COMPREPLY=($(compgen -W " | ||||
| 			--build --clear --source --target --blank --help | ||||
| 		" -- "$cur")) | ||||
| 		return 0 | ||||
| 	fi | ||||
|  | ||||
| 	case $prev in | ||||
| 	-l | --language) | ||||
| 		local IFS=$'\n' | ||||
| 		COMPREPLY=($(compgen -W "$( | ||||
| 			"$1" --list-languages | while IFS=: read -r lang _; do | ||||
| 				printf "%s\n" "$lang" | ||||
| 			done | ||||
| 		)" -- "$cur")) | ||||
| 		compopt -o filenames  # for escaping | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	-H | --highlight-line | --diff-context | --tabs | --terminal-width | \ | ||||
| 	-m | --map-syntax | --style | --line-range | -h | --help | -V | \ | ||||
| 	--version | --diagnostic | --config-file | --config-dir | \ | ||||
| 	--cache-dir | --generate-config-file) | ||||
| 		# argument required but no completion available, or option | ||||
| 		# causes an exit | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--file-name) | ||||
| 		_filedir | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--wrap) | ||||
| 		COMPREPLY=($(compgen -W "auto never character" -- "$cur")) | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--color | --decorations | --paging) | ||||
| 		COMPREPLY=($(compgen -W "auto never always" -- "$cur")) | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--italic-text) | ||||
| 		COMPREPLY=($(compgen -W "always never" -- "$cur")) | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--pager) | ||||
| 		COMPREPLY=($(compgen -c -- "$cur")) | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	--theme) | ||||
| 		local IFS=$'\n' | ||||
| 		COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur")) | ||||
| 		compopt -o filenames  # for escaping | ||||
| 		return 0 | ||||
| 		;; | ||||
| 	esac | ||||
|  | ||||
| 	$split && return 0 | ||||
|  | ||||
| 	if [[ $cur == -* ]]; then | ||||
| 		COMPREPLY=($(compgen -W " | ||||
| 			--show-all --plain --language --highlight-line | ||||
| 			--file-name --diff --diff-context --tabs --wrap | ||||
| 			--terminal-width --number --color --italic-text | ||||
| 			--decorations --paging --pager --map-syntax --theme | ||||
| 			--list-themes --style --line-range --list-languages | ||||
| 			--help --version --force-colorization --unbuffered | ||||
| 			--diagnostic --config-file --config-dir --cache-dir | ||||
| 			--generate-config-file | ||||
| 		" -- "$cur")) | ||||
| 		return 0 | ||||
| 	fi | ||||
|  | ||||
| 	_filedir | ||||
| 	((cword == 1)) && COMPREPLY+=($(compgen -W cache -- "$cur")) | ||||
|  | ||||
| } && complete -F _bat {{PROJECT_EXECUTABLE}} | ||||
							
								
								
									
										4
									
								
								assets/completions/bat.fish.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								assets/completions/bat.fish.in
									
									
									
									
										vendored
									
									
								
							| @@ -34,7 +34,7 @@ complete -c {{PROJECT_EXECUTABLE}} -s H -l highlight-line -x -d "<N> Highlight t | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -l italic-text -xka "always never" -d "Specify when to use ANSI sequences for italic text (default: never)" -n "not __fish_seen_subcommand_from cache" | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)"  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s l -l language -d "Set the language for syntax highlighting" -n "not __fish_seen_subcommand_from cache" -xa "(__{{PROJECT_EXECUTABLE}}_autocomplete_languages)" | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s r -l line-range -x -d "<N:M> Only print the specified range of lines for each file" -n "not __fish_seen_subcommand_from cache" | ||||
|  | ||||
| @@ -52,6 +52,8 @@ complete -c {{PROJECT_EXECUTABLE}} -l paging -xka "auto never always" -d "Specif | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s p -l plain -d "Only show plain style, no decorations. Alias for '--style=plain'" -n "not __fish_seen_subcommand_from cache" | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s P -d "Disable paging. Alias for '--paging=never'" -n "not __fish_seen_subcommand_from cache" | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -s A -l show-all -d "Show non-printable characters like space/tab/newline" -n "not __fish_seen_subcommand_from cache" | ||||
|  | ||||
| complete -c {{PROJECT_EXECUTABLE}} -l style -xka "auto full plain changes header grid numbers" -d "Comma-separated list of style elements or presets to display with file contents" -n "not __fish_seen_subcommand_from cache" | ||||
|   | ||||
							
								
								
									
										99
									
								
								assets/completions/bat.zsh.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										99
									
								
								assets/completions/bat.zsh.in
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,99 @@ | ||||
| #compdef {{PROJECT_EXECUTABLE}} | ||||
|  | ||||
| local context state state_descr line | ||||
| typeset -A opt_args | ||||
|  | ||||
| (( $+functions[_{{PROJECT_EXECUTABLE}}_cache_subcommand] )) || | ||||
| _{{PROJECT_EXECUTABLE}}_cache_subcommand() { | ||||
|     local -a args | ||||
|     args=( | ||||
|         '(-b --build -c --clear)'{-b,--build}'[Initialize or update the syntax/theme cache]' | ||||
|         '(-b --build -c --clear)'{-c,--clear}'[Remove the cached syntax definitions and themes]' | ||||
|         '(--source)'--source='[Use a different directory to load syntaxes and themes from]:directory:_files -/' | ||||
|         '(--target)'--target='[Use a different directory to store the cached syntax and theme set]:directory:_files -/' | ||||
|         '(--blank)'--blank'[Create completely new syntax and theme sets]' | ||||
|         '(: -)'{-h,--help}'[Prints help information]' | ||||
|         '*: :' | ||||
|     ) | ||||
|  | ||||
|     _arguments -S -s $args | ||||
| } | ||||
|  | ||||
| (( $+functions[_{{PROJECT_EXECUTABLE}}_main] )) || | ||||
| _{{PROJECT_EXECUTABLE}}_main() { | ||||
|     local -a args | ||||
|     args=( | ||||
|         '(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]' | ||||
|         '*'{-p,--plain}'[Show plain style (alias for `--style=plain`), repeat twice to disable disable automatic paging (alias for `--paging=never`)]' | ||||
|         '(-l --language)'{-l+,--language=}'[Set the language for syntax highlighting]:<language>:->language' | ||||
|         '(-H --highlight-line)'{-H,--highlight-line}'[Highlight lines N through M]:<N\:M>...' | ||||
|         '(--file-name)'--file-name'[Specify the name to display for a file]:<name>...:_files' | ||||
|         '(-d --diff)'--diff'[Only show lines that have been added/removed/modified]' | ||||
|         '(--diff-context)'--diff-context'[Include N lines of context around added/removed/modified lines when using `--diff`]:<N> (lines):()' | ||||
|         '(--tabs)'--tabs'[Set the tab width to T spaces]:<T> (tab width):()' | ||||
|         '(--wrap)'--wrap='[Specify the text-wrapping mode]:<when>:(auto never character)' | ||||
|         '(--terminal-width)'--terminal-width'[Explicitly set the width of the terminal instead of determining it automatically]:<width>' | ||||
|         '(-n --number)'{-n,--number}'[Show line numbers]' | ||||
|         '(--color)'--color='[When to use colors]:<when>:(auto never always)' | ||||
|         '(--italic-text)'--italic-text='[Use italics in output]:<when>:(always never)' | ||||
|         '(--decorations)'--decorations='[When to show the decorations]:<when>:(auto never always)' | ||||
|         '(--paging)'--paging='[Specify when to use the pager]:<when>:(auto never always)' | ||||
|         '(-m --map-syntax)'{-m+,--map-syntax=}'[Use the specified syntax for files matching the glob pattern]:<glob\:syntax>...' | ||||
|         '(--theme)'--theme='[Set the color theme for syntax highlighting]:<theme>:->theme' | ||||
|         '(: --list-themes --list-languages -L)'--list-themes'[Display all supported highlighting themes]' | ||||
|         '(--style)'--style='[Comma-separated list of style elements to display]:<components>:->style' | ||||
|         '(-r --line-range)'{-r+,--line-range=}'[Only print the lines from N to M]:<N\:M>...' | ||||
|         '(: --list-themes --list-languages -L)'{-L,--list-languages}'[Display all supported languages]' | ||||
|         '(: --no-config)'--no-config'[Do not use the configuration file]' | ||||
|         '(: --no-custom-assets)'--no-custom-assets'[Do not load custom assets]' | ||||
|         '(: --config-dir)'--config-dir'[Show bat'"'"'s configuration directory]' | ||||
|         '(: --config-file)'--config-file'[Show path to the configuration file]' | ||||
|         '(: --generate-config-file)'--generate-config-file'[Generates a default configuration file]' | ||||
|         '(: --cache-dir)'--cache-dir'[Show bat'"'"'s cache directory]' | ||||
|         '(: -)'{-h,--help}'[Print this help message]' | ||||
|         '(: -)'{-V,--version}'[Show version information]' | ||||
|         '*: :_files' | ||||
|     ) | ||||
|  | ||||
|     _arguments -S -s $args | ||||
|  | ||||
|     case "$state" in | ||||
|         language) | ||||
|             local IFS=$'\n' | ||||
|             local -a languages | ||||
|             languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') ) | ||||
|  | ||||
|             _describe 'language' languages | ||||
|         ;; | ||||
|  | ||||
|         theme) | ||||
|             local IFS=$'\n' | ||||
|             local -a themes | ||||
|             themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) ) | ||||
|  | ||||
|             _values 'theme' $themes | ||||
|         ;; | ||||
|  | ||||
|         style) | ||||
|             _values -s , 'style' auto full plain changes header grid numbers snip | ||||
|         ;; | ||||
|     esac | ||||
| } | ||||
|  | ||||
| # first positional argument | ||||
| if (( ${#words} == 2 )); then | ||||
|     local -a subcommands | ||||
|     subcommands=('cache:Modify the syntax-definition and theme cache') | ||||
|     _describe subcommand subcommands | ||||
|     _{{PROJECT_EXECUTABLE}}_main | ||||
| else | ||||
|     case $words[2] in | ||||
|         cache) | ||||
|             _{{PROJECT_EXECUTABLE}}_cache_subcommand | ||||
|         ;; | ||||
|  | ||||
|         *) | ||||
|             _{{PROJECT_EXECUTABLE}}_main | ||||
|         ;; | ||||
|     esac | ||||
| fi | ||||
							
								
								
									
										4
									
								
								assets/create.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								assets/create.sh
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +1,11 @@ | ||||
| #!/bin/bash | ||||
| #!/usr/bin/env bash | ||||
| set -euo pipefail | ||||
|  | ||||
| ASSET_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" | ||||
| REPO_DIR="$ASSET_DIR/.." | ||||
|  | ||||
| # Ensure submodules are initialized. | ||||
| function update_submodules() { | ||||
| update_submodules() { | ||||
| 	local submodule | ||||
| 	local submodule_prompt=unspecified | ||||
| 	local submodule_path | ||||
|   | ||||
							
								
								
									
										78
									
								
								assets/manual/bat.1.in
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										78
									
								
								assets/manual/bat.1.in
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| .TH {{PROJECT_EXECUTABLE | upcase}} "1" | ||||
| .TH {{PROJECT_EXECUTABLE_UPPERCASE}} "1" | ||||
| .SH NAME | ||||
| {{PROJECT_EXECUTABLE}} \- a cat(1) clone with syntax highlighting and Git integration. | ||||
| .SH "USAGE" | ||||
| @@ -40,7 +40,7 @@ language names and file extensions. | ||||
| .HP | ||||
| \fB\-H\fR, \fB\-\-highlight\-line\fR <N:M>... | ||||
| .IP | ||||
| Highlight the specified line ranges with a different background color For example: | ||||
| Highlight the specified line ranges with a different background color. For example: | ||||
| .RS | ||||
| .IP "\-\-highlight\-line 40" | ||||
| highlights line 40 | ||||
| @@ -52,6 +52,18 @@ highlights lines 1 to 40 | ||||
| highlights lines 40 to the end of the file | ||||
| .RE | ||||
| .HP | ||||
| \fB\-\-file\-name\fR <name>... | ||||
| .IP | ||||
| Specify the name to display for a file. Useful when piping data to {{PROJECT_EXECUTABLE}} from STDIN when {{PROJECT_EXECUTABLE}} does not otherwise know the filename. Note that the provided file name is also used for syntax detection. | ||||
| .HP | ||||
| \fB\-d\fR, \fB\-\-diff\fR | ||||
| .IP | ||||
| Only show lines that have been added/removed/modified with respect to the Git index. Use '\-\-diff\-context=N' to control how much context you want to see. | ||||
| .HP | ||||
| \fB\-\-diff\-context\fR <N>... | ||||
| .IP | ||||
| Include N lines of context around added/removed/modified lines when using '\-\-diff'. | ||||
| .HP | ||||
| \fB\-\-tabs\fR <T> | ||||
| .IP | ||||
| Set the tab width to T spaces. Use a width of 0 to pass tabs through directly | ||||
| @@ -87,17 +99,22 @@ Specify when to use the decorations that have been specified via '\-\-style'. Th | ||||
| automatic mode only enables decorations if an interactive terminal is detected. Possible | ||||
| values: *auto*, never, always. | ||||
| .HP | ||||
| \fB\-f\fR, \fB\-\-force\-colorization\fR | ||||
| .IP | ||||
| Alias for '--decorations=always --color=always'. This is useful \ | ||||
| if the output of {{PROJECT_EXECUTABLE}} is piped to another program, but you want \ | ||||
| to keep the colorization/decorations. | ||||
| .HP | ||||
| \fB\-\-paging\fR <when> | ||||
| .IP | ||||
| Specify when to use the pager. To control which pager is used, set the PAGER or | ||||
| BAT_PAGER environment variables (the latter takes precedence) or use the '\-\-pager' | ||||
| option. To disable the pager permanently, set BAT_PAGER to an empty string or set | ||||
| \&'\-\-paging=never' in the configuration file. Possible values: *auto*, never, always. | ||||
| Specify when to use the pager. To disable the pager, use \&'\-\-paging=never' or its alias, | ||||
| \fB-P\fR. To disable the pager permanently, set BAT_PAGER to an empty string. To control | ||||
| which pager is used, see the '\-\-pager' option. Possible values: *auto*, never, always. | ||||
| .HP | ||||
| \fB\-\-pager\fR <command> | ||||
| .IP | ||||
| Determine which pager is used. This option will overwrite the PAGER and BAT_PAGER | ||||
| environment variables. The default pager is 'less'. To disable the pager completely, use | ||||
| Determine which pager is used. This option will override the PAGER and BAT_PAGER | ||||
| environment variables. The default pager is 'less'. To control when the pager is used, see | ||||
| the '\-\-paging' option. Example: '\-\-pager "less \fB\-RF\fR"'. | ||||
| .HP | ||||
| \fB\-m\fR, \fB\-\-map\-syntax\fR <glob-pattern:syntax-name>... | ||||
| @@ -106,6 +123,7 @@ Map a glob pattern to an existing syntax name. The glob pattern is matched on th | ||||
| path and the filename. For example, to highlight *.build files with the Python syntax, | ||||
| use -m '*.build:Python'. To highlight files named '.myignore' with the Git Ignore | ||||
| syntax, use -m '.myignore:Git Ignore'. | ||||
| Note that the right-hand side is the *name* of the syntax, not a file extension. | ||||
| .HP | ||||
| \fB\-\-theme\fR <theme> | ||||
| .IP | ||||
| @@ -124,7 +142,7 @@ Configure which elements (line numbers, file headers, grid borders, Git modifica | ||||
| of components to display (e.g. 'numbers,changes,grid') or a pre\-defined style ('full'). | ||||
| To set a default style, add the '\-\-style=".."' option to the configuration file or | ||||
| export the BAT_STYLE environment variable (e.g.: export BAT_STYLE=".."). Possible | ||||
| values: *auto*, full, plain, changes, header, grid, numbers, snip. | ||||
| values: *full*, auto, plain, changes, header, grid, rule, numbers, snip. | ||||
| .HP | ||||
| \fB\-r\fR, \fB\-\-line\-range\fR <N:M>... | ||||
| .IP | ||||
| @@ -169,5 +187,45 @@ is dependent on your operating system. To get the default path for your system, | ||||
|  | ||||
| \fB{{PROJECT_EXECUTABLE}} --config-file\fR | ||||
|  | ||||
| Alternatively, you can use the BAT_CONFIG_PATH environment variable to point bat to a non-default | ||||
| Alternatively, you can use the BAT_CONFIG_PATH environment variable to point {{PROJECT_EXECUTABLE}} to a non-default | ||||
| location of the configuration file. | ||||
|  | ||||
| To generate a default configuration file, call: | ||||
|  | ||||
| \fB{{PROJECT_EXECUTABLE}} --generate-config-file\fR | ||||
| .SH "ADDING CUSTOM LANGUAGES" | ||||
| {{PROJECT_EXECUTABLE}} supports Sublime Text \fB.sublime-syntax\fR language files, and can be | ||||
| customized to add additional languages to your local installation. To do this, add the \fB.sublime-syntax\fR language | ||||
| files to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes\fR` and run `\fB{{PROJECT_EXECUTABLE}} cache --build\fR`. | ||||
|  | ||||
| \fBExample:\fR | ||||
|  | ||||
| .RS 0.5i | ||||
| mkdir -p "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes" | ||||
| .br | ||||
| cd "$({{PROJECT_EXECUTABLE}} --config-dir)/syntaxes" | ||||
|  | ||||
| # Put new '.sublime-syntax' language definition files | ||||
| .br | ||||
| # in this folder (or its subdirectories), for example: | ||||
| .br | ||||
| git clone https://github.com/tellnobody1/sublime-purescript-syntax | ||||
|  | ||||
| # And then build the cache. | ||||
| .br | ||||
| {{PROJECT_EXECUTABLE}} cache --build | ||||
| .RE | ||||
|  | ||||
| Once the cache is built, the new language will be visible in `\fB{{PROJECT_EXECUTABLE}} --list-languages\fR`. | ||||
| .br | ||||
| If you ever want to remove the custom languages, you can clear the cache with `\fB{{PROJECT_EXECUTABLE}} cache --clear\fR`. | ||||
|  | ||||
| .SH "ADDING CUSTOM THEMES" | ||||
| Similarly to custom languages, {{PROJECT_EXECUTABLE}} supports Sublime Text \fB.tmTheme\fR themes. | ||||
| These can be installed to `\fB$({{PROJECT_EXECUTABLE}} --config-dir)/themes\fR`, and are added to the cache with | ||||
| `\fB{{PROJECT_EXECUTABLE}} cache --build`. | ||||
| .SH "MORE INFORMATION" | ||||
|  | ||||
| For more information and up-to-date documentation, visit the {{PROJECT_EXECUTABLE}} repo: | ||||
| .br | ||||
| \fBhttps://github.com/sharkdp/bat\fR | ||||
|   | ||||
							
								
								
									
										16
									
								
								assets/patches/Groff.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								assets/patches/Groff.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| diff --git syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax | ||||
| index 57834af..6648664 100644 | ||||
| --- syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax	 | ||||
| +++ syntaxes/02_Extra/Groff/Man Page/Man Page.sublime-syntax	 | ||||
| @@ -4,9 +4,9 @@ | ||||
|  #   - man-pages(7) | ||||
|  #   - groff(7) | ||||
|  --- | ||||
| -name: Man Page (groff/troff) | ||||
| +name: Groff/troff | ||||
|  scope: text.groff | ||||
| -file_extensions: [man, groff, troff, '1', '2', '3', '4', '5', '6', '7'] | ||||
| +file_extensions: [groff, troff, '1', '2', '3', '4', '5', '6', '7', '8', '9'] | ||||
|   | ||||
|  contexts: | ||||
|    main: | ||||
							
								
								
									
										11
									
								
								assets/patches/Markdown.sublime-syntax.patch
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								assets/patches/Markdown.sublime-syntax.patch
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | ||||
| diff --git syntaxes/01_Packages/Markdown/Markdown.sublime-syntax syntaxes/01_Packages/Markdown/Markdown.sublime-syntax | ||||
| index 19dc685d..6afd87ae 100644 | ||||
| index 19dc685d..44440c7f 100644 | ||||
| --- syntaxes/01_Packages/Markdown/Markdown.sublime-syntax | ||||
| +++ syntaxes/01_Packages/Markdown/Markdown.sublime-syntax | ||||
| @@ -24,7 +24,6 @@ variables: | ||||
| @@ -166,3 +166,12 @@ index 19dc685d..6afd87ae 100644 | ||||
|      - match: ^\s*$\n? | ||||
|        scope: invalid.illegal.non-terminated.bold-italic.markdown | ||||
|        pop: true | ||||
| @@ -1152,7 +1110,7 @@ contexts: | ||||
|      - match: |- | ||||
|           (?x) | ||||
|            {{fenced_code_block_start}} | ||||
| -          ((?i:rust)) | ||||
| +          ((?i:rust|rs)) | ||||
|            {{fenced_code_block_trailing_infostring_characters}} | ||||
|        captures: | ||||
|          0: meta.code-fence.definition.begin.rust.markdown-gfm | ||||
|   | ||||
							
								
								
									
										36
									
								
								assets/patches/Monokai-Extended.tmTheme.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								assets/patches/Monokai-Extended.tmTheme.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| diff --git themes/sublime-monokai-extended/Monokai\ Extended.tmTheme themes/sublime-monokai-extended/Monokai\ Extended.tmTheme | ||||
| index 9c2aa3e..180cbbf 100644 | ||||
| --- themes/sublime-monokai-extended/Monokai Extended.tmTheme	 | ||||
| +++ themes/sublime-monokai-extended/Monokai Extended.tmTheme	 | ||||
| @@ -810,11 +810,11 @@ | ||||
|        <key>name</key> | ||||
|        <string>JSON String</string> | ||||
|        <key>scope</key> | ||||
| -      <string>meta.structure.dictionary.json string.quoted.double.json</string> | ||||
| +      <string>meta.mapping.key.json string.quoted.double.json, punctuation.separator.sequence.csv</string> | ||||
|        <key>settings</key> | ||||
|        <dict> | ||||
|          <key>foreground</key> | ||||
| -        <string>#cfcfc2</string> | ||||
| +        <string>#fd971f</string> | ||||
|        </dict> | ||||
|      </dict> | ||||
|      <dict> | ||||
| @@ -1027,7 +1027,7 @@ | ||||
|        <key>name</key> | ||||
|        <string>Invalid</string> | ||||
|        <key>scope</key> | ||||
| -      <string>invalid</string> | ||||
| +      <string>invalid, markup.error</string> | ||||
|        <key>settings</key> | ||||
|        <dict> | ||||
|          <key>background</key> | ||||
| @@ -1042,7 +1042,7 @@ | ||||
|        <key>name</key> | ||||
|        <string>Invalid deprecated</string> | ||||
|        <key>scope</key> | ||||
| -      <string>invalid.deprecated</string> | ||||
| +      <string>invalid.deprecated, markup.warning</string> | ||||
|        <key>settings</key> | ||||
|        <dict> | ||||
|          <key>background</key> | ||||
							
								
								
									
										15
									
								
								assets/patches/Python.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								assets/patches/Python.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| diff --git syntaxes/01_Packages/Python/Python.sublime-syntax syntaxes/01_Packages/Python/Python.sublime-syntax | ||||
| index 2acd86d8..86257f7b 100644 | ||||
| --- syntaxes/01_Packages/Python/Python.sublime-syntax | ||||
| +++ syntaxes/01_Packages/Python/Python.sublime-syntax | ||||
| @@ -988,10 +988,6 @@ contexts: | ||||
|          - match: \} | ||||
|            scope: punctuation.section.mapping-or-set.end.python | ||||
|            set: after-expression | ||||
| -        - match: (?={{simple_expression}}:|\s*\*\*) | ||||
| -          set: inside-dictionary | ||||
| -        - match: (?={{simple_expression}}[,}]|\s*\*) | ||||
| -          set: inside-set | ||||
|          - match: ',' | ||||
|            scope: punctuation.separator.set.python | ||||
|            set: inside-set | ||||
							
								
								
									
										20
									
								
								assets/patches/ShellScript.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								assets/patches/ShellScript.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| diff --git syntaxes/01_Packages/ShellScript/Bash.sublime-syntax syntaxes/01_Packages/ShellScript/Bash.sublime-syntax | ||||
| index e973e319..07c170a7 100644 | ||||
| --- syntaxes/01_Packages/ShellScript/Bash.sublime-syntax | ||||
| +++ syntaxes/01_Packages/ShellScript/Bash.sublime-syntax | ||||
| @@ -30,12 +30,12 @@ file_extensions: | ||||
|    - .zshenv | ||||
|    - .zshrc | ||||
|    - PKGBUILD  # https://jlk.fjfi.cvut.cz/arch/manpages/man/PKGBUILD.5 | ||||
| -  - .ebuild | ||||
| -  - .eclass | ||||
| +  - ebuild | ||||
| +  - eclass | ||||
|   | ||||
|  first_line_match: | | ||||
|    (?x) | ||||
| -    ^\#! .* \b(bash|zsh|sh|tcsh|ash)\b | ||||
| +    ^\#! .* \b(bash|zsh|sh|tcsh|ash|dash)\b | ||||
|    | ^\# \s* -\*- [^*]* mode: \s* shell-script [^*]* -\*- | ||||
|   | ||||
|  #------------------------------------------------------------------------------- | ||||
							
								
								
									
										12
									
								
								assets/patches/XML.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								assets/patches/XML.sublime-syntax.patch
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| diff --git syntaxes/01_Packages/XML/XML.sublime-syntax syntaxes/01_Packages/XML/XML.sublime-syntax | ||||
| index ad7d9c87..af4a00f0 100644 | ||||
| --- syntaxes/01_Packages/XML/XML.sublime-syntax | ||||
| +++ syntaxes/01_Packages/XML/XML.sublime-syntax | ||||
| @@ -12,6 +12,7 @@ file_extensions: | ||||
|    - rss | ||||
|    - opml | ||||
|    - svg | ||||
| +  - xaml | ||||
|  first_line_match: |- | ||||
|      (?x: | ||||
|        ^(?: | ||||
							
								
								
									
										
											BIN
										
									
								
								assets/syntaxes.bin
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/syntaxes.bin
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/AWK
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/AWK
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/AWK updated: 1ce5f90d44...e23926eca1
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Apache
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Apache
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Apache added at 163bc03ae8
									
								
							
							
								
								
									
										221
									
								
								assets/syntaxes/02_Extra/Apache.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										221
									
								
								assets/syntaxes/02_Extra/Apache.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,221 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Apache Conf | ||||
| file_extensions: | ||||
|   - envvars | ||||
|   - htaccess | ||||
|   - HTACCESS | ||||
|   - htgroups | ||||
|   - HTGROUPS | ||||
|   - htpasswd | ||||
|   - HTPASSWD | ||||
|   - .htaccess | ||||
|   - .HTACCESS | ||||
|   - .htgroups | ||||
|   - .HTGROUPS | ||||
|   - .htpasswd | ||||
|   - .HTPASSWD | ||||
| scope: source.apacheconf | ||||
| contexts: | ||||
|   main: | ||||
|     - match: ^(\s)*(#).*$\n? | ||||
|       scope: comment.line.hash.ini | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.apacheconf | ||||
|     - match: (<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(\s(.+?))?(>) | ||||
|       captures: | ||||
|         1: punctuation.definition.tag.apacheconf | ||||
|         2: entity.tag.apacheconf | ||||
|         4: string.value.apacheconf | ||||
|         5: punctuation.definition.tag.apacheconf | ||||
|     - match: (</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost|Macro|If|Else|ElseIf)(>) | ||||
|       captures: | ||||
|         1: punctuation.definition.tag.apacheconf | ||||
|         2: entity.tag.apacheconf | ||||
|         3: punctuation.definition.tag.apacheconf | ||||
|     - match: (?<=(Rewrite(Rule|Cond)))\s+(.+?)\s+(.+?)($|\s) | ||||
|       captures: | ||||
|         3: string.regexp.apacheconf | ||||
|         4: string.replacement.apacheconf | ||||
|     - match: (?<=RedirectMatch)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))? | ||||
|       captures: | ||||
|         2: entity.status.apacheconf | ||||
|         3: string.regexp.apacheconf | ||||
|         5: string.path.apacheconf | ||||
|     - match: (?<=Redirect)(\s+(\d\d\d|permanent|temp|seeother|gone))?\s+(.+?)\s+((.+?)($|\s))? | ||||
|       captures: | ||||
|         2: entity.status.apacheconf | ||||
|         3: string.path.apacheconf | ||||
|         5: string.path.apacheconf | ||||
|     - match: (?<=ScriptAliasMatch|AliasMatch)\s+(.+?)\s+((.+?)\s)? | ||||
|       captures: | ||||
|         1: string.regexp.apacheconf | ||||
|         3: string.path.apacheconf | ||||
|     - match: (?<=RedirectPermanent|RedirectTemp|ScriptAlias|Alias)\s+(.+?)\s+((.+?)($|\s))? | ||||
|       captures: | ||||
|         1: string.path.apacheconf | ||||
|         3: string.path.apacheconf | ||||
|     - match: \b(AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|Define|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include(Optional)?|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|Mutex|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|Time(O|o)ut|TraceEnable|UseCanonicalName|Use|ErrorLogFormat|GlobalLog|PHPIniDir|SSLHonorCipherOrder|SSLCompression|SSLUseStapling|SSLStapling\w+|SSLCARevocationCheck|SSLSRPVerifierFile|SSLSessionTickets|RequestReadTimeout|ProxyHTML\w+|MaxRanges)\b | ||||
|       captures: | ||||
|         1: keyword.core.apacheconf | ||||
|     - match: \b(AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxConnectionsPerChild|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxRequestWorkers|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\b | ||||
|       captures: | ||||
|         1: keyword.mpm.apacheconf | ||||
|     - match: \b(Allow|Deny|Order)\b | ||||
|       captures: | ||||
|         1: keyword.access.apacheconf | ||||
|     - match: \b(Action|Script)\b | ||||
|       captures: | ||||
|         1: keyword.actions.apacheconf | ||||
|     - match: \b(Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\b | ||||
|       captures: | ||||
|         1: keyword.alias.apacheconf | ||||
|     - match: \b(AuthAuthoritative|AuthGroupFile|AuthUserFile|AuthBasicProvider|AuthBasicFake|AuthBasicAuthoritative|AuthBasicUseDigestAlgorithm)\b | ||||
|       captures: | ||||
|         1: keyword.auth.apacheconf | ||||
|     - match: \b(Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\b | ||||
|       captures: | ||||
|         1: keyword.auth_anon.apacheconf | ||||
|     - match: \b(AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\b | ||||
|       captures: | ||||
|         1: keyword.auth_dbm.apacheconf | ||||
|     - match: \b(AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize|AuthDigestProvider)\b | ||||
|       captures: | ||||
|         1: keyword.auth_digest.apacheconf | ||||
|     - match: \b(AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\b | ||||
|       captures: | ||||
|         1: keyword.auth_ldap.apacheconf | ||||
|     - match: \b(AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|IndexStyleSheet|IndexHeadInsert|ReadmeName)\b | ||||
|       captures: | ||||
|         1: keyword.autoindex.apacheconf | ||||
|     - match: \b(BalancerMember|BalancerGrowth|BalancerPersist|BalancerInherit)\b | ||||
|       captures: | ||||
|         1: keyword.filter.apacheconf | ||||
|     - match: \b(CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\b | ||||
|       captures: | ||||
|         1: keyword.cache.apacheconf | ||||
|     - match: \b(MetaDir|MetaFiles|MetaSuffix)\b | ||||
|       captures: | ||||
|         1: keyword.cern_meta.apacheconf | ||||
|     - match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength)\b | ||||
|       captures: | ||||
|         1: keyword.cgi.apacheconf | ||||
|     - match: \b(ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\b | ||||
|       captures: | ||||
|         1: keyword.cgid.apacheconf | ||||
|     - match: \b(CharsetDefault|CharsetOptions|CharsetSourceEnc)\b | ||||
|       captures: | ||||
|         1: keyword.charset_lite.apacheconf | ||||
|     - match: \b(Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\b | ||||
|       captures: | ||||
|         1: keyword.dav.apacheconf | ||||
|     - match: \b(DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\b | ||||
|       captures: | ||||
|         1: keyword.deflate.apacheconf | ||||
|     - match: \b(DirectoryIndex|DirectorySlash|FallbackResource)\b | ||||
|       captures: | ||||
|         1: keyword.dir.apacheconf | ||||
|     - match: \b(CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\b | ||||
|       captures: | ||||
|         1: keyword.disk_cache.apacheconf | ||||
|     - match: \b(DumpIOInput|DumpIOOutput)\b | ||||
|       captures: | ||||
|         1: keyword.dumpio.apacheconf | ||||
|     - match: \b(PassEnv|SetEnv|UnsetEnv)\b | ||||
|       captures: | ||||
|         1: keyword.env.apacheconf | ||||
|     - match: \b(ExpiresActive|ExpiresByType|ExpiresDefault)\b | ||||
|       captures: | ||||
|         1: keyword.expires.apacheconf | ||||
|     - match: \b(ExtFilterDefine|ExtFilterOptions)\b | ||||
|       captures: | ||||
|         1: keyword.ext_filter.apacheconf | ||||
|     - match: \b(CacheFile|MMapFile)\b | ||||
|       captures: | ||||
|         1: keyword.file_cache.apacheconf | ||||
|     - match: \b(AddOutputFilterByType|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace)\b | ||||
|       captures: | ||||
|         1: keyword.filter.apacheconf | ||||
|     - match: \b(Header|RequestHeader)\b | ||||
|       captures: | ||||
|         1: keyword.headers.apacheconf | ||||
|     - match: \b(ImapBase|ImapDefault|ImapMenu)\b | ||||
|       captures: | ||||
|         1: keyword.imap.apacheconf | ||||
|     - match: \b(SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\b | ||||
|       captures: | ||||
|         1: keyword.include.apacheconf | ||||
|     - match: \b(ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\b | ||||
|       captures: | ||||
|         1: keyword.isapi.apacheconf | ||||
|     - match: \b(LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\b | ||||
|       captures: | ||||
|         1: keyword.ldap.apacheconf | ||||
|     - match: \b(BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\b | ||||
|       captures: | ||||
|         1: keyword.log.apacheconf | ||||
|     - match: \b(MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\b | ||||
|       captures: | ||||
|         1: keyword.mem_cache.apacheconf | ||||
|     - match: \b(AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\b | ||||
|       captures: | ||||
|         1: keyword.mime.apacheconf | ||||
|     - match: \b(ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\b | ||||
|       captures: | ||||
|         1: keyword.misc.apacheconf | ||||
|     - match: \b(CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\b | ||||
|       captures: | ||||
|         1: keyword.negotiation.apacheconf | ||||
|     - match: \b(NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\b | ||||
|       captures: | ||||
|         1: keyword.nw_ssl.apacheconf | ||||
|     - match: \b(AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassMatch|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\b | ||||
|       captures: | ||||
|         1: keyword.proxy.apacheconf | ||||
|     - match: \b(RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\b | ||||
|       captures: | ||||
|         1: keyword.rewrite.apacheconf | ||||
|     - match: \b(BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\b | ||||
|       captures: | ||||
|         1: keyword.setenvif.apacheconf | ||||
|     - match: \b(LoadFile|LoadModule)\b | ||||
|       captures: | ||||
|         1: keyword.so.apacheconf | ||||
|     - match: \b(SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth|SSLInsecureRenegotiation|SSLOpenSSLConfCmd)\b | ||||
|       captures: | ||||
|         1: keyword.ssl.apacheconf | ||||
|     - match: \b(Substitute|SubstituteInheritBefore|SubstituteMaxLineLength)\b | ||||
|       captures: | ||||
|         1: keyword.substitute.apacheconf | ||||
|     - match: \b(CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\b | ||||
|       captures: | ||||
|         1: keyword.usertrack.apacheconf | ||||
|     - match: \b(VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\b | ||||
|       captures: | ||||
|         1: keyword.vhost_alias.apacheconf | ||||
|     - match: \b(php_value|php_flag|php_admin_value|php_admin_flag)\b(\s+(.+?)(\s+(".+?"|.+?))?)?\s | ||||
|       captures: | ||||
|         1: keyword.php.apacheconf | ||||
|         3: entity.property.apacheconf | ||||
|         5: string.value.apacheconf | ||||
|     - match: '(%\{)((HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\})' | ||||
|       captures: | ||||
|         1: punctuation.variable.apacheconf | ||||
|         3: variable.env.apacheconf | ||||
|         4: variable.misc.apacheconf | ||||
|         5: punctuation.variable.apacheconf | ||||
|     - match: \b((text|image|application|video|audio)/.+?)\s | ||||
|       captures: | ||||
|         1: entity.mime-type.apacheconf | ||||
|     - match: \b(?i)(export|from|unset|set|on|off)\b | ||||
|       captures: | ||||
|         1: entity.helper.apacheconf | ||||
|     - match: \b(\d+)\b | ||||
|       captures: | ||||
|         1: constant.numeric.integer.decimal.apacheconf | ||||
|     - match: '\s(\[)(.*?)(\])\s' | ||||
|       captures: | ||||
|         1: punctuation.definition.flag.apacheconf | ||||
|         2: string.flag.apacheconf | ||||
|         3: punctuation.definition.flag.apacheconf | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/AsciiDoc
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/AsciiDoc
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/AsciiDoc updated: d0089991e5...e316a0a85c
									
								
							
							
								
								
									
										1220
									
								
								assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1220
									
								
								assets/syntaxes/02_Extra/AsciiDoc.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/CMake
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/CMake
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/CMake updated: aba96a0862...ab6ef4ef9f
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/CSV
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/CSV
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/CSV deleted from 4786d037a7
									
								
							
							
								
								
									
										110
									
								
								assets/syntaxes/02_Extra/CSV.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										110
									
								
								assets/syntaxes/02_Extra/CSV.sublime-syntax
									
									
									
									
										vendored
									
									
								
							| @@ -1,46 +1,78 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Advanced CSV | ||||
| # See http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Comma Separated Values | ||||
| file_extensions: | ||||
|   - csv | ||||
|   - tsv | ||||
| scope: text.advanced_csv | ||||
| scope: text.csv | ||||
| variables: | ||||
|   field_separator: (?:[,;\t]) | ||||
|   record_separator: (?:$\n?) | ||||
| contexts: | ||||
|   prototype: | ||||
|     - match: (?={{record_separator}}) | ||||
|       pop: true | ||||
|   fields: | ||||
|     - match: '' | ||||
|       push: | ||||
|         - field_or_record_separator | ||||
|         - field4 | ||||
|         - field_or_record_separator | ||||
|         - field3 | ||||
|         - field_or_record_separator | ||||
|         - field2 | ||||
|         - field_or_record_separator | ||||
|         - field1 | ||||
|   main: | ||||
|     - match: (\") | ||||
|       captures: | ||||
|         1: string.quoted.double.advanced_csv | ||||
|       push: | ||||
|         - meta_scope: meta.quoted.advanced_csv | ||||
|         - match: (\") | ||||
|           captures: | ||||
|             1: string.quoted.double.advanced_csv | ||||
|           pop: true | ||||
|         - include: main | ||||
|     - match: '(\[([+-]?\d*)(\:)?([+-]?\d*)(\,)?([+-]?\d*)(\:)?([+-]?\d*)\])?\s*([<>v^])?\s*(=)' | ||||
|       captures: | ||||
|         1: keyword.operator.advanced_csv | ||||
|         2: constant.numeric.formula.advanced_csv | ||||
|         4: constant.numeric.formula.advanced_csv | ||||
|         6: constant.numeric.formula.advanced_csv | ||||
|         8: constant.numeric.formula.advanced_csv | ||||
|         9: keyword.operator.advanced_csv | ||||
|         10: keyword.operator.advanced_csv | ||||
|       push: | ||||
|         - meta_scope: meta.range.advanced_csv | ||||
|         - match: (?=(\")|$) | ||||
|           pop: true | ||||
|         - include: scope:source.python | ||||
|     - match: '(?<=^|,|\s|\")([0-9.eE+-]+)(?=$|,|\s|\")' | ||||
|       scope: meta.number.advanced_csv | ||||
|       captures: | ||||
|         1: constant.numeric.advanced_csv | ||||
|     - match: '(?<=^|,|\s|\")([^, \t\"]+)(?=$|,|\s|\")' | ||||
|       scope: meta.nonnumber.advanced_csv | ||||
|       captures: | ||||
|         1: storage.type.advanced_csv | ||||
|     - match: (\,) | ||||
|       scope: meta.delimiter.advanced_csv | ||||
|       captures: | ||||
|         1: keyword.operator.advanced_csv | ||||
|     - meta_include_prototype: false | ||||
|     - match: '^' | ||||
|       set: fields | ||||
|  | ||||
|   field_or_record_separator: | ||||
|     - meta_include_prototype: false | ||||
|     - match: '{{record_separator}}' | ||||
|       scope: punctuation.terminator.record.csv | ||||
|       pop: true | ||||
|     - match: '{{field_separator}}' | ||||
|       scope: punctuation.separator.sequence.csv | ||||
|       pop: true | ||||
|  | ||||
|   field_contents: | ||||
|     - match: '"' | ||||
|       scope: punctuation.definition.string.begin.csv | ||||
|       push: double_quoted_string | ||||
|  | ||||
|     - match: (?={{field_separator}}|{{record_separator}}) | ||||
|       pop: true | ||||
|  | ||||
|   double_quoted_string: | ||||
|     - meta_include_prototype: false | ||||
|     - meta_scope: string.quoted.double.csv | ||||
|     - match: '""' | ||||
|       scope: constant.character.escape.csv | ||||
|     - match: '"' | ||||
|       scope: punctuation.definition.string.end.csv | ||||
|       pop: true | ||||
|  | ||||
|   field1: | ||||
|     - match: '' | ||||
|       set: | ||||
|         - meta_content_scope: meta.field-1.csv support.type | ||||
|         - include: field_contents | ||||
|   field2: | ||||
|     - match: '' | ||||
|       set: | ||||
|         - meta_content_scope: meta.field-2.csv support.function | ||||
|         - include: field_contents | ||||
|   field3: | ||||
|     - match: '' | ||||
|       set: | ||||
|         - meta_content_scope: meta.field-3.csv constant.numeric | ||||
|         - include: field_contents | ||||
|   field4: | ||||
|     - match: '' | ||||
|       set: | ||||
|         - meta_content_scope: meta.field-4.csv keyword.operator | ||||
|         - include: field_contents | ||||
|  | ||||
|   | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Cabal
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Cabal
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Cabal deleted from 2d98cb79eb
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Crystal
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Crystal
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Crystal updated: 2ee9d667ae...eb63666f35
									
								
							| @@ -108,7 +108,7 @@ contexts: | ||||
|     - match: (?<!\.)\belse(\s)+if\b | ||||
|       comment: else if is a common mistake carried over from other languages. it works if you put in a second end, but it’s never what you want. | ||||
|       scope: invalid.deprecated.crystal | ||||
|     - match: '(?<!\.)\b(BEGIN|alias|as|begin|case|select|abstract|class|END|ensure|for|fun|if|ifdef|in|lib|module|of|out|private|protected|rescue|struct|with|union|enum|macro|then|type|unless|until|while)\b(?![?!])' | ||||
|     - match: '(?<!\.)\b(BEGIN|alias|as|begin|case|select|abstract|class|END|ensure|for|fun|if|ifdef|in|lib|module|of|out|private|protected|rescue|struct|with|union|enum|macro|then|unless|until|while)\b(?![?!])|(?<!\.)\btype\b\s*(?=[A-Z])' | ||||
|       comment: everything being a reserved word, not a value and needing a 'end' is a.. | ||||
|       scope: keyword.control.primary.crystal | ||||
|     - match: '(?<!\.)\b(when|else|elsif)\b(?![?!])' | ||||
| @@ -131,7 +131,7 @@ contexts: | ||||
|       scope: keyword.control.pseudo-method.crystal | ||||
|     - match: '\b(nil|true|false)\b(?![?!])' | ||||
|       scope: constant.language.crystal | ||||
|     - match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])' | ||||
|     - match: '\b(__(DIR|FILE|LINE|END_LINE)__|self)\b(?![?!])|self[?]' | ||||
|       scope: variable.language.crystal | ||||
|     - match: '\b(initialize|new|loop|include|extend|raise|getter|setter|property|class_getter|class_setter|class_property|describe|context|it|with|delegate|def_hash|def_equals|def_equals_and_hash|forward_missing_to|record|assert_responds_to|spawn|annotation|verbatim)\b[!?]?' | ||||
|       comment: everything being a method but having a special function is a.. | ||||
| @@ -190,7 +190,7 @@ contexts: | ||||
|       push: | ||||
|         - meta_scope: meta.function.method.with-arguments.crystal | ||||
|         - meta_content_scope: variable.parameter.function.crystal | ||||
|         - match: \)\s*$|\)\s*:|\)\s*; | ||||
|         - match: \) | ||||
|           captures: | ||||
|             0: punctuation.definition.parameters.crystal | ||||
|           pop: true | ||||
| @@ -705,6 +705,7 @@ contexts: | ||||
|             0: punctuation.definition.string.end.crystal | ||||
|           pop: true | ||||
|         - include: heredoc | ||||
|         - include: scope:text.html.basic | ||||
|         - include: scope:source.js | ||||
|         - include: interpolated_crystal | ||||
|         - include: escaped_char | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/DotENV
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/DotENV
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/DotENV updated: a1c917633d...58201ba2ab
									
								
							| @@ -4,7 +4,6 @@ | ||||
| name: DotENV | ||||
| file_extensions: | ||||
|   - .env | ||||
|   - .envrc | ||||
|   - .env.dist | ||||
|   - .env.local | ||||
|   - .env.sample | ||||
| @@ -19,8 +18,11 @@ file_extensions: | ||||
|   - .env.production | ||||
|   - .env.production.local | ||||
|   - .env.dusk.local | ||||
|   - .flaskenv | ||||
|   - .env.staging | ||||
|   - .env.default | ||||
|   - .env.defaults | ||||
|   - .envrc | ||||
|   - .flaskenv | ||||
| scope: source.env | ||||
| contexts: | ||||
|   main: | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Elixir
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Elixir
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Elixir updated: 89b3bada32...4fb01891dd
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Elm
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Elm
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Elm updated: dfbb8bdc9a...e266d279c8
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Email
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Email
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Email updated: fc034fb85a...e89d09d440
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/FSharp
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/FSharp
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/FSharp updated: c18616d6bd...9e4645c608
									
								
							| @@ -4,6 +4,8 @@ | ||||
| name: fstab | ||||
| file_extensions: | ||||
|   - fstab | ||||
|   - crypttab | ||||
|   - mtab | ||||
| scope: source.fstab | ||||
|  | ||||
| contexts: | ||||
|   | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/GLSL
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/GLSL
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/GLSL added at 4cd4acfffc
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/GraphQL
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/GraphQL
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/GraphQL updated: c9d84587eb...59304d6c7b
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Groff
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Groff
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Groff added at 651091c7e2
									
								
							
							
								
								
									
										3
									
								
								assets/syntaxes/02_Extra/INI.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								assets/syntaxes/02_Extra/INI.sublime-syntax
									
									
									
									
										vendored
									
									
								
							| @@ -25,12 +25,13 @@ contexts: | ||||
|       scope: comment.line.semicolon.ini | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.ini | ||||
|     - match: '^\s*(\[)(.*?)(\])' | ||||
|     - match: '^\s*(\[)(.*?)(\])\s*(;.*)?$\n?' | ||||
|       scope: meta.tag.section.ini | ||||
|       captures: | ||||
|         1: punctuation.definition.section.ini | ||||
|         2: entity.section.ini | ||||
|         3: punctuation.definition.section.ini | ||||
|         4: comment.definition.section.ini | ||||
|     - match: '^(\s*(["'']?)(.+?)(\2)\s*(=))?\s*((["'']?)(.*?)(\7))\s*(;.*)?$\n?' | ||||
|       scope: meta.declaration.ini | ||||
|       captures: | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Julia
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Julia
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Julia updated: 0ca4cc2990...48639e1dbf
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/LESS
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/LESS
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/LESS updated: 3020993658...a2eae0453e
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/LLVM
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/LLVM
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/LLVM added at 274126faa9
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Lean
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Lean
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Lean added at 29a03a8aba
									
								
							
							
								
								
									
										125
									
								
								assets/syntaxes/02_Extra/Lean.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								assets/syntaxes/02_Extra/Lean.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,125 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Lean | ||||
| file_extensions: | ||||
|   - lean | ||||
| scope: source.lean | ||||
| contexts: | ||||
|   main: | ||||
|     - include: comments | ||||
|     - match: '\b(?<!\.)(inductive|coinductive|structure|theorem|axiom|axioms|abbreviation|lemma|definition|def|instance|class|constant)\b\s+(\{[^}]*\})?' | ||||
|       captures: | ||||
|         1: keyword.other.definitioncommand.lean | ||||
|       push: | ||||
|         - meta_scope: meta.definitioncommand.lean | ||||
|         - match: '(?=\bwith\b|\bextends\b|[:\|\(\[\{⦃<>])' | ||||
|           pop: true | ||||
|         - include: comments | ||||
|         - include: definitionName | ||||
|         - match: "," | ||||
|     - match: \b(Prop|Type|Sort)\b | ||||
|       scope: storage.type.lean | ||||
|     - match: '\battribute\b\s*\[[^\]]*\]' | ||||
|       scope: storage.modifier.lean | ||||
|     - match: '@\[[^\]]*\]' | ||||
|       scope: storage.modifier.lean | ||||
|     - match: \b(?<!\.)(private|meta|mutual|protected|noncomputable)\b | ||||
|       scope: keyword.control.definition.modifier.lean | ||||
|     - match: \b(sorry)\b | ||||
|       scope: invalid.illegal.lean | ||||
|     - match: '#print\s+(def|definition|inductive|instance|structure|axiom|axioms|class)\b' | ||||
|       scope: keyword.other.command.lean | ||||
|     - match: '#(print|eval|reduce|check|help|exit|find|where)\b' | ||||
|       scope: keyword.other.command.lean | ||||
|     - match: \b(?<!\.)(import|export|prelude|theory|definition|def|abbreviation|instance|renaming|hiding|exposing|parameter|parameters|begin|constant|constants|lemma|variable|variables|theorem|example|open|axiom|inductive|coinductive|with|structure|universe|universes|alias|precedence|reserve|postfix|prefix|infix|infixl|infixr|notation|end|using|namespace|section|local|set_option|extends|include|omit|class|classes|instances|raw|run_cmd|restate_axiom)(?!\.)\b | ||||
|       scope: keyword.other.lean | ||||
|     - match: \b(?<!\.)(calc|have|this|match|do|suffices|show|by|in|at|let|forall|fun|exists|assume|from|obtain|haveI|λ)(?!\.)\b | ||||
|       scope: keyword.other.lean | ||||
|     - match: « | ||||
|       push: | ||||
|         - meta_content_scope: entity.name.lean | ||||
|         - match: » | ||||
|           pop: true | ||||
|     - match: \b(?<!\.)(if|then|else)\b | ||||
|       scope: keyword.control.lean | ||||
|     - match: '"' | ||||
|       captures: | ||||
|         0: punctuation.definition.string.begin.lean | ||||
|       push: | ||||
|         - meta_scope: string.quoted.double.lean | ||||
|         - match: '"' | ||||
|           captures: | ||||
|             0: punctuation.definition.string.end.lean | ||||
|           pop: true | ||||
|         - match: '\\[\\"nt'']' | ||||
|           scope: constant.character.escape.lean | ||||
|         - match: '\\x[0-9A-Fa-f][0-9A-Fa-f]' | ||||
|           scope: constant.character.escape.lean | ||||
|         - match: '\\u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]' | ||||
|           scope: constant.character.escape.lean | ||||
|     - match: '''[^\\'']''' | ||||
|       scope: string.quoted.single.lean | ||||
|     - match: '''(\\(x..|u....|.))''' | ||||
|       scope: string.quoted.single.lean | ||||
|       captures: | ||||
|         1: constant.character.escape.lean | ||||
|     - match: '`+[^\[(]\S+' | ||||
|       scope: entity.name.lean | ||||
|     - match: '\b([0-9]+|0([xX][0-9a-fA-F]+))\b' | ||||
|       scope: constant.numeric.lean | ||||
|   blockComment: | ||||
|     - match: /- | ||||
|       push: | ||||
|         - meta_scope: comment.block.lean | ||||
|         - match: "-/" | ||||
|           pop: true | ||||
|         - include: scope:source.lean.markdown | ||||
|         - include: blockComment | ||||
|   comments: | ||||
|     - include: dashComment | ||||
|     - include: docComment | ||||
|     - include: stringBlock | ||||
|     - include: modDocComment | ||||
|     - include: blockComment | ||||
|   dashComment: | ||||
|     - match: (--) | ||||
|       captures: | ||||
|         0: punctuation.definition.comment.lean | ||||
|       push: | ||||
|         - meta_scope: comment.line.double-dash.lean | ||||
|         - match: $ | ||||
|           pop: true | ||||
|         - include: scope:source.lean.markdown | ||||
|   definitionName: | ||||
|     - match: '\b[^:«»\(\)\{\}[:space:]=→λ∀?][^:«»\(\)\{\}[:space:]]*' | ||||
|       scope: entity.name.function.lean | ||||
|     - match: « | ||||
|       push: | ||||
|         - meta_content_scope: entity.name.function.lean | ||||
|         - match: » | ||||
|           pop: true | ||||
|   docComment: | ||||
|     - match: /-- | ||||
|       push: | ||||
|         - meta_scope: comment.block.documentation.lean | ||||
|         - match: "-/" | ||||
|           pop: true | ||||
|         - include: scope:source.lean.markdown | ||||
|         - include: blockComment | ||||
|   modDocComment: | ||||
|     - match: /-! | ||||
|       push: | ||||
|         - meta_scope: comment.block.documentation.lean | ||||
|         - match: "-/" | ||||
|           pop: true | ||||
|         - include: scope:source.lean.markdown | ||||
|         - include: blockComment | ||||
|   stringBlock: | ||||
|     - match: /-" | ||||
|       push: | ||||
|         - meta_scope: comment.block.string.lean | ||||
|         - match: '"-/' | ||||
|           pop: true | ||||
|         - include: scope:source.lean.markdown | ||||
|         - include: blockComment | ||||
							
								
								
									
										176
									
								
								assets/syntaxes/02_Extra/Manpage.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										176
									
								
								assets/syntaxes/02_Extra/Manpage.sublime-syntax
									
									
									
									
										vendored
									
									
								
							| @@ -7,47 +7,165 @@ file_extensions: | ||||
| scope: source.man | ||||
|  | ||||
| variables: | ||||
|   section_heading: '^\S.*$' | ||||
|   section_heading: '^(?!#)\S.*$' | ||||
|   command_line_option: '(--?[A-Za-z0-9][_A-Za-z0-9-]*)' | ||||
|  | ||||
| contexts: | ||||
|   prototype: | ||||
|     # ignore syntax test lines | ||||
|     - match: '^#' | ||||
|       push: | ||||
|         - meta_scope: comment.syntax-test.man | ||||
|         - match: $\n? | ||||
|           pop: true | ||||
|   main: | ||||
|     - match: ^ | ||||
|       push: first_line | ||||
|  | ||||
|   first_line: | ||||
|     - match: '([A-Z0-9_\-]+)(\()([^)]+)(\))' | ||||
|     - match: '([A-Z0-9_\-]+)(\()([^)]+)(\))\s*' | ||||
|       captures: | ||||
|         1: meta.preprocessor | ||||
|         2: keyword.operator | ||||
|         3: string.quoted.other | ||||
|         4: keyword.operator | ||||
|  | ||||
|     - match: '$' | ||||
|       push: body | ||||
|  | ||||
|   body: | ||||
|     - match: '^(SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)' | ||||
|       push: Packages/C/C.sublime-syntax | ||||
|       scope: markup.heading | ||||
|       with_prototype: | ||||
|         - match: '(?={{section_heading}})' | ||||
|         1: meta.preprocessor.man | ||||
|         2: keyword.operator.man | ||||
|         3: string.quoted.other.man | ||||
|         4: keyword.operator.man | ||||
|       push: | ||||
|         - match: (?:[\w'-]+|\s(?!\s)) | ||||
|           scope: markup.heading.title.man | ||||
|         - match: \s\s | ||||
|           pop: true | ||||
|         - match: '(?=\S|$)' | ||||
|           pop: true | ||||
|  | ||||
|     - match: '^\S.*$' | ||||
|       scope: markup.heading | ||||
|     - match: '$' | ||||
|       set: body | ||||
|  | ||||
|     - match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))' | ||||
|   body: | ||||
|     # English, ..., ..., ..., Russian, ... | ||||
|  | ||||
|     - match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)' | ||||
|       scope: markup.heading.synopsis.man | ||||
|       embed: synopsis | ||||
|       escape: '(?={{section_heading}})' | ||||
|  | ||||
|     - match: '^(?:USAGE)' | ||||
|       scope: markup.heading.synopsis.man | ||||
|       embed: synopsis | ||||
|       escape: '(?={{section_heading}})' | ||||
|  | ||||
|     - match: '{{section_heading}}' | ||||
|       scope: markup.heading.other.man | ||||
|       embed: options # some man pages put command line options under the description heading | ||||
|       escape: '(?={{section_heading}})' | ||||
|  | ||||
|   function-call: | ||||
|     - match: '\b([A-Za-z0-9_\-]+\.)?([A-Za-z0-9_\-]+)(\()([^)]*)(\))' | ||||
|       captures: | ||||
|         1: entity.name.function | ||||
|         2: keyword.operator | ||||
|         3: constant.numeric | ||||
|         4: keyword.operator | ||||
|         1: entity.name.function.man | ||||
|         2: entity.name.function.man | ||||
|         3: keyword.operator.man | ||||
|         4: constant.numeric.man | ||||
|         5: keyword.operator.man | ||||
|  | ||||
|   env-var: | ||||
|     - match: '(\$)(?!\d)(\w+)\b' | ||||
|       captures: | ||||
|         1: punctuation.definition.variable.man | ||||
|         2: constant.other.man | ||||
|  | ||||
|   options: | ||||
|     # command-line options like --option=value, --some-flag, or -x | ||||
|     - match: '(?:[^a-zA-Z0-9_-]|^|\s)(--?[A-Za-z0-9][A-Za-z0-9-]*)(?:(=)?("?)([A-Za-z0-9]+)("?))?' | ||||
|     - match: '^[ ]{7}(?=-)' | ||||
|       push: expect-command-line-option | ||||
|     - match: '(?:[^a-zA-Z0-9_-]|^|\s){{command_line_option}}' | ||||
|       captures: | ||||
|         1: entity.name | ||||
|         2: keyword.operator | ||||
|         3: punctuation.definition.string.begin | ||||
|         4: variable.parameter | ||||
|         3: punctuation.definition.string.end | ||||
|         1: entity.name.command-line-option | ||||
|       push: | ||||
|         - match: '=' | ||||
|           scope: keyword.operator.man | ||||
|           set: | ||||
|             - match: '[^],.() ]+' | ||||
|               scope: variable.parameter.man | ||||
|               pop: true | ||||
|             - match: $ | ||||
|               pop: true | ||||
|         - match: '' | ||||
|           pop: true | ||||
|     - include: function-call | ||||
|     - include: c-code | ||||
|     - include: env-var | ||||
|  | ||||
|   expect-command-line-option: | ||||
|     - match: '[A-Za-z0-9-]+' | ||||
|       scope: entity.name.command-line-option.man | ||||
|     - match: '(\[)(=)' | ||||
|       captures: | ||||
|         1: punctuation.section.brackets.begin.man | ||||
|         2: keyword.operator.man | ||||
|       push: [command-line-option-or-pipe, expect-parameter] | ||||
|     - match: '\[' | ||||
|       push: | ||||
|         - meta_scope: entity.name.command-line-option.man | ||||
|         - match: '\]' | ||||
|           pop: true | ||||
|     - match: '=' | ||||
|       scope: keyword.operator.man | ||||
|       push: expect-parameter | ||||
|     - match: (?=.*\.) | ||||
|       pop: true | ||||
|     - match: '\s' | ||||
|       push: expect-parameter | ||||
|     - match: '(,)\s*' | ||||
|       captures: | ||||
|         1: punctuation.separator.man | ||||
|     - match: $|(?=\]) | ||||
|       pop: true | ||||
|  | ||||
|   expect-parameter: | ||||
|     - match: '[A-Za-z0-9-]+' | ||||
|       scope: variable.parameter.man | ||||
|     - match: (?=\s+\|) | ||||
|       pop: true | ||||
|     - match: \| | ||||
|       scope: keyword.operator.logical.man | ||||
|     - match: '\[' | ||||
|       scope: punctuation.section.brackets.begin.man | ||||
|       push: | ||||
|         - match: '\]' | ||||
|           scope: punctuation.section.brackets.end.man | ||||
|           pop: true | ||||
|         - include: expect-parameter | ||||
|     - match: '$|(?=[],]|{{command_line_option}})' | ||||
|       pop: true | ||||
|  | ||||
|   c-code: | ||||
|     - match: '^(?=\s+(?:#include\b|#define\b|/\*|struct\s+(\w+\s*)?\{))' | ||||
|       embed: scope:source.c | ||||
|       #embed_scope: source.c.embedded.man | ||||
|       #escape: ^(?!#|\1|\s*(?:$|/\*|#include\b|#define\b)) | ||||
|       escape: ^(?=\s*(?:\(.*\.\)\s*$|[A-Z](?![A-Z]))) | ||||
|  | ||||
|   synopsis: | ||||
|     - include: c-code | ||||
|     - match: \[ | ||||
|       scope: punctuation.section.brackets.begin.man | ||||
|       push: command-line-option-or-pipe | ||||
|     - include: options | ||||
|  | ||||
|   command-line-option-or-pipe: | ||||
|     - match: (\|)\s* | ||||
|       captures: | ||||
|         1: keyword.operator.logical.man | ||||
|     #- match: (?={{command_line_option}}) | ||||
|     - match: \w+-\w+ | ||||
|     - match: (?=-) | ||||
|       push: | ||||
|         - match: (?=\s*\|) | ||||
|           pop: true | ||||
|         - include: expect-command-line-option | ||||
|     - match: \] | ||||
|       scope: punctuation.section.brackets.end.man | ||||
|       pop: true | ||||
|     - match: \[ | ||||
|       scope: punctuation.section.brackets.begin.man | ||||
|       push: command-line-option-or-pipe | ||||
|   | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Nginx
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Nginx
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Nginx added at 15a1db1510
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Ninja
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Ninja
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Ninja added at 25830aaec9
									
								
							
							
								
								
									
										52
									
								
								assets/syntaxes/02_Extra/Ninja.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								assets/syntaxes/02_Extra/Ninja.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Ninja | ||||
| file_extensions: | ||||
|   - ninja | ||||
| scope: source.ninja | ||||
| contexts: | ||||
|   main: | ||||
|     - match: (#).*$\n? | ||||
|       comment: Comment line. | ||||
|       scope: comment.line.number-sign.ninja | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.ninja | ||||
|     - match: ^(rule)\b | ||||
|       comment: Rule keyword and keywords for a rule. | ||||
|       captures: | ||||
|         1: keyword.other.ninja | ||||
|       push: | ||||
|         - match: ^(?=\S) | ||||
|           pop: true | ||||
|         - include: main | ||||
|         - match: \b(?:command|deps|depfile|description|generator|pool|restat|rspfile|rspfile_content)\b | ||||
|           scope: keyword.other.ninja | ||||
|     - match: ^(pool)\b | ||||
|       comment: Pool keyword and keywords for a pool. | ||||
|       captures: | ||||
|         1: keyword.other.ninja | ||||
|       push: | ||||
|         - match: ^(?=\S) | ||||
|           pop: true | ||||
|         - include: main | ||||
|         - match: \b(?:depth)\b | ||||
|           scope: keyword.other.ninja | ||||
|     - match: ^(?:build|rule|default|include|subninja)\b | ||||
|       comment: Other Keywords. | ||||
|       scope: keyword.other.ninja | ||||
|     - match: '(?:[=:]|\|{1,2})(?=\s)' | ||||
|       comment: Operators for variable assignment (=), rule definition (:), implicit (|) and order only (||) dependencies. | ||||
|       scope: keyword.operator.ninja | ||||
|     - match: \$$ | ||||
|       comment: Line wrap. | ||||
|       scope: keyword.operator.ninja | ||||
|     - match: \$\$ | ||||
|       comment: Dollar literal. | ||||
|       scope: keyword.operator.ninja | ||||
|     - match: '\$[[:alnum:]_-]+' | ||||
|       comment: Simple variables, e.g. $var. | ||||
|       scope: variable.other.ninja | ||||
|     - match: '\${[[:alnum:]_.-]+}' | ||||
|       comment: "Variables, e.g. ${some.var.name}." | ||||
|       scope: variable.other.ninja | ||||
| @@ -1,9 +1,10 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: Robot Framework syntax highlighting. | ||||
| name: Robot Framework | ||||
| file_extensions: | ||||
|   - robot | ||||
|   - resource | ||||
| scope: source.robot | ||||
| contexts: | ||||
|   main: | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/SCSS_Sass
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/SCSS_Sass
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/SCSS_Sass updated: b98a3f3ccf...63819a1ab6
									
								
							
							
								
								
									
										33
									
								
								assets/syntaxes/02_Extra/SML.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								assets/syntaxes/02_Extra/SML.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: SML | ||||
| file_extensions: | ||||
|   - sml | ||||
|   - cm | ||||
|   - sig | ||||
| scope: source.sml | ||||
| contexts: | ||||
|   main: | ||||
|     - match: \b(EQUAL|GREATER|LESS|NONE|SOME|abstraction|abstype|and|andalso|array|as|before|bool|case|char|datatype|do|else|end|eqtype|exception|exn|false|fn|fun|functor|handle|if|in|include|infix|infixr|int|let|list|local|nil|nonfix|not|o|of|op|open|option|orelse|overload|print|raise|real|rec|ref|sharing|sig|signature|string|struct|structure|substring|then|true|type|unit|val|vector|where|while|with|withtype|word)\b | ||||
|       comment: SML keywords | ||||
|       scope: keyword.source.sml | ||||
|     - match: '\b[0-9]+\b' | ||||
|       comment: Numeric constants | ||||
|       scope: constant.numeric.sml | ||||
|     - match: '\b[A-Z]([A-z0-9]*)\b' | ||||
|       comment: Built in types | ||||
|       scope: support.type.sml | ||||
|     - match: '"(\\"|[^"])*"' | ||||
|       comment: String constant | ||||
|       scope: string.sml | ||||
|     - match: \(\* | ||||
|       comment: Comment | ||||
|       push: | ||||
|         - meta_scope: comment.sml | ||||
|         - match: \*\) | ||||
|           pop: true | ||||
|     - match: '(\(\)|=>|::|\[\]|->|:>)' | ||||
|       comment: Character | ||||
|       scope: constant.character.sml | ||||
|  | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Slim
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Slim
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Slim added at 3b1441f89f
									
								
							
							
								
								
									
										306
									
								
								assets/syntaxes/02_Extra/Slim.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										306
									
								
								assets/syntaxes/02_Extra/Slim.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,306 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/syntax.html | ||||
| name: Ruby Slim | ||||
| file_extensions: | ||||
|   - slim | ||||
|   - skim | ||||
| scope: text.slim | ||||
| contexts: | ||||
|   main: | ||||
|     - match: ^(\s*)(ruby):$ | ||||
|       captures: | ||||
|         2: constant.language.name.ruby.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.ruby.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.ruby | ||||
|     - match: ^(\s*)(javascript):$ | ||||
|       captures: | ||||
|         2: constant.language.name.javascript.filter.slim | ||||
|       push: | ||||
|         - meta_scope: source.js.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.js | ||||
|     - match: ^(---)\s*\n | ||||
|       captures: | ||||
|         1: storage.frontmatter.slim | ||||
|       push: | ||||
|         - meta_scope: source.yaml.meta.slim | ||||
|         - match: ^(---)\s*\n | ||||
|           captures: | ||||
|             1: storage.frontmatter.slim | ||||
|           pop: true | ||||
|         - include: scope:source.yaml | ||||
|     - match: ^(\s*)(coffee):$ | ||||
|       captures: | ||||
|         2: constant.language.name.coffeescript.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.coffeescript.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.coffee | ||||
|     - match: ^(\s*)(markdown):$ | ||||
|       captures: | ||||
|         2: constant.language.name.markdown.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.markdown.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:text.html.markdown | ||||
|     - match: ^(\s*)(css):$ | ||||
|       captures: | ||||
|         2: constant.language.name.css.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.css.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.css | ||||
|     - match: ^(\s*)(sass):$ | ||||
|       captures: | ||||
|         2: constant.language.name.sass.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.sass.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.sass | ||||
|     - match: ^(\s*)(scss):$ | ||||
|       captures: | ||||
|         2: constant.language.name.scss.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.scss.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.scss | ||||
|     - match: ^(\s*)(less):$ | ||||
|       captures: | ||||
|         2: constant.language.name.less.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.less.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.less | ||||
|     - match: ^(\s*)(erb):$ | ||||
|       captures: | ||||
|         2: constant.language.name.erb.filter.slim | ||||
|       push: | ||||
|         - meta_scope: text.erb.filter.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:source.erb | ||||
|     - match: ^(! )($|\s.*) | ||||
|       scope: meta.prolog.slim | ||||
|       captures: | ||||
|         1: punctuation.definition.prolog.slim | ||||
|     - match: ^(\s*)(/)\s*.*$ | ||||
|       captures: | ||||
|         2: comment.line.slash.slim | ||||
|       push: | ||||
|         - meta_scope: comment.block.slim | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|     - match: ^\s*(?=-) | ||||
|       push: | ||||
|         - match: $ | ||||
|           pop: true | ||||
|         - include: rubyline | ||||
|     - match: (?==+|~) | ||||
|       push: | ||||
|         - match: $ | ||||
|           pop: true | ||||
|         - include: rubyline | ||||
|     - include: tag-attribute | ||||
|     - include: embedded-ruby | ||||
|     - match: ^(\s*)(\||')\s* | ||||
|       comment: Verbatim text (can include HTML tags and copied lines) | ||||
|       push: | ||||
|         - match: ^(?!(\1\s)|\s*$) | ||||
|           pop: true | ||||
|         - include: scope:text.html.basic | ||||
|         - include: embedded-ruby | ||||
|     - match: '^\s*(\.|#|[-a-zA-Z0-9]+)([\w-]+)?' | ||||
|       comment: '1 - dot OR hash OR any combination of word, number; 2 - OPTIONAL any combination of word, number, dash or underscore (following a . or' | ||||
|       captures: | ||||
|         1: entity.name.tag.slim | ||||
|         2: entity.other.attribute-name.event.slim | ||||
|       push: | ||||
|         - meta_scope: meta.tag | ||||
|         - match: '$|(?!\.|#|:|-|~|/|\}|\]|\*|\s?[\*\{])' | ||||
|           captures: | ||||
|             1: entity.name.tag.slim | ||||
|             2: entity.other.attribute-name.event.slim | ||||
|           pop: true | ||||
|         - match: '(:[\w\d]+)+' | ||||
|           comment: XML | ||||
|           push: | ||||
|             - meta_scope: entity.name.tag.slim | ||||
|             - match: $|\s | ||||
|               pop: true | ||||
|         - match: '(:\s)(\.|#|[a-zA-Z0-9]+)([\w-]+)?' | ||||
|           comment: Inline HTML / 1 - colon; 2 - dot OR hash OR any combination of word, number; 3 - OPTIONAL any combination of word, number, dash or underscore (following a . or | ||||
|           captures: | ||||
|             1: punctuation.definition.tag.end.slim | ||||
|             2: entity.name.tag.slim | ||||
|             3: entity.other.attribute-name.event.slim | ||||
|           push: | ||||
|             - match: '$|(?!\.|#|=|-|~|/|\}|\]|\*|\s?[\*\{])' | ||||
|               captures: | ||||
|                 1: punctuation.definition.tag.end.slim | ||||
|                 2: entity.name.tag.slim | ||||
|                 3: entity.other.attribute-name.event.slim | ||||
|               pop: true | ||||
|             - include: root-class-id-tag | ||||
|             - include: tag-attribute | ||||
|         - match: '(\*\{)(?=.*\}|.*\|\s*$)' | ||||
|           comment: Splat attributes | ||||
|           captures: | ||||
|             1: punctuation.section.embedded.ruby | ||||
|           push: | ||||
|             - meta_scope: source.ruby.embedded.slim | ||||
|             - match: '(\})|$|^(?!.*\|\s*$)' | ||||
|               captures: | ||||
|                 1: punctuation.section.embedded.ruby | ||||
|               pop: true | ||||
|             - include: embedded-ruby | ||||
|         - include: root-class-id-tag | ||||
|         - include: rubyline | ||||
|         - match: / | ||||
|           scope: punctuation.terminator.tag.slim | ||||
|     - match: ^\s*(\\.) | ||||
|       captures: | ||||
|         1: meta.escape.slim | ||||
|     - match: ^\s*(?=\||') | ||||
|       push: | ||||
|         - match: $ | ||||
|           pop: true | ||||
|         - include: embedded-ruby | ||||
|         - include: scope:text.html.basic | ||||
|     - match: '(?=<[\w\d\:]+)' | ||||
|       comment: Inline and root-level HTML tags | ||||
|       push: | ||||
|         - match: $|\/\> | ||||
|           pop: true | ||||
|         - include: scope:text.html.basic | ||||
|   continuation: | ||||
|     - match: '([\\,])\s*\n' | ||||
|       captures: | ||||
|         1: punctuation.separator.continuation.slim | ||||
|   delimited-ruby-a: | ||||
|     - match: '=\(' | ||||
|       push: | ||||
|         - meta_scope: source.ruby.embedded.slim | ||||
|         - match: \)(?=( \w|$)) | ||||
|           pop: true | ||||
|         - include: scope:source.ruby.rails | ||||
|   delimited-ruby-b: | ||||
|     - match: '=\[' | ||||
|       push: | ||||
|         - meta_scope: source.ruby.embedded.slim | ||||
|         - match: '\](?=( \w|$))' | ||||
|           pop: true | ||||
|         - include: scope:source.ruby.rails | ||||
|   delimited-ruby-c: | ||||
|     - match: '=\{' | ||||
|       push: | ||||
|         - meta_scope: source.ruby.embedded.slim | ||||
|         - match: '\}(?=( \w|$))' | ||||
|           pop: true | ||||
|         - include: scope:source.ruby.rails | ||||
|   embedded-ruby: | ||||
|     - match: '(?<!\\)#\{{1,2}' | ||||
|       captures: | ||||
|         0: punctuation.section.embedded.ruby | ||||
|       push: | ||||
|         - meta_scope: source.ruby.embedded.html | ||||
|         - match: '\}{1,2}' | ||||
|           captures: | ||||
|             0: punctuation.section.embedded.ruby | ||||
|           pop: true | ||||
|         - include: scope:source.ruby.rails | ||||
|   entities: | ||||
|     - match: '(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)' | ||||
|       scope: constant.character.entity.html | ||||
|       captures: | ||||
|         1: punctuation.definition.entity.html | ||||
|         3: punctuation.definition.entity.html | ||||
|     - match: '&' | ||||
|       scope: invalid.illegal.bad-ampersand.html | ||||
|   interpolated-ruby: | ||||
|     - match: '=(?=\b)' | ||||
|       push: | ||||
|         - meta_scope: source.ruby.embedded.html | ||||
|         - match: \s|\w$ | ||||
|           pop: true | ||||
|   root-class-id-tag: | ||||
|     - match: '(\.|#)([\w\d\-]+)' | ||||
|       captures: | ||||
|         1: punctuation.separator.key-value.html | ||||
|         2: entity.other.attribute-name.html | ||||
|   rubyline: | ||||
|     - match: (==|=)(<>|><|<'|'<|<|>)?|- | ||||
|       comment: Hack to thwart Sublime's Ruby highlighter. It thinks do without a variable continues the next line (this can be muted with a / at the end of the line). For things like yields, do is unnecessary without an argument, so this hack will suffice | ||||
|       push: | ||||
|         - meta_scope: meta.line.ruby.slim | ||||
|         - meta_content_scope: source.ruby.embedded.slim | ||||
|         - match: (do\s*\n$)|(?<!\\|,|,\n|\\\n)$ | ||||
|           captures: | ||||
|             1: keyword.control.start-block.ruby | ||||
|           pop: true | ||||
|         - match: '#.*$' | ||||
|           comment: Hack to let ruby comments work in this context properly | ||||
|           scope: comment.line.number-sign.ruby | ||||
|         - include: continuation | ||||
|         - include: scope:source.ruby.rails | ||||
|   string-double-quoted: | ||||
|     - match: (")(?=.*") | ||||
|       captures: | ||||
|         0: punctuation.definition.string.begin.html | ||||
|       push: | ||||
|         - meta_scope: string.quoted.double.html | ||||
|         - meta_content_scope: meta.toc-list.id.html | ||||
|         - match: '"' | ||||
|           captures: | ||||
|             0: punctuation.definition.string.end.html | ||||
|           pop: true | ||||
|         - include: embedded-ruby | ||||
|         - include: entities | ||||
|   string-single-quoted: | ||||
|     - match: (')(?=.*') | ||||
|       captures: | ||||
|         0: punctuation.definition.string.begin.html | ||||
|       push: | ||||
|         - meta_scope: string.quoted.single.html | ||||
|         - meta_content_scope: meta.toc-list.id.html | ||||
|         - match: "'" | ||||
|           captures: | ||||
|             0: punctuation.definition.string.end.html | ||||
|           pop: true | ||||
|         - include: embedded-ruby | ||||
|         - include: entities | ||||
|   tag-attribute: | ||||
|     - match: '([\w.#_-]+)(=)(?!\s)(true|false|nil)?(\s*\(|\{)?' | ||||
|       captures: | ||||
|         1: entity.other.attribute-name.event.slim | ||||
|         2: punctuation.separator.key-value.html | ||||
|         3: constant.language.slim | ||||
|       push: | ||||
|         - meta_scope: meta.attribute-with-value.slim | ||||
|         - match: '\}|\)|$' | ||||
|           captures: | ||||
|             1: entity.other.attribute-name.event.slim | ||||
|             2: punctuation.separator.key-value.html | ||||
|             3: constant.language.slim | ||||
|           pop: true | ||||
|         - include: tag-stuff | ||||
|         - include: string-double-quoted | ||||
|         - include: string-single-quoted | ||||
|   tag-stuff: | ||||
|     - include: tag-attribute | ||||
|     - include: interpolated-ruby | ||||
|     - include: delimited-ruby-a | ||||
|     - include: delimited-ruby-b | ||||
|     - include: delimited-ruby-c | ||||
|     - include: rubyline | ||||
|     - include: embedded-ruby | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/SublimeEthereum
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/SublimeEthereum
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/SublimeEthereum added at b60e0a3e00
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Svelte
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Svelte
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Svelte added at c71f1290b0
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Syslog
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Syslog
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Syslog deleted from 7628d4e0b8
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/SystemVerilog
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/SystemVerilog
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/SystemVerilog added at 7eca705e87
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/Terraform
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/Terraform
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/Terraform updated: 64208ea816...54d8350c3c
									
								
							
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/TypeScript
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/TypeScript
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/TypeScript updated: 9cd994af73...a607ddfec9
									
								
							| @@ -9,10 +9,7 @@ contexts: | ||||
|   main: | ||||
|     - include: directives | ||||
|     - include: statements | ||||
|     - match: \A(#!).*(?=$) | ||||
|       scope: comment.line.shebang.ts | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.ts | ||||
|     - include: shebang | ||||
|   comment: | ||||
|     - match: /\*\*(?!/) | ||||
|       captures: | ||||
| @@ -120,7 +117,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -815,7 +812,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -856,7 +853,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -918,7 +915,7 @@ contexts: | ||||
|       captures: | ||||
|         1: keyword.control.as.ts | ||||
|       push: | ||||
|         - match: '(?=$|^|[;,:})\]]|\|\||\&\&|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as)\s+)|(\s+\<))' | ||||
|         - match: '(?=^|[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as)\s+)|(\s+\<))' | ||||
|           pop: true | ||||
|         - include: type | ||||
|     - match: \.\.\. | ||||
| @@ -933,7 +930,7 @@ contexts: | ||||
|       scope: keyword.operator.comparison.ts | ||||
|     - match: <=|>=|<>|<|> | ||||
|       scope: keyword.operator.relational.ts | ||||
|     - match: '(\!)\s*(/)(?![/*])' | ||||
|     - match: '(?<=[_$[:alnum:]])(\!)\s*(/)(?![/*])' | ||||
|       captures: | ||||
|         1: keyword.operator.logical.ts | ||||
|         2: keyword.operator.arithmetic.ts | ||||
| @@ -1038,7 +1035,7 @@ contexts: | ||||
|             # arrow function possible to detect only with => on same line | ||||
|             ( | ||||
|               (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|               \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|               \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|               (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|               \s*=>                                                                                               # arrow operator | ||||
|             ) | ||||
| @@ -1079,7 +1076,7 @@ contexts: | ||||
|             # arrow function possible to detect only with => on same line | ||||
|             ( | ||||
|               (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|               \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|               \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|               (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|               \s*=>                                                                                               # arrow operator | ||||
|             ) | ||||
| @@ -1125,25 +1122,42 @@ contexts: | ||||
|     - match: \* | ||||
|       scope: keyword.generator.asterisk.ts | ||||
|   function-call: | ||||
|     - match: '(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))\s*(?:(\?\.\s*)|(\!))?(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\()' | ||||
|     - match: '(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))\s*(?:(\?\.\s*)|(\!))?((<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\())' | ||||
|       push: | ||||
|         - match: '(?<=\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))\s*(?:(\?\.\s*)|(\!))?(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\()' | ||||
|         - match: '(?<=\))(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))\s*(?:(\?\.\s*)|(\!))?((<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\())' | ||||
|           pop: true | ||||
|         - match: '(?=(([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))' | ||||
|           push: | ||||
|             - meta_scope: meta.function-call.ts | ||||
|             - match: '(?=\s*(?:(\?\.\s*)|(\!))?(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\()' | ||||
|             - match: '(?=\s*(?:(\?\.\s*)|(\!))?((<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?\())' | ||||
|               pop: true | ||||
|             - include: support-function-call-identifiers | ||||
|             - match: '(\#?[_$[:alpha:]][_$[:alnum:]]*)' | ||||
|               scope: entity.name.function.ts | ||||
|             - include: function-call-target | ||||
|         - include: comment | ||||
|         - match: \?\. | ||||
|           scope: meta.function-call.ts punctuation.accessor.optional.ts | ||||
|         - match: \! | ||||
|           scope: meta.function-call.ts keyword.operator.definiteassignment.ts | ||||
|         - include: function-call-optionals | ||||
|         - include: type-arguments | ||||
|         - include: paren-expression | ||||
|     - match: '(?=(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))(<\s*[\{\[\(]\s*$))' | ||||
|       push: | ||||
|         - match: '(?<=\>)(?!(((([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))|(?<=[\)]))(<\s*[\{\[\(]\s*$))' | ||||
|           pop: true | ||||
|         - match: '(?=(([_$[:alpha:]][_$[:alnum:]]*)(\s*\??\.\s*(\#?[_$[:alpha:]][_$[:alnum:]]*))*)|(\??\.\s*\#?[_$[:alpha:]][_$[:alnum:]]*))' | ||||
|           push: | ||||
|             - meta_scope: meta.function-call.ts | ||||
|             - match: '(?=(<\s*[\{\[\(]\s*$))' | ||||
|               pop: true | ||||
|             - include: function-call-target | ||||
|         - include: comment | ||||
|         - include: function-call-optionals | ||||
|         - include: type-arguments | ||||
|   function-call-optionals: | ||||
|     - match: \?\. | ||||
|       scope: meta.function-call.ts punctuation.accessor.optional.ts | ||||
|     - match: \! | ||||
|       scope: meta.function-call.ts keyword.operator.definiteassignment.ts | ||||
|   function-call-target: | ||||
|     - include: support-function-call-identifiers | ||||
|     - match: '(\#?[_$[:alpha:]][_$[:alnum:]]*)' | ||||
|       scope: entity.name.function.ts | ||||
|   function-declaration: | ||||
|     - match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(?:(\bexport)\s+)?(?:(\bdeclare)\s+)?(?:(async)\s+)?(function\b)(?:\s*(\*))?(?:(?:\s+|(?<=\*))([_$[:alpha:]][_$[:alnum:]]*))?\s*' | ||||
|       captures: | ||||
| @@ -1221,7 +1235,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -1431,7 +1445,7 @@ contexts: | ||||
|       captures: | ||||
|         1: keyword.operator.expression.instanceof.ts | ||||
|       push: | ||||
|         - match: '(?<=\))|(?=[;),}\]:?]|\|\||\&\&|$|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))function((\s+[_$[:alpha:]][_$[:alnum:]]*)|(\s*[\(]))))' | ||||
|         - match: '(?<=\))|(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|(([\&\~\^\|]\s*)?[_$[:alpha:]][_$[:alnum:]]*\s+instanceof(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))function((\s+[_$[:alpha:]][_$[:alnum:]]*)|(\s*[\(]))))' | ||||
|           pop: true | ||||
|         - include: type | ||||
|   interface-declaration: | ||||
| @@ -1582,7 +1596,7 @@ contexts: | ||||
|         1: keyword.operator.new.ts | ||||
|       push: | ||||
|         - meta_scope: new.expr.ts | ||||
|         - match: '(?<=\))|(?=[;),}\]:\-\+]|\|\||\&\&|$|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))new(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))function((\s+[_$[:alpha:]][_$[:alnum:]]*)|(\s*[\(]))))' | ||||
|         - match: '(?<=\))|(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))new(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)))|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))function((\s+[_$[:alpha:]][_$[:alnum:]]*)|(\s*[\(]))))' | ||||
|           pop: true | ||||
|         - include: paren-expression | ||||
|         - include: class-declaration | ||||
| @@ -1864,7 +1878,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -1900,7 +1914,7 @@ contexts: | ||||
|         1: keyword.control.as.ts | ||||
|       push: | ||||
|         - meta_scope: meta.object.member.ts | ||||
|         - match: '(?=$|^|[,}]|\|\||\&\&|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as)\s+))' | ||||
|         - match: '(?=[;),}\]:?\-\+\>]|\|\||\&\&|\!\=\=|$|^|((?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(as)\s+))' | ||||
|           pop: true | ||||
|         - include: type | ||||
|     - match: '(?=[_$[:alpha:]][_$[:alnum:]]*\s*=)' | ||||
| @@ -2010,7 +2024,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -2051,7 +2065,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -2313,6 +2327,11 @@ contexts: | ||||
|         - include: type-object | ||||
|     - include: type-predicate-operator | ||||
|     - include: type | ||||
|   shebang: | ||||
|     - match: \A(#!).*(?=$) | ||||
|       scope: comment.line.shebang.ts | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.ts | ||||
|   single-line-comment-consuming-line-ending: | ||||
|     - match: '(^[ \t]+)?((//)(?:\s*((@)internal)(?=\s|$))?)' | ||||
|       captures: | ||||
| @@ -2684,20 +2703,20 @@ contexts: | ||||
|                 0: case-clause.expr.ts punctuation.definition.section.case-statement.ts | ||||
|             - include: statements | ||||
|   template: | ||||
|     - match: '(?=(([_$[:alpha:]][_$[:alnum:]]*\s*\??\.\s*)*|(\??\.\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?`)' | ||||
|     - match: '(?=(([_$[:alpha:]][_$[:alnum:]]*\s*\??\.\s*)*|(\??\.\s*)?)([_$[:alpha:]][_$[:alnum:]]*)(<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?`)' | ||||
|       push: | ||||
|         - meta_scope: string.template.ts | ||||
|         - match: (?=`) | ||||
|           pop: true | ||||
|         - match: '(?=(([_$[:alpha:]][_$[:alnum:]]*\s*\??\.\s*)*|(\??\.\s*)?)([_$[:alpha:]][_$[:alnum:]]*))' | ||||
|           push: | ||||
|             - match: '(?=(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?`)' | ||||
|             - match: '(?=(<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)?`)' | ||||
|               pop: true | ||||
|             - include: support-function-call-identifiers | ||||
|             - match: "([_$[:alpha:]][_$[:alnum:]]*)" | ||||
|               scope: entity.name.function.tagged-template.ts | ||||
|         - include: type-arguments | ||||
|     - match: '([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''[^\'']*\'')|(\"[^\"]*\")|(\`[^\`]*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)`)' | ||||
|     - match: '([_$[:alpha:]][_$[:alnum:]]*)\s*(?=(<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))(([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>|\<\s*(((keyof|infer|awaited|typeof|readonly)\s+)|(([_$[:alpha:]][_$[:alnum:]]*|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\''([^\''\\]|\\.)*\'')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))(?=\s*([\<\>\,\.\[]|=>|&(?!&)|\|(?!\|)))))([^<>\(]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(?<==)\>)*(?<!=)\>))*(?<!=)\>)*(?<!=)>\s*)`)' | ||||
|       captures: | ||||
|         1: entity.name.function.tagged-template.ts | ||||
|       push: | ||||
| @@ -2974,6 +2993,8 @@ contexts: | ||||
|       scope: keyword.operator.ternary.ts | ||||
|     - match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))infer(?=\s+[_$[:alpha:]])' | ||||
|       scope: keyword.operator.expression.infer.ts | ||||
|     - match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))awaited(?=\s+[_$[:alpha:]])' | ||||
|       scope: keyword.operator.expression.awaited.ts | ||||
|     - match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))import(?=\s*\()' | ||||
|       scope: keyword.operator.expression.import.ts | ||||
|   type-parameters: | ||||
| @@ -3063,6 +3084,13 @@ contexts: | ||||
|           captures: | ||||
|             0: meta.brace.square.ts | ||||
|           pop: true | ||||
|         - match: \.\.\. | ||||
|           scope: keyword.operator.rest.ts | ||||
|         - match: '(?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))([_$[:alpha:]][_$[:alnum:]]*)\s*(\?)?\s*(:)' | ||||
|           captures: | ||||
|             1: entity.name.label.ts | ||||
|             2: keyword.operator.optional.ts | ||||
|             3: punctuation.separator.label.ts | ||||
|         - include: type | ||||
|         - include: punctuation-comma | ||||
|   typeof-operator: | ||||
| @@ -3159,7 +3187,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -3200,7 +3228,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -3246,7 +3274,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
| @@ -3287,7 +3315,7 @@ contexts: | ||||
|         # arrow function possible to detect only with => on same line | ||||
|         ( | ||||
|           (<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<]|\<\s*([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\[([^\[\]]|(\[[^\[\]]*\]))*\]))([^=<>]|=[^<])*\>)*\>)*>\s*)?                                                                                 # typeparameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()]|(\(([^\(\)]|(\([^\(\)]*\)))*\)))*)?\)   # parameters | ||||
|           \(\s*(\/\*([^\*]|(\*[^\/]))*\*\/\s*)*(([_$[:alpha:]]|(\{([^\{\}]|(\{[^\{\}]*\}))*\})|(\[([^\[\]]|(\[[^\[\]]*\]))*\])|(\.\.\.\s*[_$[:alpha:]]))([^()\'\"\`]|(\(([^\(\)]|(\([^\(\)]*\)))*\))|(\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`))*)?\)   # parameters | ||||
|           (\s*:\s*([^<>\(\)\{\}]|\<([^<>]|\<[^<>]+\>)+\>|\([^\(\)]+\)|\{[^\{\}]+\})+)?                                                                        # return type | ||||
|           \s*=>                                                                                               # arrow operator | ||||
|         ) | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/VimL
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/VimL
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/VimL updated: ed40c3bc81...c91fe3ab02
									
								
							
							
								
								
									
										91
									
								
								assets/syntaxes/02_Extra/VimL.sublime-syntax
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										91
									
								
								assets/syntaxes/02_Extra/VimL.sublime-syntax
									
									
									
									
										vendored
									
									
								
							| @@ -1,91 +0,0 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: VimL | ||||
| file_extensions: | ||||
|   - vim | ||||
|   - .vimrc | ||||
| scope: source.viml | ||||
| contexts: | ||||
|   main: | ||||
|     - include: comment | ||||
|     - include: string_quoted_double | ||||
|     - include: string_quoted_single | ||||
|     - include: string_regex | ||||
|     - include: inline_comment | ||||
|     - include: number_int | ||||
|     - include: number_hex | ||||
|     - include: keyword | ||||
|     - include: support_function | ||||
|     - include: support_variable | ||||
|     - include: support_type | ||||
|     - include: function_params | ||||
|     - include: function_definition | ||||
|     - include: function_call | ||||
|     - include: function | ||||
|     - include: variable | ||||
|     - include: expr | ||||
|   comment: | ||||
|     - match: ^\s*".*$ | ||||
|       scope: comment.line.quotes.viml | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.vim | ||||
|   expr: | ||||
|     - match: (\|\||&&|==(\?|#)?|(!|>|<)=(#|\?)?|(=|!)~(#|\?)?|(>|<)(#|\?)is|isnot|\.|\*|\\|%) | ||||
|       scope: storage.function.viml | ||||
|   function: | ||||
|     - match: \b(fu(n|nction)?|end(f|fu|fun|function)?)\b | ||||
|       scope: storage.function.viml | ||||
|   function_call: | ||||
|     - match: '(([sgbwtl]|)?:?[0-9a-zA-Z_#]+)(?=\()' | ||||
|       scope: support.function.any-method | ||||
|   function_definition: | ||||
|     - match: '^\s*(function)\s*!?\s+(?=(s:)?[0-9a-zA-Z_#]+\s*\()' | ||||
|       captures: | ||||
|         1: storage.function.viml | ||||
|       push: | ||||
|         - meta_scope: meta.function.viml | ||||
|         - match: (\() | ||||
|           captures: | ||||
|             1: punctuation.definition.parameters.begin.viml | ||||
|           pop: true | ||||
|         - match: "(s:)?[0-9a-zA-Z_#]+" | ||||
|           scope: entity.name.function.viml | ||||
|   function_params: | ||||
|     - match: '-\w+=' | ||||
|       scope: support.type.viml | ||||
|   inline_comment: | ||||
|     - match: '(?!\$)(")(?!\{).*$\n?' | ||||
|       scope: comment.line.quotes.viml | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.vim | ||||
|   keyword: | ||||
|     - match: \b(if|while|for|try|return|throw|end(if|for|while|try)?|au(g|group)|else(if|)?|do|in|catch|finally|:)\b | ||||
|       scope: keyword.control.viml | ||||
|   number_hex: | ||||
|     - match: "0x[0-9a-f]+" | ||||
|       scope: constant.numeric.hex | ||||
|   number_int: | ||||
|     - match: '-?\d+' | ||||
|       scope: constant.numeric.integer | ||||
|   string_quoted_double: | ||||
|     - match: '"(\\\\|\\"|\n[^\S\n]*\\|[^\n"])*"' | ||||
|       scope: string.quoted.double.viml | ||||
|   string_quoted_single: | ||||
|     - match: '''(''''|\n[^\S\n]*\\|[^\n''])*''' | ||||
|       scope: string.quoted.single.viml | ||||
|   string_regex: | ||||
|     - match: '/(\\\\|\\/|\n[^\S\n]*\\|[^\n/])*/' | ||||
|       scope: string.regexp.viml | ||||
|   support_function: | ||||
|     - match: \b(set(local|global)?|let|command|filetype|colorscheme|\w*map|\w*a(b|brev)?|syn|exe(c|cute)?|ec(ho|)?|au(tocmd|)?)\b | ||||
|       scope: support.function.viml | ||||
|   support_type: | ||||
|     - match: <.*?> | ||||
|       scope: support.type.viml | ||||
|   support_variable: | ||||
|     - match: '\b(am(enu|)?|(hl|inc)?search|[Bb]uf([Nn]ew[Ff]ile|[Rr]ead)?|[Ff]ile[Tt]ype)\b' | ||||
|       scope: support.variable.viml | ||||
|   variable: | ||||
|     - match: '([sSgGbBwWlLaAvV]:|@|$|&(?!&))\w*' | ||||
|       scope: variable.other.viml | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/Zig
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/Zig
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/Zig added at 87ecbcae6f
									
								
							
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/gnuplot
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/gnuplot
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/gnuplot added at 04743470ff
									
								
							
							
								
								
									
										182
									
								
								assets/syntaxes/02_Extra/gnuplot.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										182
									
								
								assets/syntaxes/02_Extra/gnuplot.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,182 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: gnuplot | ||||
| file_extensions: | ||||
|   - gp | ||||
|   - gpl | ||||
|   - gnuplot | ||||
|   - gnu | ||||
|   - plot | ||||
|   - plt | ||||
| scope: source.gnuplot | ||||
| contexts: | ||||
|   main: | ||||
|     - include: number | ||||
|     - include: string_single | ||||
|     - include: string_double | ||||
|     - match: '\b(for)\b\s*(\[)' | ||||
|       comment: | | ||||
|         gnuplot iteration statement. | ||||
|                     There are two forms: | ||||
|                         numeric [n = 1:2{:inc}] | ||||
|                         string based [str in "x y z"] | ||||
|                         but both can also iterate over lists etc, so this is kept loose. | ||||
|       captures: | ||||
|         1: keyword.other.iteration.gnuplot | ||||
|         2: punctuation.definition.range.begin.gnuplot | ||||
|       push: | ||||
|         - meta_scope: meta.structure.iteration.gnuplot | ||||
|         - match: '\]' | ||||
|           captures: | ||||
|             0: punctuation.definition.range.end.gnuplot | ||||
|           pop: true | ||||
|         - include: number | ||||
|         - include: operator | ||||
|         - include: string_double | ||||
|         - include: string_single | ||||
|         - match: ":" | ||||
|           scope: punctuation.separator.range.gnuplot | ||||
|         - match: '\b([a-zA-Z]\w*)\b\s*(=|in)' | ||||
|           scope: variable-assignment.range.gnuplot | ||||
|         - match: '(?i:[^\s(pi|e)\]])' | ||||
|           scope: invalid.illegal.expected-range-separator.gnuplot | ||||
|     - match: '\[' | ||||
|       comment: "gnuplot range statement [a:b]. Lots of things are legal, still more make no sense!" | ||||
|       captures: | ||||
|         0: punctuation.definition.range.begin.gnuplot | ||||
|       push: | ||||
|         - meta_scope: meta.structure.range.gnuplot | ||||
|         - match: '\]' | ||||
|           captures: | ||||
|             0: punctuation.definition.range.end.gnuplot | ||||
|           pop: true | ||||
|         - include: number | ||||
|         - include: operator | ||||
|         - match: ":" | ||||
|           scope: punctuation.separator.range.gnuplot | ||||
|         - match: '(?i:[^\s(pi|e)\]])' | ||||
|           scope: invalid.illegal.expected-range-separator.gnuplot | ||||
|     - match: \\. | ||||
|       scope: constant.character.escape.gnuplot | ||||
|     - match: '(?<!\$)(#)(?!\{).*$\n?' | ||||
|       scope: comment.line.number-sign.gnuplot | ||||
|       captures: | ||||
|         1: punctuation.definition.comment.gnuplot | ||||
|     - match: for | ||||
|       comment: introduce in gnuplot 4.3. | ||||
|       scope: keyword.other.iteration.gnuplot | ||||
|     - match: \b(angles|arrow|autoscale|bars|border|boxwidth|clabel|clip|cntrparam|colorbox|contour|decimalsign|dgrid3d|dummy|encoding|fit|format|grid|hidden3d|historysize|isosamples|key|label|locale|logscale|macros|bmargin|lmargin|rmargin|tmargin|mapping|mouse|multiplot|offsets|origin|output|palette|parametric|pm3d|pointsize|polar|print|rrange|trange|urange|vrange|samples|size|style|surface|tics|ticscale|ticslevel|timestamp|timefmt|title|view|xyplane|x2data|xdata|y2data|ydata|z2data|zdata|x2label|xlabel|y2label|ylabel|z2label|zlabel|x2range|xrange|y2range|yrange|z2range|zrange|mx2tics|mxtics|my2tics|mytics|mz2tics|mztics|nomx2tics|nomxtics|nomy2tics|nomytics|nomz2tics|nomztics|nox2tics|noxtics|noy2tics|noytics|noz2tics|noztics|x2tics|xtics|y2tics|ytics|z2tics|ztics|x2dtics|x2mtics|xdtics|xmtics|y2dtics|y2mtics|ydtics|ymtics|z2dtics|z2mtics|zdtics|zmtics|x2zeroaxis|xzeroaxis|y2zeroaxis|yzeroaxis|z2zeroaxis|zeroaxis|zzeroaxis|zero|)\b | ||||
|       scope: keyword.other.setting.gnuplot | ||||
|     - match: \b(cd|call|clear|exit|plot|splot|help|load|pause|quit|fit|replot|if|FIT_LIMIT|FIT_MAXITER|FIT_START_LAMBDA|FIT_LAMBDA_FACTOR|FIT_LOG|FIT_SCRIPT|print|pwd|reread|reset|save|show|test|!|functions|var)\b | ||||
|       comment: missuse of scopes alert! Just for pretty colours | ||||
|       scope: keyword.other.command.gnuplot | ||||
|     - match: \b(abs|acos|acosh|arg|asin|asinh|atan|atan2|atanh|besj0|besj1|besy0|besy1|ceil|cos|cosh|erf|erfc|exp|floor|gamma|ibeta|igamma|imag|int|inverf|invnorm|lambertw|lgamma|log|log10|norm|rand|real|sgn|sin|sinh|sqrt|tan|tanh)\b | ||||
|       scope: support.function.gnuplot | ||||
|     - match: \b(gprintf|sprintf|strlen|strstrt|substr|system|word|words)\b | ||||
|       scope: support.function.string.gnuplot | ||||
|     - match: \b(on|off|default|inside|outside|lmargin|rmargin|tmargin|bmargin|at|left|right|center|top|bottom|center|vertical|horizontal|Left|Right|noreverse|noinvert|samplen|spacing|width|height|noautotitle|columnheader|title|noenhanced|nobox|linestyle|ls|linetype|lt|linewidth|lw)\b | ||||
|       scope: constant.other.type.gnuplot | ||||
|     - match: \b(aed512|aed767|aifm|aqua|bitgraph|cgm|corel|dumb|dxf|eepic|emf|emtex|epslatex|epson_180dpi|epson_60dpi|epson_lx800|fig|gif|gpic|hp2623A|hp2648|hp500c|hpdj|hpgl|hpljii|hppj|imagen|jpeg|kc_tek40xx|km_tek40xx|latex|mf|mif|mp|nec_cp6|okidata|pbm|pcl5|pdf|png|postscript|pslatex|pstex|pstricks|qms|regis|selanar|starc|svg|tandy_60dpi|tek40xx|tek410x|texdraw|tgif|tkcanvas|tpic|unknown|vttek)\b | ||||
|       scope: constant.other.terminal.gnuplot | ||||
|     - match: \b(u(sing)?|t(it(le)?)?|notit(le)?|w(i(th)?)?|steps|fs(teps)?|notitle|l(i(nes)?)?|linespoints|via)\b | ||||
|       scope: keyword.modifier.gnuplot | ||||
|     - match: |- | ||||
|         (?x: | ||||
|           \b # Start with a word boundary | ||||
|           (?=\b[\w$]*(\(|.*=))  # Look-ahead for a bracket or equals | ||||
|           (?![^(]*\)) # negative look ahead for a closing bracket without an opening one. This stops a from matching in f(a) | ||||
|           (         # Group variable name | ||||
|             [A-Za-z]      # A letter | ||||
|             [\w$]*      # Any word chars or $ | ||||
|           )         # That is it for the name. | ||||
|         ) | ||||
|       comment: user defined function / variable | ||||
|       scope: variable.other.gnuplot | ||||
|     - match: \b(if)\b | ||||
|       scope: keyword.control.gnuplot | ||||
|     - match: \b(show)\b | ||||
|       captures: | ||||
|         0: keyword.other.command.gnuplot | ||||
|       push: | ||||
|         - meta_scope: keyword.line.show.gnuplot | ||||
|         - meta_content_scope: keyword.line.show.gnuplot | ||||
|         - match: (?!\#)($\n?) | ||||
|           pop: true | ||||
|         - include: main | ||||
|     - match: \b(set)\b\s*\b(terminal|term)\b | ||||
|       captures: | ||||
|         1: keyword.other.command.gnuplot | ||||
|         2: keyword.other.setting.gnuplot | ||||
|       push: | ||||
|         - meta_scope: keyword.line.set.terminal.gnuplot | ||||
|         - match: (?!\#)($\n?) | ||||
|           pop: true | ||||
|         - include: main | ||||
|     - match: \b(set)\b\s*\b(key)\b | ||||
|       captures: | ||||
|         1: keyword.other.command.gnuplot | ||||
|         2: keyword.other.setting.gnuplot | ||||
|       push: | ||||
|         - meta_scope: keyword.line.set.key.gnuplot | ||||
|         - match: (?!\#)($\n?) | ||||
|           pop: true | ||||
|         - include: main | ||||
|     - match: \b(set|unset)\b\s*(?!\b(terminal|key|for)\b) | ||||
|       captures: | ||||
|         1: keyword.other.command.gnuplot | ||||
|         2: keyword.other.setting.gnuplot | ||||
|       push: | ||||
|         - meta_scope: keyword.line.set.gnuplot | ||||
|         - meta_content_scope: keyword.line.set.gnuplot | ||||
|         - match: (?!\#)($\n?) | ||||
|           pop: true | ||||
|         - include: main | ||||
|   number: | ||||
|     - match: |- | ||||
|         (?x:         # turn on extended mode | ||||
|             -?         # an optional minus | ||||
|             (?: | ||||
|               0        # a zero | ||||
|               |        # ...or... | ||||
|               [1-9]    # a 1-9 character | ||||
|               \d*      # followed by zero or more digits | ||||
|             ) | ||||
|             (?: | ||||
|               \.       # a period | ||||
|               \d+      # followed by one or more digits | ||||
|               (?: | ||||
|                 [eE]   # an e character | ||||
|                 [+-]?  # followed by an option +/- | ||||
|                 \d+    # followed by one or more digits | ||||
|               )?       # make exponent optional | ||||
|             )?         # make decimal portion optional | ||||
|         ) | ||||
|       comment: borrowed from textmate book | ||||
|       scope: constant.numeric.gnuplot | ||||
|   operator: | ||||
|     - match: \s*(==|~=|>|>=|<|<=|&|&&|:|\||\|\||\+|-|\*|\.\*|/|\./|\\|\.\\|\^|\.\^)\s* | ||||
|       comment: Operator symbols | ||||
|       scope: keyword.operator.symbols.matlab | ||||
|   string_double: | ||||
|     - match: '"' | ||||
|       captures: | ||||
|         0: punctuation.definition.string.begin.gnuplot | ||||
|       push: | ||||
|         - meta_scope: string.quoted.double.gnuplot | ||||
|         - match: '"' | ||||
|           captures: | ||||
|             0: punctuation.definition.string.end.gnuplot | ||||
|           pop: true | ||||
|         - match: '\\[\$`"\\\n]' | ||||
|           scope: constant.character.escape.gnuplot | ||||
|   string_single: | ||||
|     - match: "'" | ||||
|       captures: | ||||
|         0: punctuation.definition.string.begin.gnuplot | ||||
|       push: | ||||
|         - meta_scope: string.quoted.single.gnuplot | ||||
|         - match: "'" | ||||
|           captures: | ||||
|             0: punctuation.definition.string.end.gnuplot | ||||
|           pop: true | ||||
							
								
								
									
										1
									
								
								assets/syntaxes/02_Extra/http-request-response
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/syntaxes/02_Extra/http-request-response
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/syntaxes/02_Extra/http-request-response added at 93b93261bc
									
								
							
							
								
								
									
										116
									
								
								assets/syntaxes/02_Extra/log.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								assets/syntaxes/02_Extra/log.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # See http://www.sublimetext.com/docs/3/syntax.html | ||||
| file_extensions: | ||||
|   - log | ||||
| scope: text.log | ||||
| variables: | ||||
|   ipv4_part: (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?) | ||||
| contexts: | ||||
|   main: | ||||
|     - match: (\w+)(=) | ||||
|       captures: | ||||
|         1: variable.parameter.log | ||||
|         2: keyword.operator.assignment.log | ||||
|     - match: (')([^']*)(') | ||||
|       scope: string.quoted.single.log | ||||
|       captures: | ||||
|         1: punctuation.definition.string.begin.log | ||||
|         3: punctuation.definition.string.end.log | ||||
|     - match: (")([^"]*)(") | ||||
|       scope: string.quoted.double.log | ||||
|       captures: | ||||
|         1: punctuation.definition.string.begin.log | ||||
|         3: punctuation.definition.string.end.log | ||||
|     - include: dates | ||||
|     - include: ip_addresses | ||||
|     - include: numbers | ||||
|     - match: \b(?i:fail(?:ure|ed)?|error|exception)\b | ||||
|       scope: markup.error.log | ||||
|     - match: \b(?i:warn(?:ing)?)\b | ||||
|       scope: markup.warning.log | ||||
|     #- include: scope:text.html.markdown#autolink-inet | ||||
|     - match: \b\w+:/{2,3} | ||||
|       scope: markup.underline.link.scheme.log | ||||
|       push: url-host | ||||
|   dates: | ||||
|     - match: \b\d{4}-\d{2}-\d{2}\b | ||||
|       scope: meta.date.log meta.number.integer.decimal.log constant.numeric.value.log | ||||
|     - match: \b\d{4}/\d{2}/\d{2}\b | ||||
|       scope: meta.date.log meta.number.integer.decimal.log constant.numeric.value.log | ||||
|     - match: \b(?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)(?:(\.)\d{3})?\b | ||||
|       scope: meta.time.log meta.number.integer.decimal.log constant.numeric.value.log | ||||
|       captures: | ||||
|         1: punctuation.separator.decimal.log | ||||
|   ip_addresses: | ||||
|     - match: \b(?=(?:{{ipv4_part}}\.){3}{{ipv4_part}}\b) | ||||
|       push: | ||||
|         - meta_scope: meta.ipaddress.v4.log meta.number.integer.decimal.log | ||||
|         - match: \d+ | ||||
|           scope: constant.numeric.value.log | ||||
|         - match: \. | ||||
|           scope: punctuation.separator.sequence.log | ||||
|         - match: '' | ||||
|           pop: true | ||||
|     - match: (?=(?:\h{0,4}:){2,6}\h{1,4}\b) | ||||
|       push: | ||||
|         - meta_scope: meta.ipaddress.v6.log meta.number.integer.hexadecimal.log | ||||
|         - match: \h{1,4} | ||||
|           scope: constant.numeric.value.log | ||||
|         - match: ':' | ||||
|           scope: punctuation.separator.sequence.log | ||||
|         - match: '' | ||||
|           pop: true | ||||
|   numbers: | ||||
|     - match: \b(0x)(\h+)(?:(\.)(\h+))?\b | ||||
|       scope: meta.number.float.hexadecimal.log | ||||
|       captures: | ||||
|         1: constant.numeric.base.log | ||||
|         2: constant.numeric.value.log | ||||
|         3: constant.numeric.value.log punctuation.separator.decimal.log | ||||
|         4: constant.numeric.value.log | ||||
|     - match: \b\d+(\.)\d+\b | ||||
|       scope: meta.number.float.log constant.numeric.value.log | ||||
|       captures: | ||||
|         1: punctuation.separator.decimal.log | ||||
|     - match: \b\d+\b | ||||
|       scope: meta.number.integer.log constant.numeric.value.log | ||||
|   url-host: | ||||
|     - meta_content_scope: markup.underline.link.host.log | ||||
|     - match: \[ | ||||
|       scope: punctuation.section.brackets.begin.log | ||||
|       push: | ||||
|         - match: \] | ||||
|           scope: punctuation.section.brackets.end.log | ||||
|           pop: true | ||||
|         - include: ip_addresses | ||||
|     - match: '[^:/\s]+' | ||||
|     - match: '' | ||||
|       set: url-after-host | ||||
|   url-after-host: | ||||
|     - match: (:)(\d+) | ||||
|       scope: markup.underline.link.port.log | ||||
|       captures: | ||||
|         1: punctuation.separator.mapping.port.log | ||||
|         2: constant.numeric.value.log | ||||
|     #- include: scope:text.html.markdown#url-escaped-chars | ||||
|     - match: (%)\h{2} | ||||
|       scope: markup.underline.link.path.log constant.character.escape.url.log | ||||
|       captures: | ||||
|         1: punctuation.definition.escape.log | ||||
|     # After a valid domain, zero or more non-space non-< characters may follow | ||||
|     - match: (?=[?!.,:*_~]*[\s<]) # Trailing punctuation (specifically, ?, !, ., ,, :, *, _, and ~) will not be considered part of the autolink, though they may be included in the interior of the link | ||||
|       pop: true | ||||
|     - match: \( # When an autolink ends in ), we scan the entire autolink for the total number of parentheses. If there is a greater number of closing parentheses than opening ones, we don’t consider the last character part of the autolink, in order to facilitate including an autolink inside a parenthesis | ||||
|       push: | ||||
|         - meta_scope: markup.underline.link.path.log | ||||
|         - match: (?=[?!.,:*_~]*[\s<]) | ||||
|           pop: true | ||||
|         - match: \) | ||||
|           pop: true | ||||
|     - match: (?=\)[?!.,:*_~]*[\s<]) | ||||
|       pop: true | ||||
|     - match: '[^?!.,:*_~\s<&()%]+|\S' | ||||
|       scope: markup.underline.link.path.log | ||||
|     - match: '' | ||||
|       pop: true | ||||
| @@ -7,7 +7,7 @@ file_extensions: | ||||
| scope: whitespace | ||||
| contexts: | ||||
|   main: | ||||
|     - match: "•" | ||||
|     - match: "·" | ||||
|       scope: support.function.show-nonprintable.space | ||||
|     - match: "├─*┤" | ||||
|       scope: constant.character.escape.show-nonprintable.tab | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/syntaxes/02_Extra/ssh-config
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/syntaxes/02_Extra/ssh-config
									
									
									
									
										vendored
									
									
								
							 Submodule assets/syntaxes/02_Extra/ssh-config updated: 16e19d5da4...201816b609
									
								
							
							
								
								
									
										60
									
								
								assets/syntaxes/02_Extra/syntax_test_csv.csv
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								assets/syntaxes/02_Extra/syntax_test_csv.csv
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| # SYNTAX TEST "CSV.sublime-syntax" | ||||
| Forename,Surname,House No.,Street,City,Postcode | ||||
| #^^^^^^^ meta.field-1 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^^^^^^ meta.field-2 | ||||
| #               ^ punctuation.separator.sequence | ||||
| #                ^^^^^^^^^ meta.field-3 | ||||
| #                         ^ punctuation.separator.sequence | ||||
| #                          ^^^^^^ meta.field-4 | ||||
| #                                ^ punctuation.separator.sequence | ||||
| #                                 ^^^^ meta.field-1 | ||||
| #                                     ^ punctuation.separator.sequence | ||||
| #                                      ^^^^^^^^ meta.field-2 | ||||
| John,Doe,87,Logon Road,Citiville,TU43 6GH | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^ meta.field-2 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^ meta.field-3 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #           ^^^^^^^^^^ meta.field-4 | ||||
| #                     ^ punctuation.separator.sequence | ||||
| #                      ^^^^^^^^^ meta.field-1 | ||||
| #                               ^ punctuation.separator.sequence | ||||
| #                                ^^^^^^^^ meta.field-2 | ||||
| Jane,Doe,22,"""Fun"" Street","The City, County",FA90 1XA | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^ meta.field-2 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^ meta.field-3 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #           ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double | ||||
| #            ^^ constant.character.escape | ||||
| #                 ^^ constant.character.escape | ||||
| #                           ^ punctuation.separator.sequence | ||||
| #                            ^ meta.field-1 string.quoted.double punctuation.definition.string.begin | ||||
| #                             ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double | ||||
| #                                             ^ meta.field-1 string.quoted.double punctuation.definition.string.end | ||||
| #                                              ^ punctuation.separator.sequence | ||||
| #                                               ^^^^^^^^ meta.field-2 | ||||
| Fred,Bloggs,"19","Street | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^^^^ meta.field-2 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #            ^^^ meta.field-3 string.quoted.double | ||||
| #               ^ punctuation.separator.sequence | ||||
| #                ^ meta.field-4 punctuation.definition.string.begin | ||||
| #                ^^^^^^^^ meta.field-4 string.quoted.double | ||||
| Spanning Multiple "" | ||||
| #^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double | ||||
| #                 ^^ constant.character.escape | ||||
| Lines",Citee,P0stc0d3 | ||||
| #^^^^^ meta.field-4 string.quoted.double | ||||
| #    ^ meta.field-4 punctuation.definition.string.end | ||||
| #     ^ punctuation.separator.sequence | ||||
| #      ^^^^^ meta.field-1 | ||||
| #           ^ punctuation.separator.sequence | ||||
| #            ^^^^^^^^ meta.field-2 | ||||
| Can't render this file because it contains an unexpected character in line 1 and column 15. | 
							
								
								
									
										162
									
								
								assets/syntaxes/02_Extra/syntax_test_man.man
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								assets/syntaxes/02_Extra/syntax_test_man.man
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,162 @@ | ||||
| # SYNTAX TEST "Manpage.sublime-syntax" | ||||
| SOMETHING(8)                System Manager's Manual               SOMETHING(8) | ||||
| # ^^^^^ meta.preprocessor | ||||
| #                           ^^^^^^^^^^^^^^^^^^^^^^^ markup.heading.title | ||||
| #                                                                   ^^^^^^^ meta.preprocessor | ||||
|  | ||||
| NAME | ||||
| #^^^ markup.heading.other | ||||
|        example - do something useful | ||||
|  | ||||
| SYNOPSIS | ||||
|        example  [options]  [--home  DIR]  [--shell  SHELL]  [--no-create-home] | ||||
| #                          ^ punctuation.section.brackets.begin | ||||
| #                           ^^^^^^ entity.name.command-line-option | ||||
| #                                   ^^^ variable.parameter | ||||
| #                                      ^ punctuation.section.brackets.end | ||||
| #                                         ^ punctuation.section.brackets.begin | ||||
| #                                          ^^^^^^^ entity.name.command-line-option | ||||
| #                                                   ^^^^^ variable.parameter | ||||
| #                                                        ^ punctuation.section.brackets.end | ||||
| #                                                           ^ punctuation.section.brackets.begin | ||||
| #                                                            ^^^^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                                                                            ^ punctuation.section.brackets.end | ||||
|                   [-u | --set-upstream] [-o <string> | --push-option=<string>] | ||||
| #                 ^ punctuation.section.brackets.begin | ||||
| #                  ^^ entity.name.command-line-option | ||||
| #                     ^ keyword.operator.logical | ||||
| #                       ^^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                                     ^ punctuation.section.brackets.end | ||||
| #                                                      ^^^^^^^^^^^^^ entity.name.command-line-option | ||||
|                   [--force-with-lease[=<refname>[:<expect>]]] | ||||
| #                 ^ punctuation.section.brackets.begin | ||||
| #                  ^^^^^^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                                    ^ punctuation.section.brackets.begin | ||||
| #                                     ^ keyword.operator | ||||
| #                                       ^^^^^^^ variable.parameter | ||||
| #                                               ^ punctuation.section.brackets.begin | ||||
| #                                                  ^^^^^^ variable.parameter | ||||
| #                                                         ^^^ punctuation.section.brackets.end | ||||
|  | ||||
|        example --system [options] | ||||
| #              ^^^^^^^^ entity.name | ||||
|  | ||||
|    COMMON OPTIONS | ||||
|        [--quiet] [--debug] [--help|-h]  [--version]  [--conf FILE] | ||||
|  | ||||
|         /* According to POSIX.1-2001, POSIX.1-2008 */ | ||||
| #       ^^ source.c comment.block punctuation.definition.comment | ||||
|        #include <sys/select.h> | ||||
| #      ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include | ||||
|            struct timeval { | ||||
| #          ^^^^^^ source.c storage.type | ||||
|              | ||||
|                time_t         tv_sec;     /* seconds */ | ||||
|                suseconds_t    tv_usec;    /* microseconds */ | ||||
|            }; | ||||
|  | ||||
|  | ||||
|  | ||||
| DESCRIPTION | ||||
|        example does something useful in  relation  to the command line options | ||||
|        and configuration information in /etc/example.conf. | ||||
|  | ||||
| OPTIONS | ||||
|        --conf FILE | ||||
| #      ^^^^^^ entity.name.command-line-option | ||||
| #^^^^^^ - variable - entity - markup | ||||
| #             ^^^^ variable.parameter | ||||
|               Use FILE instead of /etc/example.conf. | ||||
| #             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - variable - entity | ||||
|  | ||||
|        --disabled-login | ||||
|               Do  not  run passwd to set the password.  The user won't be able | ||||
|               to use her account until the password is set. | ||||
|  | ||||
|        --disabled-password | ||||
|               Like --disabled-login, but logins are still possible (for  exam- | ||||
| #                  ^^^^^^^^^^^^^^^^ entity.name | ||||
| #^^^^^^^^^^^^^^^^^^ - entity - variable - markup | ||||
| #                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - entity - variable - markup | ||||
|               ple using SSH RSA keys) but not using password authentication. | ||||
|  | ||||
|        --help Display brief instructions. | ||||
| #      ^^^^^^ entity.name.command-line-option | ||||
| #             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - variable.parameter | ||||
|  | ||||
|        --home DIR | ||||
| #      ^^^^^^ entity.name.command-line-option | ||||
| #             ^^^ variable.parameter | ||||
| #                ^ - variable - entity - markup | ||||
|               Use DIR as the user's home directory, rather  than  the  default | ||||
|               specified  by the configuration file.  If the directory does not | ||||
|               exist, it is created and skeleton files are copied. | ||||
|  | ||||
|        --[no-]signed, --signed=(true|false|if-asked) | ||||
| #      ^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                   ^ punctuation.separator | ||||
| #                     ^^^^^^^^ entity.name.command-line-option | ||||
| #                             ^ keyword.operator | ||||
| #                              ^ - variable | ||||
| #                               ^^^^ variable.parameter | ||||
| #                                   ^ keyword.operator.logical | ||||
| #                                    ^^^^^ variable.parameter | ||||
| #                                         ^ keyword.operator.logical | ||||
| #                                          ^^^^^^^^ variable.parameter | ||||
| #                                                  ^ - variable | ||||
|        --no-recurse-submodules, --recurse-submodules=check|on-demand|only|no | ||||
| #      ^^^^^^^^^^^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                             ^ punctuation.separator | ||||
| #                               ^^^^^^^^^^^^^^^^^^^^ entity.name.command-line-option | ||||
| #                                                   ^ keyword.operator | ||||
| #                                                    ^^^^^ variable.parameter | ||||
| #                                                         ^ keyword.operator.logical | ||||
| #                                                          ^^^^^^^^^ variable.parameter | ||||
| #                                                                   ^ keyword.operator.logical | ||||
| #                                                                    ^^^^ variable.parameter | ||||
| #                                                                        ^ keyword.operator.logical | ||||
| #                                                                         ^^ variable.parameter | ||||
|            May be used to make sure all submodule commits used by the | ||||
|  | ||||
|        -c, -C NUM, --context[=NUM] | ||||
| #      ^^ entity.name.command-line-option | ||||
| #        ^ punctuation.separator | ||||
| #          ^^ entity.name.command-line-option | ||||
| #             ^^^ variable.parameter | ||||
| #                ^ punctuation.separator | ||||
| #                  ^^^^^^^^^ entity.name.command-line-option | ||||
| #                           ^^^^^^^ - entity.name | ||||
| #                            ^ keyword.operator | ||||
| #                             ^^^ variable.parameter | ||||
| #                                ^^ - variable | ||||
|               output NUM (default 3) lines of copied context | ||||
|  | ||||
| EXAMPLE | ||||
|        #include <stdio.h> | ||||
| #      ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include | ||||
|  | ||||
|     (This is not C code.) | ||||
| #   ^^^^^^^^^^^^^^^^^^^^^^ - source.c | ||||
|  | ||||
|            struct timeval { | ||||
|                time_t      tv_sec;         /* seconds */ | ||||
|                suseconds_t tv_usec;        /* microseconds */ | ||||
|            }; | ||||
| #           ^ source.c punctuation.terminator | ||||
|  | ||||
|        The corresponding argument for pselect() has the following type: | ||||
| #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - source.c | ||||
|            #define POLLIN_SET  (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN | | ||||
|                                 EPOLLHUP | EPOLLERR) | ||||
| #                                                  ^ source.c meta.preprocessor.macro meta.group punctuation.section.group.end | ||||
|  | ||||
| ENVIRONMENT | ||||
|        $SYSTEMD_LOG_LEVEL | ||||
| #      ^ punctuation.definition.variable | ||||
| #       ^^^^^^^^^^^^^^^^^ constant.other | ||||
|            systemd reads the log level from this environment variable. This | ||||
|            can be overridden with --log-level=. | ||||
|  | ||||
| SEE ALSO | ||||
|        The systemd Homepage[11], systemd-system.conf(5), locale.conf(5) | ||||
| #                                ^^^^^^^^^^^^^^^^^^^ entity.name.function | ||||
							
								
								
									
										60
									
								
								assets/syntaxes/02_Extra/syntax_test_tsv.tsv
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								assets/syntaxes/02_Extra/syntax_test_tsv.tsv
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| # SYNTAX TEST "CSV.sublime-syntax" | ||||
| Forename	Surname	House No.	Street	City	Postcode | ||||
| #^^^^^^^ meta.field-1 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^^^^^^ meta.field-2 | ||||
| #               ^ punctuation.separator.sequence | ||||
| #                ^^^^^^^^^ meta.field-3 | ||||
| #                         ^ punctuation.separator.sequence | ||||
| #                          ^^^^^^ meta.field-4 | ||||
| #                                ^ punctuation.separator.sequence | ||||
| #                                 ^^^^ meta.field-1 | ||||
| #                                     ^ punctuation.separator.sequence | ||||
| #                                      ^^^^^^^^ meta.field-2 | ||||
| John	Doe	87	Logon Road	Citiville	TU43 6GH | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^ meta.field-2 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^ meta.field-3 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #           ^^^^^^^^^^ meta.field-4 | ||||
| #                     ^ punctuation.separator.sequence | ||||
| #                      ^^^^^^^^^ meta.field-1 | ||||
| #                               ^ punctuation.separator.sequence | ||||
| #                                ^^^^^^^^ meta.field-2 | ||||
| Jane	Doe	22	"""Fun"" Street"	"The City	 County"	FA90 1XA | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^ meta.field-2 | ||||
| #       ^ punctuation.separator.sequence | ||||
| #        ^^ meta.field-3 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #           ^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double | ||||
| #            ^^ constant.character.escape | ||||
| #                 ^^ constant.character.escape | ||||
| #                           ^ punctuation.separator.sequence | ||||
| #                            ^ meta.field-1 string.quoted.double punctuation.definition.string.begin | ||||
| #                             ^^^^^^^^^^^^^^^^^ meta.field-1 string.quoted.double | ||||
| #                                             ^ meta.field-1 string.quoted.double punctuation.definition.string.end | ||||
| #                                              ^ punctuation.separator.sequence | ||||
| #                                               ^^^^^^^^ meta.field-2 | ||||
| Fred	Bloggs	"19"	"Street | ||||
| #^^^ meta.field-1 | ||||
| #   ^ punctuation.separator.sequence | ||||
| #    ^^^^^^ meta.field-2 | ||||
| #          ^ punctuation.separator.sequence | ||||
| #            ^^^ meta.field-3 string.quoted.double | ||||
| #               ^ punctuation.separator.sequence | ||||
| #                ^ meta.field-4 punctuation.definition.string.begin | ||||
| #                ^^^^^^^^ meta.field-4 string.quoted.double | ||||
| Spanning Multiple "" | ||||
| #^^^^^^^^^^^^^^^^^^^^ meta.field-4 string.quoted.double | ||||
| #                 ^^ constant.character.escape | ||||
| Lines"	Citee	P0stc0d3 | ||||
| #^^^^^ meta.field-4 string.quoted.double | ||||
| #    ^ meta.field-4 punctuation.definition.string.end | ||||
| #     ^ punctuation.separator.sequence | ||||
| #      ^^^^^ meta.field-1 | ||||
| #           ^ punctuation.separator.sequence | ||||
| #            ^^^^^^^^ meta.field-2 | ||||
| Can't render this file because it contains an unexpected character in line 1 and column 15. | 
							
								
								
									
										63
									
								
								assets/syntaxes/02_Extra/syslog.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								assets/syntaxes/02_Extra/syslog.sublime-syntax
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| %YAML 1.2 | ||||
| --- | ||||
| # http://www.sublimetext.com/docs/3/syntax.html | ||||
| name: syslog | ||||
| file_extensions: | ||||
|   - syslog | ||||
| scope: text.log.syslog | ||||
| contexts: | ||||
|   main: | ||||
|     - match: ^(\w+\s+\d+)\s+(\d{2}:\d{2}:\d{2}) | ||||
|       scope: meta.datetime.syslog constant.numeric.syslog | ||||
|       captures: | ||||
|         1: meta.date.syslog | ||||
|         2: meta.time.syslog | ||||
|       push: loghost | ||||
|     - match: ^ | ||||
|       push: text | ||||
|   loghost: | ||||
|     - match: '[\w:.-]+' | ||||
|       scope: entity.other.attribute-name.loghost.syslog | ||||
|       set: process | ||||
|   process: | ||||
|     - match: ([\w.-]+)(?:(\[)(\d+)(\]))?([ :]) | ||||
|       captures: | ||||
|         1: support.function.process.syslog | ||||
|         2: punctuation.separator.pid.begin.syslog | ||||
|         3: meta.pid.syslog meta.number.integer.syslog constant.numeric.value.syslog | ||||
|         4: punctuation.separator.pid.end.syslog | ||||
|         5: punctuation.separator.mapping.syslog | ||||
|       set: structured-data | ||||
|   structured-data: | ||||
|     - match: '\[' | ||||
|       scope: punctuation.section.mapping.begin.syslog | ||||
|       push: | ||||
|         - match: \] | ||||
|           scope: punctuation.section.mapping.end.syslog | ||||
|           pop: true | ||||
|         - match: \w+ | ||||
|           scope: variable.parameter.syslog | ||||
|         - match: = | ||||
|           scope: keyword.operator.assignment.syslog | ||||
|           push: | ||||
|             - match: '[^\s\]]+' | ||||
|               scope: constant.other.syslog | ||||
|               pop: true | ||||
|             - match: (?=\]) | ||||
|               pop: true | ||||
|     - match: (?=\S) | ||||
|       set: text | ||||
|   text: | ||||
|     - match: $ | ||||
|       pop: true | ||||
|     - match: '<\w+>' | ||||
|       scope: constant.language.syslog | ||||
|     - match: \b(CMD)\b\s+(\() | ||||
|       captures: | ||||
|         1: entity.name.label.syslog | ||||
|         2: punctuation.section.block.begin.syslog | ||||
|       embed: scope:source.shell.bash | ||||
|       escape: \)$ | ||||
|       escape_captures: | ||||
|         0: punctuation.section.block.end.syslog | ||||
|     - include: scope:text.log | ||||
							
								
								
									
										
											BIN
										
									
								
								assets/themes.bin
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/themes.bin
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1
									
								
								assets/themes/Coldark
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/themes/Coldark
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/themes/Coldark added at e44750b2a9
									
								
							| @@ -3,14 +3,14 @@ | ||||
| <plist version="1.0"> | ||||
|     <dict> | ||||
|         <!-- | ||||
|         The colors in this theme are encoded as #RRGGBBAA where RR is an ANSI | ||||
|         palette number from 00 to 0f, and AA is the special value 00 to indicate | ||||
|         that this encoding is being used. | ||||
|         The colors in this theme are encoded as #RRGGBBAA where: | ||||
|         * If AA is 00, then RR is an ANSI palette number from 00 to 07. | ||||
|         * If AA is 01, the terminal's default fg/bg color is used. | ||||
|         --> | ||||
|         <key>author</key> | ||||
|         <string>Template: Chris Kempson, Scheme: Mitchell Kember</string> | ||||
|         <key>name</key> | ||||
|         <string>ANSI Light</string> | ||||
|         <string>ANSI</string> | ||||
|         <key>colorSpaceName</key> | ||||
|         <string>sRGB</string> | ||||
|         <key>settings</key> | ||||
| @@ -19,32 +19,17 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <key>caret</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <string>#00000001</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <key>invisibles</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <key>lineHighlight</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <key>selection</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <string>#00000001</string> | ||||
|                     <!-- | ||||
|                     Explicitly set the gutter color since bat falls back to a | ||||
|                     hardcoded DEFAULT_GUTTER_COLOR otherwise. | ||||
|                     --> | ||||
|                     <key>gutter</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#00000001</string> | ||||
|                     <key>gutterForeground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Text</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>variable.parameter.function</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <string>#00000001</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -58,39 +43,6 @@ | ||||
|                     <string>#02000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Punctuation</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>punctuation.definition.string, punctuation.definition.variable, punctuation.definition.string, punctuation.definition.parameters, punctuation.definition.string, punctuation.definition.array</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Delimiters</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>none</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Operators</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>keyword.operator</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Keywords</string> | ||||
| @@ -102,17 +54,6 @@ | ||||
|                     <string>#05000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Variables</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>variable</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Functions</string> | ||||
| @@ -146,17 +87,6 @@ | ||||
|                     <string>#03000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Classes</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>meta.class</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Methods</string> | ||||
| @@ -480,8 +410,6 @@ | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#01000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -493,8 +421,6 @@ | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#07000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|         </array> | ||||
| @@ -3,14 +3,22 @@ | ||||
| <plist version="1.0"> | ||||
|     <dict> | ||||
|         <!-- | ||||
|         Most base16 users should use the base16 theme. This theme, base16-256, | ||||
|         is for users who configure their terminal with a 256-color variant of a | ||||
|         base16 theme, and who use base16-shell. DO NOT use this theme simply | ||||
|         because your terminal supports 256 colors. | ||||
| 
 | ||||
|         base16: https://github.com/chriskempson/base16 | ||||
|         base16-shell: https://github.com/chriskempson/base16-shell | ||||
| 
 | ||||
|         The colors in this theme are encoded as #RRGGBBAA where RR is an ANSI | ||||
|         palette number from 00 to 0f, and AA is the special value 00 to indicate | ||||
|         that this encoding is being used. | ||||
|         palette number from 00 to ff (the 256 terminal colors), and AA is the | ||||
|         special value 00 to indicate this encoding is being used. | ||||
|         --> | ||||
|         <key>author</key> | ||||
|         <string>Template: Chris Kempson, Scheme: Mitchell Kember</string> | ||||
|         <key>name</key> | ||||
|         <string>ANSI Dark</string> | ||||
|         <string>Base16 256</string> | ||||
|         <key>colorSpaceName</key> | ||||
|         <string>sRGB</string> | ||||
|         <key>settings</key> | ||||
| @@ -25,15 +33,15 @@ | ||||
|                     <key>foreground</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <key>invisibles</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#08000000</string> | ||||
|                     <key>lineHighlight</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#08000000</string> | ||||
|                     <key>selection</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#13000000</string> | ||||
|                     <key>gutter</key> | ||||
|                     <string>#00000000</string> | ||||
|                     <string>#12000000</string> | ||||
|                     <key>gutterForeground</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#08000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -55,7 +63,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#02000000</string> | ||||
|                     <string>#08000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -132,7 +140,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#06000000</string> | ||||
|                     <string>#11000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -154,7 +162,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#0f000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -209,7 +217,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -220,7 +228,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -231,7 +239,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -242,7 +250,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -264,7 +272,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -297,7 +305,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -321,7 +329,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -380,7 +388,7 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -391,7 +399,20 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Separator</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>meta.separator</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#13000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#07000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -481,7 +502,7 @@ | ||||
|                     <key>background</key> | ||||
|                     <string>#01000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#07000000</string> | ||||
|                     <string>#0f000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
| @@ -492,11 +513,37 @@ | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#03000000</string> | ||||
|                     <string>#10000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#00000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Deprecated</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>invalid.deprecated</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#11000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#0f000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|             <dict> | ||||
|                 <key>name</key> | ||||
|                 <string>Unimplemented</string> | ||||
|                 <key>scope</key> | ||||
|                 <string>invalid.unimplemented</string> | ||||
|                 <key>settings</key> | ||||
|                 <dict> | ||||
|                     <key>background</key> | ||||
|                     <string>#08000000</string> | ||||
|                     <key>foreground</key> | ||||
|                     <string>#0f000000</string> | ||||
|                 </dict> | ||||
|             </dict> | ||||
|         </array> | ||||
|         <key>uuid</key> | ||||
|         <string>uuid</string> | ||||
							
								
								
									
										11
									
								
								assets/themes/base16.tmTheme
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								assets/themes/base16.tmTheme
									
									
									
									
										vendored
									
									
								
							| @@ -3,9 +3,16 @@ | ||||
| <plist version="1.0"> | ||||
|     <dict> | ||||
|         <!-- | ||||
|         This theme is meant for users who configure their terminal with a base16 | ||||
|         color theme. If you use a 256-color variant along with base16-shell, use | ||||
|         the bat theme base16-256 instead. | ||||
|  | ||||
|         base16: https://github.com/chriskempson/base16 | ||||
|         base16-shell: https://github.com/chriskempson/base16-shell | ||||
|  | ||||
|         The colors in this theme are encoded as #RRGGBBAA where RR is an ANSI | ||||
|         palette number from 00 to 0f, and AA is the special value 00 to indicate | ||||
|         that this encoding is being used. | ||||
|         palette number from 00 to 0f (the 8 colors and their bright versions), | ||||
|         and AA is the special value 00 to indicate this encoding is being used. | ||||
|         --> | ||||
|         <key>author</key> | ||||
|         <string>Template: Chris Kempson, Scheme: Mitchell Kember</string> | ||||
|   | ||||
							
								
								
									
										2
									
								
								assets/themes/dracula-sublime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/themes/dracula-sublime
									
									
									
									
										vendored
									
									
								
							 Submodule assets/themes/dracula-sublime updated: 811a634420...c2de0acf5a
									
								
							
							
								
								
									
										1
									
								
								assets/themes/gruvbox
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/themes/gruvbox
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/themes/gruvbox added at 64c47250e5
									
								
							
							
								
								
									
										2
									
								
								assets/themes/onehalf
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/themes/onehalf
									
									
									
									
										vendored
									
									
								
							 Submodule assets/themes/onehalf updated: fdcbffe317...141c775ace
									
								
							
							
								
								
									
										1
									
								
								assets/themes/visual-studio-dark-plus
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								assets/themes/visual-studio-dark-plus
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule assets/themes/visual-studio-dark-plus added at 01ee1e8e0d
									
								
							
							
								
								
									
										2
									
								
								assets/themes/zenburn
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								assets/themes/zenburn
									
									
									
									
										vendored
									
									
								
							 Submodule assets/themes/zenburn updated: cb746f6962...702023d80d
									
								
							
							
								
								
									
										38
									
								
								build.rs
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								build.rs
									
									
									
									
									
								
							| @@ -8,6 +8,7 @@ fn main() {} | ||||
|  | ||||
| #[cfg(feature = "application")] | ||||
| fn main() -> Result<(), Box<dyn std::error::Error>> { | ||||
|     use std::collections::HashMap; | ||||
|     use std::error::Error; | ||||
|     use std::fs; | ||||
|     use std::path::Path; | ||||
| @@ -15,27 +16,32 @@ fn main() -> Result<(), Box<dyn std::error::Error>> { | ||||
|     // Read environment variables. | ||||
|     let project_name = option_env!("PROJECT_NAME").unwrap_or("bat"); | ||||
|     let executable_name = option_env!("PROJECT_EXECUTABLE").unwrap_or(project_name); | ||||
|     let executable_name_uppercase = executable_name.to_uppercase(); | ||||
|     static PROJECT_VERSION: &str = env!("CARGO_PKG_VERSION"); | ||||
|  | ||||
|     /// Generates a file from a liquid template. | ||||
|     /// Generates a file from a template. | ||||
|     fn template( | ||||
|         variables: &liquid::Object, | ||||
|         variables: &HashMap<&str, &str>, | ||||
|         in_file: &str, | ||||
|         out_file: impl AsRef<Path>, | ||||
|     ) -> Result<(), Box<dyn Error>> { | ||||
|         let template = liquid::ParserBuilder::with_stdlib() | ||||
|             .build()? | ||||
|             .parse(&fs::read_to_string(in_file)?)?; | ||||
|         let mut content = fs::read_to_string(in_file)?; | ||||
|  | ||||
|         fs::write(out_file, template.render(variables)?)?; | ||||
|         for (variable_name, value) in variables { | ||||
|             // Replace {{variable_name}} by the value | ||||
|             let pattern = format!("{{{{{variable_name}}}}}", variable_name = variable_name); | ||||
|             content = content.replace(&pattern, value); | ||||
|         } | ||||
|  | ||||
|         fs::write(out_file, content)?; | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     let variables = liquid::object!({ | ||||
|         "PROJECT_NAME": project_name, | ||||
|         "PROJECT_EXECUTABLE": executable_name, | ||||
|         "PROJECT_VERSION": PROJECT_VERSION, | ||||
|     }); | ||||
|     let mut variables = HashMap::new(); | ||||
|     variables.insert("PROJECT_NAME", project_name); | ||||
|     variables.insert("PROJECT_EXECUTABLE", executable_name); | ||||
|     variables.insert("PROJECT_EXECUTABLE_UPPERCASE", &executable_name_uppercase); | ||||
|     variables.insert("PROJECT_VERSION", PROJECT_VERSION); | ||||
|  | ||||
|     let out_dir_env = std::env::var_os("OUT_DIR").expect("OUT_DIR to be set in build.rs"); | ||||
|     let out_dir = Path::new(&out_dir_env); | ||||
| @@ -48,11 +54,21 @@ fn main() -> Result<(), Box<dyn std::error::Error>> { | ||||
|         "assets/manual/bat.1.in", | ||||
|         out_dir.join("assets/manual/bat.1"), | ||||
|     )?; | ||||
|     template( | ||||
|         &variables, | ||||
|         "assets/completions/bat.bash.in", | ||||
|         out_dir.join("assets/completions/bat.bash"), | ||||
|     )?; | ||||
|     template( | ||||
|         &variables, | ||||
|         "assets/completions/bat.fish.in", | ||||
|         out_dir.join("assets/completions/bat.fish"), | ||||
|     )?; | ||||
|     template( | ||||
|         &variables, | ||||
|         "assets/completions/bat.zsh.in", | ||||
|         out_dir.join("assets/completions/bat.zsh"), | ||||
|     )?; | ||||
|  | ||||
|     Ok(()) | ||||
| } | ||||
|   | ||||
| @@ -1,188 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Building and packaging for release | ||||
| set -ex | ||||
|  | ||||
| # Ensure environment variables exist. | ||||
| if [[ -z "$PROJECT_NAME" ]]; then | ||||
|     export PROJECT_NAME="bat" | ||||
| fi | ||||
|  | ||||
| build() { | ||||
|     cargo build --bins --target "$TARGET" --release --verbose | ||||
| } | ||||
|  | ||||
| pack() { | ||||
|     local tempdir | ||||
|     local out_dir | ||||
|     local package_name | ||||
|     local gcc_prefix | ||||
|  | ||||
|     tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp) | ||||
|     out_dir=$(pwd) | ||||
|     package_name="$PROJECT_NAME-$TRAVIS_TAG-$TARGET" | ||||
|  | ||||
|     if [[ $TARGET == "arm-unknown-linux-gnueabihf" ]]; then | ||||
|         gcc_prefix="arm-linux-gnueabihf-" | ||||
|     elif [[ $TARGET == "aarch64-unknown-linux-gnu" ]]; then | ||||
|         gcc_prefix="aarch64-linux-gnu-" | ||||
|     else | ||||
|         gcc_prefix="" | ||||
|     fi | ||||
|  | ||||
|     # create a "staging" directory | ||||
|     mkdir "$tempdir/$package_name" | ||||
|     mkdir "$tempdir/$package_name/autocomplete" | ||||
|  | ||||
|     # copying the main binary | ||||
|     cp "target/$TARGET/release/$PROJECT_NAME" "$tempdir/$package_name/" | ||||
|     "${gcc_prefix}"strip "$tempdir/$package_name/$PROJECT_NAME" | ||||
|  | ||||
|     # manpage, readme and license | ||||
|     cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/assets/manual/bat.1 "$tempdir/$package_name/$PROJECT_NAME.1" | ||||
|     cp README.md "$tempdir/$package_name" | ||||
|     cp LICENSE-MIT "$tempdir/$package_name" | ||||
|     cp LICENSE-APACHE "$tempdir/$package_name" | ||||
|  | ||||
|     # various autocomplete | ||||
|     # TODO: disabled for now, see issue #372 | ||||
|     # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".bash "$tempdir/$package_name/autocomplete/${PROJECT_NAME}.bash-completion" | ||||
|     # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/"$PROJECT_NAME".fish "$tempdir/$package_name/autocomplete" | ||||
|     cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/assets/completions/bat.fish "$tempdir/$package_name/autocomplete/$PROJECT_NAME.fish" | ||||
|     # cp target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/_"$PROJECT_NAME" "$tempdir/$package_name/autocomplete" | ||||
|  | ||||
|     # archiving | ||||
|     pushd "$tempdir" | ||||
|     tar czf "$out_dir/$package_name.tar.gz" "$package_name"/* | ||||
|     popd | ||||
|     rm -r "$tempdir" | ||||
| } | ||||
|  | ||||
| make_deb() { | ||||
|     local tempdir | ||||
|     local architecture | ||||
|     local version | ||||
|     local dpkgname | ||||
|     local conflictname | ||||
|     local gcc_prefix | ||||
|     local homepage | ||||
|     local maintainer | ||||
|  | ||||
|     homepage="https://github.com/sharkdp/bat" | ||||
|     maintainer="David Peter <mail@david-peter.de>" | ||||
|  | ||||
|     case $TARGET in | ||||
|         x86_64*) | ||||
|             architecture=amd64 | ||||
|             gcc_prefix="" | ||||
|             ;; | ||||
|         i686*) | ||||
|             architecture=i386 | ||||
|             gcc_prefix="" | ||||
|             ;; | ||||
|         aarch64*) | ||||
|             architecture=arm64 | ||||
|             gcc_prefix="aarch64-linux-gnu-" | ||||
|             ;; | ||||
|         arm*hf)  | ||||
|             architecture=armhf   | ||||
|             gcc_prefix="arm-linux-gnueabihf-"    | ||||
|             ;; | ||||
|         *) | ||||
|             echo "make_deb: skipping target '${TARGET}'" >&2 | ||||
|             return 0 | ||||
|             ;; | ||||
|     esac | ||||
|     version=${TRAVIS_TAG#v} | ||||
|     if [[ $TARGET = *musl* ]]; then | ||||
|       dpkgname=$PROJECT_NAME-musl | ||||
|       conflictname=$PROJECT_NAME | ||||
|     else | ||||
|       dpkgname=$PROJECT_NAME | ||||
|       conflictname=$PROJECT_NAME-musl | ||||
|     fi | ||||
|  | ||||
|     tempdir=$(mktemp -d 2>/dev/null || mktemp -d -t tmp) | ||||
|  | ||||
|     # copy the main binary | ||||
|     install -Dm755 "target/$TARGET/release/$PROJECT_NAME" "$tempdir/usr/bin/$PROJECT_NAME" | ||||
|     "${gcc_prefix}"strip "$tempdir/usr/bin/$PROJECT_NAME" | ||||
|  | ||||
|     # manpage | ||||
|     install -Dm644 target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/assets/manual/bat.1 "$tempdir/usr/share/man/man1/$PROJECT_NAME.1" | ||||
|     gzip --best "$tempdir/usr/share/man/man1/$PROJECT_NAME.1" | ||||
|  | ||||
|     # completions | ||||
|     install -Dm644 target/"$TARGET"/release/build/"$PROJECT_NAME"-*/out/assets/completions/bat.fish "$tempdir/usr/share/fish/vendor_completions.d/$PROJECT_NAME.fish" | ||||
|  | ||||
|     # readme and license | ||||
|     install -Dm644 README.md "$tempdir/usr/share/doc/$PROJECT_NAME/README.md" | ||||
|     install -Dm644 LICENSE-MIT "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-MIT" | ||||
|     install -Dm644 LICENSE-APACHE "$tempdir/usr/share/doc/$PROJECT_NAME/LICENSE-APACHE" | ||||
|     cat > "$tempdir/usr/share/doc/$PROJECT_NAME/copyright" <<EOF | ||||
| Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ | ||||
| Upstream-Name: $PROJECT_NAME | ||||
| Source: $homepage | ||||
|  | ||||
| Files: * | ||||
| Copyright: $maintainer | ||||
| License: Apache-2.0 or MIT | ||||
|  | ||||
| License: Apache-2.0 | ||||
|  On Debian systems, the complete text of the Apache-2.0 can be found in the | ||||
|  file /usr/share/common-licenses/Apache-2.0. | ||||
|  | ||||
| License: MIT | ||||
|  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. | ||||
| EOF | ||||
|  | ||||
|     # Control file | ||||
|     mkdir "$tempdir/DEBIAN" | ||||
|     cat > "$tempdir/DEBIAN/control" <<EOF | ||||
| Package: $dpkgname | ||||
| Version: $version | ||||
| Section: utils | ||||
| Priority: optional | ||||
| Maintainer: $maintainer | ||||
| Homepage: $homepage | ||||
| Architecture: $architecture | ||||
| Provides: $PROJECT_NAME | ||||
| Conflicts: $conflictname | ||||
| Description: A cat(1) clone with wings. | ||||
|  A cat(1) clone with syntax highlighting and Git integration. | ||||
| EOF | ||||
|  | ||||
|     fakeroot dpkg-deb --build "$tempdir" "${dpkgname}_${version}_${architecture}.deb" | ||||
| } | ||||
|  | ||||
|  | ||||
| main() { | ||||
|     build | ||||
|     pack | ||||
|     if [[ $TARGET = *linux* ]]; then | ||||
|       make_deb | ||||
|     fi | ||||
| } | ||||
|  | ||||
| main | ||||
| @@ -1,28 +0,0 @@ | ||||
| # This script takes care of packaging the build artifacts that will go in the | ||||
| # release zipfile | ||||
|  | ||||
| $SRC_DIR = $PWD.Path | ||||
| $STAGE = [System.Guid]::NewGuid().ToString() | ||||
|  | ||||
| Set-Location $ENV:Temp | ||||
| New-Item -Type Directory -Name $STAGE | ||||
| Set-Location $STAGE | ||||
|  | ||||
| $ZIP = "$SRC_DIR\$($Env:CRATE_NAME)-$($Env:APPVEYOR_REPO_TAG_NAME)-$($Env:TARGET).zip" | ||||
|  | ||||
| Copy-Item "$SRC_DIR\target\release\bat.exe" '.\' | ||||
| # TODO: disabled for now, see issue #372 | ||||
| # Copy-Item $SRC_DIR\target\release\build\bat-*\out\_bat.ps1 '.\' | ||||
|  | ||||
| # readme and license | ||||
| Copy-Item $SRC_DIR\README.md '.\' | ||||
| Copy-Item $SRC_DIR\LICENSE-MIT '.\' | ||||
| Copy-Item $SRC_DIR\LICENSE-APACHE '.\' | ||||
|  | ||||
| 7z a "$ZIP" * | ||||
|  | ||||
| Push-AppveyorArtifact "$ZIP" | ||||
|  | ||||
| Set-Location .. | ||||
| Remove-Item $STAGE -Force -Recurse | ||||
| Set-Location $SRC_DIR | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user