mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Compare commits
	
		
			139 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					aa2319a052 | ||
| 
						 | 
					f22181f47d | ||
| 
						 | 
					3191ff498d | ||
| 
						 | 
					91ea482ea6 | ||
| 
						 | 
					905d87a112 | ||
| 
						 | 
					8eae4e56ef | ||
| 
						 | 
					5466fcfd2f | ||
| 
						 | 
					176a0e9926 | ||
| 
						 | 
					aa049b4677 | ||
| 
						 | 
					5c19f1f546 | ||
| 
						 | 
					9ae19a1f94 | ||
| 
						 | 
					8cf3b7ad51 | ||
| 
						 | 
					03d16835aa | ||
| 
						 | 
					7174130e46 | ||
| 
						 | 
					59f64c47b1 | ||
| 
						 | 
					f3655e8a1e | ||
| 
						 | 
					f97d796f90 | ||
| 
						 | 
					d342aa4841 | ||
| 
						 | 
					5c655e3b20 | ||
| 
						 | 
					9a0ac4a477 | ||
| 
						 | 
					8ea9632ccf | ||
| 
						 | 
					03ef4f30e8 | ||
| 
						 | 
					12228fb525 | ||
| 
						 | 
					92897046ed | ||
| 
						 | 
					91aa843a4e | ||
| 
						 | 
					c3145d3c08 | ||
| 
						 | 
					1ad2123896 | ||
| 
						 | 
					9b9a256c60 | ||
| 
						 | 
					0f3644d23a | ||
| 
						 | 
					04d3023f76 | ||
| 
						 | 
					5c7aa5406a | ||
| 
						 | 
					bce676e902 | ||
| 
						 | 
					7c9fd59a99 | ||
| 
						 | 
					b89d1a2e77 | ||
| 
						 | 
					f8c5015b20 | ||
| 
						 | 
					f28cdc8a15 | ||
| 
						 | 
					0e147f1f66 | ||
| 
						 | 
					a91705724d | ||
| 
						 | 
					5e3e8133fb | ||
| 
						 | 
					5a3758f1c7 | ||
| 
						 | 
					57237106f3 | ||
| 
						 | 
					99ad2368b0 | ||
| 
						 | 
					21d7f99a4e | ||
| 
						 | 
					24b368a30c | ||
| 
						 | 
					7c8bc8561d | ||
| 
						 | 
					ce37cd665d | ||
| 
						 | 
					bd0f4f6f78 | ||
| 
						 | 
					4867db8831 | ||
| 
						 | 
					e6ab516fb7 | ||
| 
						 | 
					7501b82df1 | ||
| 
						 | 
					aa6b881971 | ||
| 
						 | 
					3928734d0f | ||
| 
						 | 
					c7868a95bc | ||
| 
						 | 
					2012647f78 | ||
| 
						 | 
					84471a5463 | ||
| 
						 | 
					57a3c14f2b | ||
| 
						 | 
					d9914307eb | ||
| 
						 | 
					71cdf46197 | ||
| 
						 | 
					8a27884c70 | ||
| 
						 | 
					b881e3e6cb | ||
| 
						 | 
					ca718d8f2a | ||
| 
						 | 
					c6625b1b8a | ||
| 
						 | 
					16a6d680c4 | ||
| 
						 | 
					270fa8f5d3 | ||
| 
						 | 
					b1f5e93b4a | ||
| 
						 | 
					79a61c72e1 | ||
| 
						 | 
					3f04c11537 | ||
| 
						 | 
					b2270613d7 | ||
| 
						 | 
					0fe854421b | ||
| 
						 | 
					de074f421e | ||
| 
						 | 
					27590c39bd | ||
| 
						 | 
					67191d4d5e | ||
| 
						 | 
					00764f3d59 | ||
| 
						 | 
					4a2cb32149 | ||
| 
						 | 
					1a11664239 | ||
| 
						 | 
					9520cbb44c | ||
| 
						 | 
					1aea6b2cdb | ||
| 
						 | 
					6ff950341a | ||
| 
						 | 
					b9501e42b2 | ||
| 
						 | 
					065c809dd5 | ||
| 
						 | 
					5b9ea4a78f | ||
| 
						 | 
					b72c4d4400 | ||
| 
						 | 
					d46e214985 | ||
| 
						 | 
					799c47ce7a | ||
| 
						 | 
					b5121e59dd | ||
| 
						 | 
					f6a7b4929f | ||
| 
						 | 
					162b77ab5a | ||
| 
						 | 
					92904efd45 | ||
| 
						 | 
					93fabe487f | ||
| 
						 | 
					74d704bea2 | ||
| 
						 | 
					ee1bd50dd1 | ||
| 
						 | 
					07096f84f5 | ||
| 
						 | 
					a9b3bd632b | ||
| 
						 | 
					eec324890e | ||
| 
						 | 
					ca6ac8f0db | ||
| 
						 | 
					60ab4a5fe7 | ||
| 
						 | 
					10eb5830f0 | ||
| 
						 | 
					835ceae6f6 | ||
| 
						 | 
					abe3aa47f6 | ||
| 
						 | 
					53e34072ed | ||
| 
						 | 
					f83f761d0a | ||
| 
						 | 
					9c18bf3a89 | ||
| 
						 | 
					f6e1ab444e | ||
| 
						 | 
					0ae8b2959d | ||
| 
						 | 
					46b0b1e5e2 | ||
| 
						 | 
					b44dfb4ab8 | ||
| 
						 | 
					868e528810 | ||
| 
						 | 
					0a4c850ef1 | ||
| 
						 | 
					b3c4232251 | ||
| 
						 | 
					0c38df47b9 | ||
| 
						 | 
					bfd4005760 | ||
| 
						 | 
					fc9fad15a3 | ||
| 
						 | 
					b5091e88ad | ||
| 
						 | 
					2610808b6d | ||
| 
						 | 
					3cfee4f214 | ||
| 
						 | 
					70fd116eaf | ||
| 
						 | 
					62aac9c2f7 | ||
| 
						 | 
					afcf1c6c22 | ||
| 
						 | 
					f3f0365b13 | ||
| 
						 | 
					9bc12843fe | ||
| 
						 | 
					5e3ceddf69 | ||
| 
						 | 
					d377e23193 | ||
| 
						 | 
					e6dabd59ad | ||
| 
						 | 
					f0c7380132 | ||
| 
						 | 
					697ad4c568 | ||
| 
						 | 
					311202102d | ||
| 
						 | 
					6812a22706 | ||
| 
						 | 
					fa56879790 | ||
| 
						 | 
					2e9d8f5520 | ||
| 
						 | 
					c8ea3fba5a | ||
| 
						 | 
					56af13047c | ||
| 
						 | 
					9b8b39f444 | ||
| 
						 | 
					e32a837fb2 | ||
| 
						 | 
					33dc865c30 | ||
| 
						 | 
					0d469e2966 | ||
| 
						 | 
					ed4bbe97d1 | ||
| 
						 | 
					f05c437221 | ||
| 
						 | 
					483488a2fa | ||
| 
						 | 
					b36c4f2428 | 
							
								
								
									
										135
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										135
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@@ -7,9 +7,6 @@
 | 
			
		||||
[submodule "vendor/grammars/sublime-cirru"]
 | 
			
		||||
	path = vendor/grammars/sublime-cirru
 | 
			
		||||
	url = https://github.com/Cirru/sublime-cirru
 | 
			
		||||
[submodule "vendor/grammars/Sublime-Logos"]
 | 
			
		||||
	path = vendor/grammars/Sublime-Logos
 | 
			
		||||
	url = https://github.com/Cykey/Sublime-Logos
 | 
			
		||||
[submodule "vendor/grammars/SublimeBrainfuck"]
 | 
			
		||||
	path = vendor/grammars/SublimeBrainfuck
 | 
			
		||||
	url = https://github.com/Drako/SublimeBrainfuck
 | 
			
		||||
@@ -25,15 +22,9 @@
 | 
			
		||||
[submodule "vendor/grammars/Sublime-REBOL"]
 | 
			
		||||
	path = vendor/grammars/Sublime-REBOL
 | 
			
		||||
	url = https://github.com/Oldes/Sublime-REBOL
 | 
			
		||||
[submodule "vendor/grammars/autoitv3-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/autoitv3-tmbundle
 | 
			
		||||
	url = https://github.com/Red-Nova-Technologies/autoitv3-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/Sublime-VimL"]
 | 
			
		||||
	path = vendor/grammars/Sublime-VimL
 | 
			
		||||
	url = https://github.com/SalGnt/Sublime-VimL
 | 
			
		||||
[submodule "vendor/grammars/boo-sublime"]
 | 
			
		||||
	path = vendor/grammars/boo-sublime
 | 
			
		||||
	url = https://github.com/Shammah/boo-sublime
 | 
			
		||||
[submodule "vendor/grammars/ColdFusion"]
 | 
			
		||||
	path = vendor/grammars/ColdFusion
 | 
			
		||||
	url = https://github.com/SublimeText/ColdFusion
 | 
			
		||||
@@ -88,9 +79,6 @@
 | 
			
		||||
[submodule "vendor/grammars/language-yaml"]
 | 
			
		||||
	path = vendor/grammars/language-yaml
 | 
			
		||||
	url = https://github.com/atom/language-yaml
 | 
			
		||||
[submodule "vendor/grammars/sublime-sourcepawn"]
 | 
			
		||||
	path = vendor/grammars/sublime-sourcepawn
 | 
			
		||||
	url = https://github.com/austinwagner/sublime-sourcepawn
 | 
			
		||||
[submodule "vendor/grammars/Sublime-Lasso"]
 | 
			
		||||
	path = vendor/grammars/Sublime-Lasso
 | 
			
		||||
	url = https://github.com/bfad/Sublime-Lasso
 | 
			
		||||
@@ -109,9 +97,6 @@
 | 
			
		||||
[submodule "vendor/grammars/sublime-MuPAD"]
 | 
			
		||||
	path = vendor/grammars/sublime-MuPAD
 | 
			
		||||
	url = https://github.com/ccreutzig/sublime-MuPAD
 | 
			
		||||
[submodule "vendor/grammars/nesC.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/nesC.tmbundle
 | 
			
		||||
	url = https://github.com/cdwilson/nesC.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/haxe-sublime-bundle"]
 | 
			
		||||
	path = vendor/grammars/haxe-sublime-bundle
 | 
			
		||||
	url = https://github.com/clemos/haxe-sublime-bundle
 | 
			
		||||
@@ -133,9 +118,6 @@
 | 
			
		||||
[submodule "vendor/grammars/fancy-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/fancy-tmbundle
 | 
			
		||||
	url = https://github.com/fancy-lang/fancy-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/monkey.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/monkey.tmbundle
 | 
			
		||||
	url = https://github.com/gingerbeardman/monkey.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/dart-sublime-bundle"]
 | 
			
		||||
	path = vendor/grammars/dart-sublime-bundle
 | 
			
		||||
	url = https://github.com/guillermooo/dart-sublime-bundle
 | 
			
		||||
@@ -166,18 +148,12 @@
 | 
			
		||||
[submodule "vendor/grammars/fish-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/fish-tmbundle
 | 
			
		||||
	url = https://github.com/l15n/fish-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/sublime-idris"]
 | 
			
		||||
	path = vendor/grammars/sublime-idris
 | 
			
		||||
	url = https://github.com/laughedelic/sublime-idris
 | 
			
		||||
[submodule "vendor/grammars/moonscript-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/moonscript-tmbundle
 | 
			
		||||
	url = https://github.com/leafo/moonscript-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/Isabelle.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/Isabelle.tmbundle
 | 
			
		||||
	url = https://github.com/lsf37/Isabelle.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/x86-assembly-textmate-bundle"]
 | 
			
		||||
	path = vendor/grammars/x86-assembly-textmate-bundle
 | 
			
		||||
	url = https://github.com/lunixbochs/x86-assembly-textmate-bundle
 | 
			
		||||
[submodule "vendor/grammars/Alloy.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/Alloy.tmbundle
 | 
			
		||||
	url = https://github.com/macekond/Alloy.tmbundle
 | 
			
		||||
@@ -208,9 +184,6 @@
 | 
			
		||||
[submodule "vendor/grammars/Julia.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/Julia.tmbundle
 | 
			
		||||
	url = https://github.com/nanoant/Julia.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/assembly.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/assembly.tmbundle
 | 
			
		||||
	url = https://github.com/nanoant/assembly.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/ooc.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/ooc.tmbundle
 | 
			
		||||
	url = https://github.com/nilium/ooc.tmbundle
 | 
			
		||||
@@ -220,9 +193,6 @@
 | 
			
		||||
[submodule "vendor/grammars/sublime-tea"]
 | 
			
		||||
	path = vendor/grammars/sublime-tea
 | 
			
		||||
	url = https://github.com/pferruggiaro/sublime-tea
 | 
			
		||||
[submodule "vendor/grammars/puppet-textmate-bundle"]
 | 
			
		||||
	path = vendor/grammars/puppet-textmate-bundle
 | 
			
		||||
	url = https://github.com/puppet-textmate-bundle/puppet-textmate-bundle
 | 
			
		||||
[submodule "vendor/grammars/abap.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/abap.tmbundle
 | 
			
		||||
	url = https://github.com/pvl/abap.tmbundle
 | 
			
		||||
@@ -448,9 +418,6 @@
 | 
			
		||||
[submodule "vendor/grammars/llvm.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/llvm.tmbundle
 | 
			
		||||
	url = https://github.com/whitequark/llvm.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/sublime-nix"]
 | 
			
		||||
	path = vendor/grammars/sublime-nix
 | 
			
		||||
	url = https://github.com/wmertens/sublime-nix
 | 
			
		||||
[submodule "vendor/grammars/oz-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/oz-tmbundle
 | 
			
		||||
	url = https://github.com/eregon/oz-tmbundle
 | 
			
		||||
@@ -509,24 +476,9 @@
 | 
			
		||||
[submodule "vendor/grammars/liquid.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/liquid.tmbundle
 | 
			
		||||
	url = https://github.com/bastilian/validcode-textmate-bundles
 | 
			
		||||
[submodule "vendor/grammars/ats.sublime"]
 | 
			
		||||
	path = vendor/grammars/ats.sublime
 | 
			
		||||
	url = https://github.com/steinwaywhw/ats-mode-sublimetext
 | 
			
		||||
[submodule "vendor/grammars/Modelica"]
 | 
			
		||||
	path = vendor/grammars/Modelica
 | 
			
		||||
	url = https://github.com/BorisChumichev/modelicaSublimeTextPackage
 | 
			
		||||
[submodule "vendor/grammars/sublime-apl"]
 | 
			
		||||
	path = vendor/grammars/sublime-apl
 | 
			
		||||
	url = https://github.com/StoneCypher/sublime-apl
 | 
			
		||||
[submodule "vendor/grammars/CLIPS-sublime"]
 | 
			
		||||
	path = vendor/grammars/CLIPS-sublime
 | 
			
		||||
	url = https://github.com/psicomante/CLIPS-sublime
 | 
			
		||||
[submodule "vendor/grammars/Creole"]
 | 
			
		||||
	path = vendor/grammars/Creole
 | 
			
		||||
	url = https://github.com/Siddley/Creole
 | 
			
		||||
[submodule "vendor/grammars/GDScript-sublime"]
 | 
			
		||||
	path = vendor/grammars/GDScript-sublime
 | 
			
		||||
	url = https://github.com/beefsack/GDScript-sublime
 | 
			
		||||
[submodule "vendor/grammars/sublime-golo"]
 | 
			
		||||
	path = vendor/grammars/sublime-golo
 | 
			
		||||
	url = https://github.com/TypeUnsafe/sublime-golo
 | 
			
		||||
@@ -539,9 +491,6 @@
 | 
			
		||||
[submodule "vendor/grammars/G-Code"]
 | 
			
		||||
	path = vendor/grammars/G-Code
 | 
			
		||||
	url = https://github.com/robotmaster/sublime-text-syntax-highlighting
 | 
			
		||||
[submodule "vendor/grammars/grace-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/grace-tmbundle
 | 
			
		||||
	url = https://github.com/zmthy/grace-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/sublime-text-ox"]
 | 
			
		||||
	path = vendor/grammars/sublime-text-ox
 | 
			
		||||
	url = https://github.com/andreashetland/sublime-text-ox
 | 
			
		||||
@@ -551,9 +500,6 @@
 | 
			
		||||
[submodule "vendor/grammars/ec.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/ec.tmbundle
 | 
			
		||||
	url = https://github.com/ecere/ec.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/InnoSetup"]
 | 
			
		||||
	path = vendor/grammars/InnoSetup
 | 
			
		||||
	url = https://github.com/idleberg/InnoSetup-Sublime-Text
 | 
			
		||||
[submodule "vendor/grammars/gap-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/gap-tmbundle
 | 
			
		||||
	url = https://github.com/dhowden/gap-tmbundle
 | 
			
		||||
@@ -575,9 +521,6 @@
 | 
			
		||||
[submodule "vendor/grammars/SublimeClarion"]
 | 
			
		||||
	path = vendor/grammars/SublimeClarion
 | 
			
		||||
	url = https://github.com/fushnisoft/SublimeClarion
 | 
			
		||||
[submodule "vendor/grammars/oracle.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/oracle.tmbundle
 | 
			
		||||
	url = https://github.com/mulander/oracle.tmbundle.git
 | 
			
		||||
[submodule "vendor/grammars/BrightScript.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/BrightScript.tmbundle
 | 
			
		||||
	url = https://github.com/cmink/BrightScript.tmbundle
 | 
			
		||||
@@ -587,18 +530,12 @@
 | 
			
		||||
[submodule "vendor/grammars/asciidoc.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/asciidoc.tmbundle
 | 
			
		||||
	url = https://github.com/zuckschwerdt/asciidoc.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/sublime-text-pig-latin"]
 | 
			
		||||
	path = vendor/grammars/sublime-text-pig-latin
 | 
			
		||||
	url = https://github.com/goblindegook/sublime-text-pig-latin
 | 
			
		||||
[submodule "vendor/grammars/Lean.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/Lean.tmbundle
 | 
			
		||||
	url = https://github.com/leanprover/Lean.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/ampl"]
 | 
			
		||||
	path = vendor/grammars/ampl
 | 
			
		||||
	url = https://github.com/ampl/sublime-ampl
 | 
			
		||||
[submodule "vendor/grammars/openscad.tmbundle"]
 | 
			
		||||
	path = vendor/grammars/openscad.tmbundle
 | 
			
		||||
	url = https://github.com/tbuser/openscad.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/sublime-varnish"]
 | 
			
		||||
	path = vendor/grammars/sublime-varnish
 | 
			
		||||
	url = https://github.com/brandonwamboldt/sublime-varnish
 | 
			
		||||
@@ -650,6 +587,9 @@
 | 
			
		||||
[submodule "vendor/grammars/language-ncl"]
 | 
			
		||||
	path = vendor/grammars/language-ncl
 | 
			
		||||
	url = https://github.com/rpavlick/language-ncl.git
 | 
			
		||||
[submodule "vendor/grammars/pawn-sublime-language"]
 | 
			
		||||
	path = vendor/grammars/pawn-sublime-language
 | 
			
		||||
	url = https://github.com/Southclaw/pawn-sublime-language.git
 | 
			
		||||
[submodule "vendor/grammars/atom-language-purescript"]
 | 
			
		||||
	path = vendor/grammars/atom-language-purescript
 | 
			
		||||
	url = https://github.com/purescript-contrib/atom-language-purescript
 | 
			
		||||
@@ -716,3 +656,72 @@
 | 
			
		||||
[submodule "vendor/grammars/language-povray"]
 | 
			
		||||
	path = vendor/grammars/language-povray
 | 
			
		||||
	url = https://github.com/c-lipka/language-povray
 | 
			
		||||
[submodule "vendor/grammars/sublime-terra"]
 | 
			
		||||
	path = vendor/grammars/sublime-terra
 | 
			
		||||
	url = https://github.com/pyk/sublime-terra
 | 
			
		||||
[submodule "vendor/grammars/SublimePuppet"]
 | 
			
		||||
	path = vendor/grammars/SublimePuppet
 | 
			
		||||
	url = https://github.com/russCloak/SublimePuppet
 | 
			
		||||
[submodule "vendor/grammars/sublimeassembly"]
 | 
			
		||||
	path = vendor/grammars/sublimeassembly
 | 
			
		||||
	url = https://github.com/Nessphoro/sublimeassembly
 | 
			
		||||
[submodule "vendor/grammars/monkey"]
 | 
			
		||||
	path = vendor/grammars/monkey
 | 
			
		||||
	url = https://github.com/gingerbeardman/monkey.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/assembly"]
 | 
			
		||||
	path = vendor/grammars/assembly
 | 
			
		||||
	url = https://github.com/nanoant/assembly.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/boo"]
 | 
			
		||||
	path = vendor/grammars/boo
 | 
			
		||||
	url = https://github.com/Shammah/boo-sublime
 | 
			
		||||
[submodule "vendor/grammars/logos"]
 | 
			
		||||
	path = vendor/grammars/logos
 | 
			
		||||
	url = https://github.com/Cykey/Sublime-Logos
 | 
			
		||||
[submodule "vendor/grammars/pig-latin"]
 | 
			
		||||
	path = vendor/grammars/pig-latin
 | 
			
		||||
	url = https://github.com/goblindegook/sublime-text-pig-latin
 | 
			
		||||
[submodule "vendor/grammars/sourcepawn"]
 | 
			
		||||
	path = vendor/grammars/sourcepawn
 | 
			
		||||
	url = https://github.com/austinwagner/sublime-sourcepawn
 | 
			
		||||
[submodule "vendor/grammars/gdscript"]
 | 
			
		||||
	path = vendor/grammars/gdscript
 | 
			
		||||
	url = https://github.com/beefsack/GDScript-sublime
 | 
			
		||||
[submodule "vendor/grammars/nesC"]
 | 
			
		||||
	path = vendor/grammars/nesC
 | 
			
		||||
	url = https://github.com/cdwilson/nesC.tmbundle
 | 
			
		||||
[submodule "vendor/grammars/ats"]
 | 
			
		||||
	path = vendor/grammars/ats
 | 
			
		||||
	url = https://github.com/steinwaywhw/ats-mode-sublimetext
 | 
			
		||||
[submodule "vendor/grammars/grace"]
 | 
			
		||||
	path = vendor/grammars/grace
 | 
			
		||||
	url = https://github.com/zmthy/grace-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/ejs-tmbundle"]
 | 
			
		||||
	path = vendor/grammars/ejs-tmbundle
 | 
			
		||||
	url = https://github.com/gregory-m/ejs-tmbundle
 | 
			
		||||
[submodule "vendor/grammars/nix"]
 | 
			
		||||
	path = vendor/grammars/nix
 | 
			
		||||
	url = https://github.com/wmertens/sublime-nix
 | 
			
		||||
[submodule "vendor/grammars/idris"]
 | 
			
		||||
	path = vendor/grammars/idris
 | 
			
		||||
	url = https://github.com/idris-hackers/idris-sublime.git
 | 
			
		||||
[submodule "vendor/grammars/atomic-dreams"]
 | 
			
		||||
	path = vendor/grammars/atomic-dreams
 | 
			
		||||
	url = https://github.com/PJB3005/atomic-dreams
 | 
			
		||||
[submodule "vendor/grammars/language-apl"]
 | 
			
		||||
	path = vendor/grammars/language-apl
 | 
			
		||||
	url = https://github.com/Alhadis/language-apl.git
 | 
			
		||||
[submodule "vendor/grammars/language-graphql"]
 | 
			
		||||
	path = vendor/grammars/language-graphql
 | 
			
		||||
	url = https://github.com/rmosolgo/language-graphql
 | 
			
		||||
[submodule "vendor/grammars/language-toc-wow"]
 | 
			
		||||
	path = vendor/grammars/language-toc-wow
 | 
			
		||||
	url = https://github.com/nebularg/language-toc-wow
 | 
			
		||||
[submodule "vendor/grammars/sublime-autoit"]
 | 
			
		||||
	path = vendor/grammars/sublime-autoit
 | 
			
		||||
	url = https://github.com/AutoIt/SublimeAutoItScript
 | 
			
		||||
[submodule "vendor/grammars/TLA"]
 | 
			
		||||
	path = vendor/grammars/TLA
 | 
			
		||||
	url = https://github.com/agentultra/TLAGrammar
 | 
			
		||||
[submodule "vendor/grammars/sublime-clips"]
 | 
			
		||||
	path = vendor/grammars/sublime-clips
 | 
			
		||||
	url = https://github.com/psicomante/CLIPS-sublime
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,9 @@ addons:
 | 
			
		||||
    - libicu-dev
 | 
			
		||||
    - libicu48
 | 
			
		||||
before_install: script/travis/before_install
 | 
			
		||||
script:
 | 
			
		||||
  - bundle exec rake
 | 
			
		||||
  - script/licensed verify
 | 
			
		||||
rvm:
 | 
			
		||||
  - 2.0.0
 | 
			
		||||
  - 2.1
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@ To add support for a new language:
 | 
			
		||||
0. Add a grammar for your language. Please only add grammars that have a license that permits redistribution.
 | 
			
		||||
  0. Add your grammar as a submodule: `git submodule add https://github.com/JaneSmith/MyGrammar vendor/grammars/MyGrammar`.
 | 
			
		||||
  0. Add your grammar to [`grammars.yml`][grammars] by running `script/convert-grammars --add vendor/grammars/MyGrammar`.
 | 
			
		||||
  0. Download the license for the grammar: `script/licensed`. Be careful to only commit the file for the new grammar, as this script may update licenses for other grammars as well.
 | 
			
		||||
0. Add samples for your language to the [samples directory][samples] in the correct subdirectory.
 | 
			
		||||
0. Open a pull request, linking to a [GitHub search result](https://github.com/search?utf8=%E2%9C%93&q=extension%3Aboot+NOT+nothack&type=Code&ref=searchresults) showing in-the-wild usage.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,6 @@ Gem::Specification.new do |s|
 | 
			
		||||
  s.add_development_dependency 'rake'
 | 
			
		||||
  s.add_development_dependency 'yajl-ruby'
 | 
			
		||||
  s.add_development_dependency 'color-proximity', '~> 0.2.1'
 | 
			
		||||
  s.add_development_dependency 'licensee', '6.0.0b1'
 | 
			
		||||
  s.add_development_dependency 'licensed'
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										83
									
								
								grammars.yml
									
									
									
									
									
								
							
							
						
						
									
										83
									
								
								grammars.yml
									
									
									
									
									
								
							@@ -29,15 +29,11 @@ vendor/grammars/AutoHotkey/:
 | 
			
		||||
vendor/grammars/BrightScript.tmbundle/:
 | 
			
		||||
- source.brightauthorproject
 | 
			
		||||
- source.brightscript
 | 
			
		||||
vendor/grammars/CLIPS-sublime:
 | 
			
		||||
- source.clips
 | 
			
		||||
vendor/grammars/ColdFusion:
 | 
			
		||||
- source.cfscript
 | 
			
		||||
- source.cfscript.cfc
 | 
			
		||||
- text.cfml.basic
 | 
			
		||||
- text.html.cfm
 | 
			
		||||
vendor/grammars/Creole:
 | 
			
		||||
- text.html.creole
 | 
			
		||||
vendor/grammars/Docker.tmbundle:
 | 
			
		||||
- source.dockerfile
 | 
			
		||||
vendor/grammars/Elm.tmLanguage:
 | 
			
		||||
@@ -50,14 +46,10 @@ vendor/grammars/G-Code/:
 | 
			
		||||
- source.MOD
 | 
			
		||||
- source.apt
 | 
			
		||||
- source.gcode
 | 
			
		||||
vendor/grammars/GDScript-sublime/:
 | 
			
		||||
- source.gdscript
 | 
			
		||||
vendor/grammars/Handlebars:
 | 
			
		||||
- text.html.handlebars
 | 
			
		||||
vendor/grammars/IDL-Syntax:
 | 
			
		||||
- source.webidl
 | 
			
		||||
vendor/grammars/InnoSetup/:
 | 
			
		||||
- source.inno
 | 
			
		||||
vendor/grammars/Isabelle.tmbundle:
 | 
			
		||||
- source.isabelle.root
 | 
			
		||||
- source.isabelle.theory
 | 
			
		||||
@@ -108,8 +100,6 @@ vendor/grammars/Sublime-HTTP:
 | 
			
		||||
- source.httpspec
 | 
			
		||||
vendor/grammars/Sublime-Lasso:
 | 
			
		||||
- file.lasso
 | 
			
		||||
vendor/grammars/Sublime-Logos:
 | 
			
		||||
- source.logos
 | 
			
		||||
vendor/grammars/Sublime-Loom:
 | 
			
		||||
- source.loomscript
 | 
			
		||||
vendor/grammars/Sublime-Modula-2/:
 | 
			
		||||
@@ -134,11 +124,13 @@ vendor/grammars/SublimeBrainfuck:
 | 
			
		||||
vendor/grammars/SublimeClarion/:
 | 
			
		||||
- source.clarion
 | 
			
		||||
vendor/grammars/SublimePapyrus/:
 | 
			
		||||
- source.compiled-papyrus
 | 
			
		||||
- source.papyrus
 | 
			
		||||
- source.papyrus-assembly
 | 
			
		||||
- source.papyrus.skyrim
 | 
			
		||||
vendor/grammars/SublimePuppet/:
 | 
			
		||||
- source.puppet
 | 
			
		||||
vendor/grammars/SublimeXtend:
 | 
			
		||||
- source.xtend
 | 
			
		||||
vendor/grammars/TLA:
 | 
			
		||||
- source.tla
 | 
			
		||||
vendor/grammars/TXL/:
 | 
			
		||||
- source.txl
 | 
			
		||||
vendor/grammars/Textmate-Gosu-Bundle:
 | 
			
		||||
@@ -178,7 +170,7 @@ vendor/grammars/asciidoc.tmbundle/:
 | 
			
		||||
vendor/grammars/asp.tmbundle:
 | 
			
		||||
- source.asp
 | 
			
		||||
- text.html.asp
 | 
			
		||||
vendor/grammars/assembly.tmbundle:
 | 
			
		||||
vendor/grammars/assembly/:
 | 
			
		||||
- objdump.x86asm
 | 
			
		||||
- source.x86asm
 | 
			
		||||
vendor/grammars/atom-fsharp/:
 | 
			
		||||
@@ -193,15 +185,16 @@ vendor/grammars/atom-language-stan/:
 | 
			
		||||
vendor/grammars/atom-salt:
 | 
			
		||||
- source.python.salt
 | 
			
		||||
- source.yaml.salt
 | 
			
		||||
vendor/grammars/ats.sublime:
 | 
			
		||||
vendor/grammars/atomic-dreams/:
 | 
			
		||||
- source.dm
 | 
			
		||||
- source.dmf
 | 
			
		||||
vendor/grammars/ats:
 | 
			
		||||
- source.ats
 | 
			
		||||
vendor/grammars/autoitv3-tmbundle:
 | 
			
		||||
- source.autoit.3
 | 
			
		||||
vendor/grammars/awk-sublime:
 | 
			
		||||
- source.awk
 | 
			
		||||
vendor/grammars/bison.tmbundle:
 | 
			
		||||
- source.bison
 | 
			
		||||
vendor/grammars/boo-sublime:
 | 
			
		||||
vendor/grammars/boo/:
 | 
			
		||||
- source.boo
 | 
			
		||||
vendor/grammars/bro-sublime:
 | 
			
		||||
- source.bro
 | 
			
		||||
@@ -252,6 +245,8 @@ vendor/grammars/ec.tmbundle/:
 | 
			
		||||
- source.c.ec
 | 
			
		||||
vendor/grammars/eiffel.tmbundle:
 | 
			
		||||
- source.eiffel
 | 
			
		||||
vendor/grammars/ejs-tmbundle:
 | 
			
		||||
- text.html.js
 | 
			
		||||
vendor/grammars/elixir-tmbundle:
 | 
			
		||||
- source.elixir
 | 
			
		||||
- text.elixir
 | 
			
		||||
@@ -271,13 +266,15 @@ vendor/grammars/fortran.tmbundle:
 | 
			
		||||
- source.fortran.modern
 | 
			
		||||
vendor/grammars/gap-tmbundle/:
 | 
			
		||||
- source.gap
 | 
			
		||||
vendor/grammars/gdscript/:
 | 
			
		||||
- source.gdscript
 | 
			
		||||
vendor/grammars/gettext.tmbundle:
 | 
			
		||||
- source.po
 | 
			
		||||
vendor/grammars/gnuplot-tmbundle:
 | 
			
		||||
- source.gnuplot
 | 
			
		||||
vendor/grammars/go-tmbundle:
 | 
			
		||||
- source.go
 | 
			
		||||
vendor/grammars/grace-tmbundle/:
 | 
			
		||||
vendor/grammars/grace:
 | 
			
		||||
- source.grace
 | 
			
		||||
vendor/grammars/gradle.tmbundle:
 | 
			
		||||
- source.groovy.gradle
 | 
			
		||||
@@ -300,6 +297,8 @@ vendor/grammars/idl.tmbundle:
 | 
			
		||||
- source.idl
 | 
			
		||||
- source.idl-dlm
 | 
			
		||||
- text.idl-idldoc
 | 
			
		||||
vendor/grammars/idris/:
 | 
			
		||||
- source.idris
 | 
			
		||||
vendor/grammars/ini.tmbundle:
 | 
			
		||||
- source.ini
 | 
			
		||||
vendor/grammars/io.tmbundle:
 | 
			
		||||
@@ -324,6 +323,8 @@ vendor/grammars/json.tmbundle:
 | 
			
		||||
- source.json
 | 
			
		||||
vendor/grammars/kotlin-sublime-package:
 | 
			
		||||
- source.Kotlin
 | 
			
		||||
vendor/grammars/language-apl:
 | 
			
		||||
- source.apl
 | 
			
		||||
vendor/grammars/language-babel/:
 | 
			
		||||
- source.js.jsx
 | 
			
		||||
- source.regexp.babel
 | 
			
		||||
@@ -343,6 +344,8 @@ vendor/grammars/language-csharp:
 | 
			
		||||
- source.nant-build
 | 
			
		||||
vendor/grammars/language-gfm:
 | 
			
		||||
- source.gfm
 | 
			
		||||
vendor/grammars/language-graphql:
 | 
			
		||||
- source.graphql
 | 
			
		||||
vendor/grammars/language-hy:
 | 
			
		||||
- source.hy
 | 
			
		||||
vendor/grammars/language-inform7:
 | 
			
		||||
@@ -372,6 +375,8 @@ vendor/grammars/language-shellscript:
 | 
			
		||||
- text.shell-session
 | 
			
		||||
vendor/grammars/language-supercollider:
 | 
			
		||||
- source.supercollider
 | 
			
		||||
vendor/grammars/language-toc-wow:
 | 
			
		||||
- source.toc
 | 
			
		||||
vendor/grammars/language-xbase:
 | 
			
		||||
- source.harbour
 | 
			
		||||
vendor/grammars/language-yaml:
 | 
			
		||||
@@ -393,6 +398,8 @@ vendor/grammars/lisp.tmbundle:
 | 
			
		||||
- source.lisp
 | 
			
		||||
vendor/grammars/llvm.tmbundle:
 | 
			
		||||
- source.llvm
 | 
			
		||||
vendor/grammars/logos:
 | 
			
		||||
- source.logos
 | 
			
		||||
vendor/grammars/logtalk.tmbundle:
 | 
			
		||||
- source.logtalk
 | 
			
		||||
vendor/grammars/lua.tmbundle:
 | 
			
		||||
@@ -412,16 +419,18 @@ vendor/grammars/mediawiki.tmbundle/:
 | 
			
		||||
- text.html.mediawiki
 | 
			
		||||
vendor/grammars/mercury-tmlanguage:
 | 
			
		||||
- source.mercury
 | 
			
		||||
vendor/grammars/monkey.tmbundle:
 | 
			
		||||
vendor/grammars/monkey/:
 | 
			
		||||
- source.monkey
 | 
			
		||||
vendor/grammars/moonscript-tmbundle:
 | 
			
		||||
- source.moonscript
 | 
			
		||||
vendor/grammars/nemerle.tmbundle:
 | 
			
		||||
- source.nemerle
 | 
			
		||||
vendor/grammars/nesC.tmbundle:
 | 
			
		||||
vendor/grammars/nesC:
 | 
			
		||||
- source.nesc
 | 
			
		||||
vendor/grammars/ninja.tmbundle:
 | 
			
		||||
- source.ninja
 | 
			
		||||
vendor/grammars/nix:
 | 
			
		||||
- source.nix
 | 
			
		||||
vendor/grammars/objective-c.tmbundle:
 | 
			
		||||
- source.objc
 | 
			
		||||
- source.objc++
 | 
			
		||||
@@ -436,14 +445,12 @@ vendor/grammars/ooc.tmbundle:
 | 
			
		||||
- source.ooc
 | 
			
		||||
vendor/grammars/opa.tmbundle:
 | 
			
		||||
- source.opa
 | 
			
		||||
vendor/grammars/openscad.tmbundle/:
 | 
			
		||||
- source.scad
 | 
			
		||||
vendor/grammars/oracle.tmbundle:
 | 
			
		||||
- source.plsql.oracle
 | 
			
		||||
vendor/grammars/oz-tmbundle/Syntaxes/Oz.tmLanguage:
 | 
			
		||||
- source.oz
 | 
			
		||||
vendor/grammars/pascal.tmbundle:
 | 
			
		||||
- source.pascal
 | 
			
		||||
vendor/grammars/pawn-sublime-language/:
 | 
			
		||||
- source.pawn
 | 
			
		||||
vendor/grammars/perl.tmbundle/:
 | 
			
		||||
- source.perl
 | 
			
		||||
- source.perl.6
 | 
			
		||||
@@ -455,6 +462,8 @@ vendor/grammars/php-smarty.tmbundle:
 | 
			
		||||
- text.html.smarty
 | 
			
		||||
vendor/grammars/php.tmbundle:
 | 
			
		||||
- text.html.php
 | 
			
		||||
vendor/grammars/pig-latin/:
 | 
			
		||||
- source.pig_latin
 | 
			
		||||
vendor/grammars/pike-textmate:
 | 
			
		||||
- source.pike
 | 
			
		||||
vendor/grammars/postscript.tmbundle:
 | 
			
		||||
@@ -465,8 +474,6 @@ vendor/grammars/processing.tmbundle:
 | 
			
		||||
- source.processing
 | 
			
		||||
vendor/grammars/protobuf-tmbundle:
 | 
			
		||||
- source.protobuf
 | 
			
		||||
vendor/grammars/puppet-textmate-bundle:
 | 
			
		||||
- source.puppet
 | 
			
		||||
vendor/grammars/python-django.tmbundle:
 | 
			
		||||
- source.python.django
 | 
			
		||||
- text.html.django
 | 
			
		||||
@@ -498,6 +505,8 @@ vendor/grammars/smali-sublime/smali.tmLanguage:
 | 
			
		||||
- source.smali
 | 
			
		||||
vendor/grammars/smalltalk-tmbundle:
 | 
			
		||||
- source.smalltalk
 | 
			
		||||
vendor/grammars/sourcepawn/:
 | 
			
		||||
- source.sp
 | 
			
		||||
vendor/grammars/sql.tmbundle:
 | 
			
		||||
- source.sql
 | 
			
		||||
vendor/grammars/st2-zonefile:
 | 
			
		||||
@@ -507,23 +516,23 @@ vendor/grammars/standard-ml.tmbundle:
 | 
			
		||||
- source.ml
 | 
			
		||||
vendor/grammars/sublime-MuPAD:
 | 
			
		||||
- source.mupad
 | 
			
		||||
vendor/grammars/sublime-apl/:
 | 
			
		||||
- source.apl
 | 
			
		||||
vendor/grammars/sublime-aspectj/:
 | 
			
		||||
- source.aspectj
 | 
			
		||||
vendor/grammars/sublime-autoit/:
 | 
			
		||||
- source.autoit
 | 
			
		||||
vendor/grammars/sublime-befunge:
 | 
			
		||||
- source.befunge
 | 
			
		||||
vendor/grammars/sublime-bsv:
 | 
			
		||||
- source.bsv
 | 
			
		||||
vendor/grammars/sublime-cirru:
 | 
			
		||||
- source.cirru
 | 
			
		||||
vendor/grammars/sublime-clips/:
 | 
			
		||||
- source.clips
 | 
			
		||||
vendor/grammars/sublime-glsl:
 | 
			
		||||
- source.essl
 | 
			
		||||
- source.glsl
 | 
			
		||||
vendor/grammars/sublime-golo/:
 | 
			
		||||
- source.golo
 | 
			
		||||
vendor/grammars/sublime-idris:
 | 
			
		||||
- source.idris
 | 
			
		||||
vendor/grammars/sublime-mask:
 | 
			
		||||
- source.mask
 | 
			
		||||
vendor/grammars/sublime-netlinx:
 | 
			
		||||
@@ -531,8 +540,6 @@ vendor/grammars/sublime-netlinx:
 | 
			
		||||
- source.netlinx.erb
 | 
			
		||||
vendor/grammars/sublime-nginx:
 | 
			
		||||
- source.nginx
 | 
			
		||||
vendor/grammars/sublime-nix:
 | 
			
		||||
- source.nix
 | 
			
		||||
vendor/grammars/sublime-opal/:
 | 
			
		||||
- source.opal
 | 
			
		||||
- source.opalsysdefs
 | 
			
		||||
@@ -542,17 +549,15 @@ vendor/grammars/sublime-robot-plugin:
 | 
			
		||||
- text.robot
 | 
			
		||||
vendor/grammars/sublime-rust:
 | 
			
		||||
- source.rust
 | 
			
		||||
vendor/grammars/sublime-sourcepawn:
 | 
			
		||||
- source.sp
 | 
			
		||||
vendor/grammars/sublime-spintools/:
 | 
			
		||||
- source.regexp.spin
 | 
			
		||||
- source.spin
 | 
			
		||||
vendor/grammars/sublime-tea:
 | 
			
		||||
- source.tea
 | 
			
		||||
vendor/grammars/sublime-terra:
 | 
			
		||||
- source.terra
 | 
			
		||||
vendor/grammars/sublime-text-ox/:
 | 
			
		||||
- source.ox
 | 
			
		||||
vendor/grammars/sublime-text-pig-latin/:
 | 
			
		||||
- source.pig_latin
 | 
			
		||||
vendor/grammars/sublime-typescript/:
 | 
			
		||||
- source.ts
 | 
			
		||||
- source.tsx
 | 
			
		||||
@@ -566,6 +571,8 @@ vendor/grammars/sublime_cobol:
 | 
			
		||||
vendor/grammars/sublime_man_page_support:
 | 
			
		||||
- source.man
 | 
			
		||||
- text.groff
 | 
			
		||||
vendor/grammars/sublimeassembly/:
 | 
			
		||||
- source.assembly
 | 
			
		||||
vendor/grammars/sublimeprolog/:
 | 
			
		||||
- source.prolog
 | 
			
		||||
- source.prolog.eclipse
 | 
			
		||||
@@ -587,8 +594,6 @@ vendor/grammars/verilog.tmbundle:
 | 
			
		||||
- source.verilog
 | 
			
		||||
vendor/grammars/vue-syntax-highlight:
 | 
			
		||||
- text.html.vue
 | 
			
		||||
vendor/grammars/x86-assembly-textmate-bundle:
 | 
			
		||||
- source.asm.x86
 | 
			
		||||
vendor/grammars/xc.tmbundle/:
 | 
			
		||||
- source.xc
 | 
			
		||||
vendor/grammars/xml.tmbundle:
 | 
			
		||||
 
 | 
			
		||||
@@ -63,7 +63,7 @@ module Linguist
 | 
			
		||||
    #
 | 
			
		||||
    # Returns an Array
 | 
			
		||||
    def extensions
 | 
			
		||||
      basename, *segments = name.downcase.split(".")
 | 
			
		||||
      _, *segments = name.downcase.split(".")
 | 
			
		||||
 | 
			
		||||
      segments.map.with_index do |segment, index|
 | 
			
		||||
        "." + segments[index..-1].join(".")
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,7 @@ module Linguist
 | 
			
		||||
      godeps? ||
 | 
			
		||||
      generated_by_zephir? ||
 | 
			
		||||
      minified_files? ||
 | 
			
		||||
      has_source_map? ||
 | 
			
		||||
      source_map? ||
 | 
			
		||||
      compiled_coffeescript? ||
 | 
			
		||||
      generated_parser? ||
 | 
			
		||||
@@ -104,6 +105,21 @@ module Linguist
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Internal: Does the blob contain a source map reference?
 | 
			
		||||
    #
 | 
			
		||||
    # We assume that if one of the last 2 lines starts with a source map
 | 
			
		||||
    # reference, then the current file was generated from other files.
 | 
			
		||||
    # 
 | 
			
		||||
    # We use the last 2 lines because the last line might be empty.
 | 
			
		||||
    # 
 | 
			
		||||
    # We only handle JavaScript, no CSS support yet.
 | 
			
		||||
    # 
 | 
			
		||||
    # Returns true or false.
 | 
			
		||||
    def has_source_map?
 | 
			
		||||
      return false unless extname.downcase == '.js'
 | 
			
		||||
      lines.last(2).any? { |line| line.start_with?('//# sourceMappingURL') }
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    # Internal: Is the blob a generated source map?
 | 
			
		||||
    #
 | 
			
		||||
    # Source Maps usually have .css.map or .js.map extensions. In case they
 | 
			
		||||
 
 | 
			
		||||
@@ -86,6 +86,14 @@ module Linguist
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".builds" do |data|
 | 
			
		||||
      if /^(\s*)(<Project|<Import|<Property|<?xml|xmlns)/i.match(data)
 | 
			
		||||
        Language["XML"]
 | 
			
		||||
      else
 | 
			
		||||
        Language["Text"]
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".ch" do |data|
 | 
			
		||||
      if /^\s*#\s*(if|ifdef|ifndef|define|command|xcommand|translate|xtranslate|include|pragma|undef)\b/i.match(data)
 | 
			
		||||
        Language["xBase"]
 | 
			
		||||
@@ -128,6 +136,14 @@ module Linguist
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    
 | 
			
		||||
    disambiguate ".es" do |data|
 | 
			
		||||
      if /^\s*(?:%%|main\s*\(.*?\)\s*->)/.match(data)
 | 
			
		||||
        Language["Erlang"]
 | 
			
		||||
      elsif /(?:\/\/|("|')use strict\1|export\s+default\s|\/\*.*?\*\/)/m.match(data)
 | 
			
		||||
        Language["JavaScript"]
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".for", ".f" do |data|
 | 
			
		||||
      if /^: /.match(data)
 | 
			
		||||
        Language["Forth"]
 | 
			
		||||
@@ -171,6 +187,12 @@ module Linguist
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".inc" do |data|
 | 
			
		||||
      if /^<\?(?:php)?/.match(data)
 | 
			
		||||
        Language["PHP"]
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".l" do |data|
 | 
			
		||||
      if /\(def(un|macro)\s/.match(data)
 | 
			
		||||
        Language["Common Lisp"]
 | 
			
		||||
@@ -330,7 +352,7 @@ module Linguist
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".rpy" do |data|
 | 
			
		||||
      if /(^(import|from|class|def)[\s\S])/m.match(data)
 | 
			
		||||
      if /(^(import|from|class|def)\s)/m.match(data)
 | 
			
		||||
        Language["Python"]
 | 
			
		||||
      else
 | 
			
		||||
        Language["Ren'Py"]
 | 
			
		||||
@@ -369,6 +391,14 @@ module Linguist
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    
 | 
			
		||||
    disambiguate ".toc" do |data|
 | 
			
		||||
      if /^## |@no-lib-strip@/.match(data)
 | 
			
		||||
        Language["World of Warcraft Addon Data"]
 | 
			
		||||
      elsif /^\\(contentsline|defcounter|beamer|boolfalse)/.match(data)
 | 
			
		||||
        Language["TeX"]
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    disambiguate ".ts" do |data|
 | 
			
		||||
      if data.include?("<TS ")
 | 
			
		||||
        Language["XML"]
 | 
			
		||||
 
 | 
			
		||||
@@ -147,6 +147,17 @@ Alloy:
 | 
			
		||||
  - .als
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Alpine Abuild:
 | 
			
		||||
  type: programming
 | 
			
		||||
  group: Shell
 | 
			
		||||
  aliases:
 | 
			
		||||
  - abuild
 | 
			
		||||
  - apkbuild
 | 
			
		||||
  filenames:
 | 
			
		||||
  - APKBUILD
 | 
			
		||||
  tm_scope: source.shell
 | 
			
		||||
  ace_mode: sh
 | 
			
		||||
 | 
			
		||||
Ant Build System:
 | 
			
		||||
  type: data
 | 
			
		||||
  tm_scope: text.xml.ant
 | 
			
		||||
@@ -230,7 +241,7 @@ Assembly:
 | 
			
		||||
  - .a51
 | 
			
		||||
  - .inc
 | 
			
		||||
  - .nasm
 | 
			
		||||
  tm_scope: source.asm.x86
 | 
			
		||||
  tm_scope: source.assembly
 | 
			
		||||
  ace_mode: assembly_x86
 | 
			
		||||
 | 
			
		||||
Augeas:
 | 
			
		||||
@@ -260,7 +271,7 @@ AutoIt:
 | 
			
		||||
  - AutoItScript
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .au3
 | 
			
		||||
  tm_scope: source.autoit.3
 | 
			
		||||
  tm_scope: source.autoit
 | 
			
		||||
  ace_mode: autohotkey
 | 
			
		||||
 | 
			
		||||
Awk:
 | 
			
		||||
@@ -350,6 +361,7 @@ Boo:
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .boo
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.boo
 | 
			
		||||
 | 
			
		||||
Brainfuck:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -690,7 +702,7 @@ Creole:
 | 
			
		||||
  wrap: true
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .creole
 | 
			
		||||
  tm_scope: text.html.creole
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Crystal:
 | 
			
		||||
@@ -771,7 +783,7 @@ DM:
 | 
			
		||||
  - .dm
 | 
			
		||||
  aliases:
 | 
			
		||||
  - byond
 | 
			
		||||
  tm_scope: source.c++
 | 
			
		||||
  tm_scope: source.dm
 | 
			
		||||
  ace_mode: c_cpp
 | 
			
		||||
 | 
			
		||||
DNS Zone:
 | 
			
		||||
@@ -873,6 +885,15 @@ ECLiPSe:
 | 
			
		||||
  tm_scope: source.prolog.eclipse
 | 
			
		||||
  ace_mode: prolog
 | 
			
		||||
 | 
			
		||||
EJS:
 | 
			
		||||
  type: markup
 | 
			
		||||
  color: "#a91e50"
 | 
			
		||||
  group: HTML
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .ejs
 | 
			
		||||
  tm_scope: text.html.js
 | 
			
		||||
  ace_mode: ejs
 | 
			
		||||
 | 
			
		||||
Eagle:
 | 
			
		||||
  type: markup
 | 
			
		||||
  color: "#814C05"
 | 
			
		||||
@@ -947,6 +968,7 @@ Erlang:
 | 
			
		||||
  color: "#B83998"
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .erl
 | 
			
		||||
  - .app.src
 | 
			
		||||
  - .es
 | 
			
		||||
  - .escript
 | 
			
		||||
  - .hrl
 | 
			
		||||
@@ -1106,7 +1128,7 @@ GAS:
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .s
 | 
			
		||||
  - .ms
 | 
			
		||||
  tm_scope: source.asm.x86
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  ace_mode: assembly_x86
 | 
			
		||||
 | 
			
		||||
GDScript:
 | 
			
		||||
@@ -1124,6 +1146,7 @@ GLSL:
 | 
			
		||||
  - .frag
 | 
			
		||||
  - .frg
 | 
			
		||||
  - .fs
 | 
			
		||||
  - .fsh
 | 
			
		||||
  - .fshader
 | 
			
		||||
  - .geo
 | 
			
		||||
  - .geom
 | 
			
		||||
@@ -1132,6 +1155,7 @@ GLSL:
 | 
			
		||||
  - .shader
 | 
			
		||||
  - .vert
 | 
			
		||||
  - .vrx
 | 
			
		||||
  - .vsh
 | 
			
		||||
  - .vshader
 | 
			
		||||
  ace_mode: glsl
 | 
			
		||||
 | 
			
		||||
@@ -1261,6 +1285,14 @@ Graph Modeling Language:
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
GraphQL:
 | 
			
		||||
  type: data
 | 
			
		||||
  extensions:
 | 
			
		||||
    - .graphql
 | 
			
		||||
  color: "#E535AB"
 | 
			
		||||
  tm_scope: source.graphql
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Graphviz (DOT):
 | 
			
		||||
  type: data
 | 
			
		||||
  tm_scope: source.dot
 | 
			
		||||
@@ -1531,6 +1563,7 @@ Idris:
 | 
			
		||||
  - .idr
 | 
			
		||||
  - .lidr
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.idris
 | 
			
		||||
 | 
			
		||||
Inform 7:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -1548,7 +1581,7 @@ Inno Setup:
 | 
			
		||||
  type: programming
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .iss
 | 
			
		||||
  tm_scope: source.inno
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Io:
 | 
			
		||||
@@ -1610,11 +1643,14 @@ JSON:
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .json
 | 
			
		||||
  - .geojson
 | 
			
		||||
  - .JSON-tmLanguage
 | 
			
		||||
  - .lock
 | 
			
		||||
  - .topojson
 | 
			
		||||
  filenames:
 | 
			
		||||
  - .arcconfig
 | 
			
		||||
  - .jshintrc
 | 
			
		||||
  - composer.lock
 | 
			
		||||
  - mcmod.info
 | 
			
		||||
 | 
			
		||||
JSON5:
 | 
			
		||||
  type: data
 | 
			
		||||
@@ -1692,6 +1728,7 @@ JavaScript:
 | 
			
		||||
  - .js
 | 
			
		||||
  - ._js
 | 
			
		||||
  - .bones
 | 
			
		||||
  - .es
 | 
			
		||||
  - .es6
 | 
			
		||||
  - .frag
 | 
			
		||||
  - .gs
 | 
			
		||||
@@ -1961,6 +1998,7 @@ Logos:
 | 
			
		||||
  - .x
 | 
			
		||||
  - .xi
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.logos
 | 
			
		||||
 | 
			
		||||
Logtalk:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -2064,14 +2102,18 @@ Makefile:
 | 
			
		||||
  - .mak
 | 
			
		||||
  - .d
 | 
			
		||||
  - .mk
 | 
			
		||||
  - .mkfile
 | 
			
		||||
  filenames:
 | 
			
		||||
  - BSDmakefile
 | 
			
		||||
  - GNUmakefile
 | 
			
		||||
  - Kbuild
 | 
			
		||||
  - Makefile
 | 
			
		||||
  - Makefile.am
 | 
			
		||||
  - Makefile.frag
 | 
			
		||||
  - Makefile.in
 | 
			
		||||
  - Makefile.inc
 | 
			
		||||
  - makefile
 | 
			
		||||
  - mkfile
 | 
			
		||||
  interpreters:
 | 
			
		||||
  - make
 | 
			
		||||
  ace_mode: makefile
 | 
			
		||||
@@ -2234,6 +2276,7 @@ Monkey:
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .monkey
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.monkey
 | 
			
		||||
 | 
			
		||||
Moocode:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -2502,11 +2545,21 @@ OpenEdge ABL:
 | 
			
		||||
  tm_scope: source.abl
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
OpenRC runscript:
 | 
			
		||||
  type: programming
 | 
			
		||||
  group: Shell
 | 
			
		||||
  aliases:
 | 
			
		||||
  - openrc
 | 
			
		||||
  interpreters:
 | 
			
		||||
  - openrc-run
 | 
			
		||||
  tm_scope: source.shell
 | 
			
		||||
  ace_mode: sh
 | 
			
		||||
 | 
			
		||||
OpenSCAD:
 | 
			
		||||
  type: programming
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .scad
 | 
			
		||||
  tm_scope: source.scad
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  ace_mode: scad
 | 
			
		||||
 | 
			
		||||
Org:
 | 
			
		||||
@@ -2547,8 +2600,9 @@ PAWN:
 | 
			
		||||
  color: "#dbb284"
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .pwn
 | 
			
		||||
  tm_scope: source.c++
 | 
			
		||||
  ace_mode: c_cpp
 | 
			
		||||
  - .inc
 | 
			
		||||
  tm_scope: source.pawn
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
PHP:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -2577,7 +2631,7 @@ PHP:
 | 
			
		||||
PLSQL:
 | 
			
		||||
  type: programming
 | 
			
		||||
  ace_mode: sql
 | 
			
		||||
  tm_scope: source.plsql.oracle
 | 
			
		||||
  tm_scope: none
 | 
			
		||||
  color: "#dad8d8"
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .pls
 | 
			
		||||
@@ -2619,7 +2673,7 @@ Papyrus:
 | 
			
		||||
  color: "#6600cc"
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .psc
 | 
			
		||||
  tm_scope: source.papyrus
 | 
			
		||||
  tm_scope: source.papyrus.skyrim
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Parrot:
 | 
			
		||||
@@ -2841,6 +2895,7 @@ Puppet:
 | 
			
		||||
  filenames:
 | 
			
		||||
  - Modulefile
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.puppet
 | 
			
		||||
 | 
			
		||||
Pure Data:
 | 
			
		||||
  type: programming
 | 
			
		||||
@@ -3344,6 +3399,13 @@ Shell:
 | 
			
		||||
  - .tmux
 | 
			
		||||
  - .tool
 | 
			
		||||
  - .zsh
 | 
			
		||||
  filenames:
 | 
			
		||||
  - .bash_history
 | 
			
		||||
  - .bash_logout
 | 
			
		||||
  - .bash_profile
 | 
			
		||||
  - .bashrc
 | 
			
		||||
  - PKGBUILD
 | 
			
		||||
  - gradlew
 | 
			
		||||
  interpreters:
 | 
			
		||||
  - bash
 | 
			
		||||
  - rc
 | 
			
		||||
@@ -3499,6 +3561,13 @@ SystemVerilog:
 | 
			
		||||
  - .vh
 | 
			
		||||
  ace_mode: verilog
 | 
			
		||||
 | 
			
		||||
TLA:
 | 
			
		||||
  type: programming
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .tla
 | 
			
		||||
  tm_scope: source.tla
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
TOML:
 | 
			
		||||
  type: data
 | 
			
		||||
  extensions:
 | 
			
		||||
@@ -3565,6 +3634,15 @@ Tea:
 | 
			
		||||
  tm_scope: source.tea
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
Terra:
 | 
			
		||||
  type: programming
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .t
 | 
			
		||||
  color: "#00004c"
 | 
			
		||||
  ace_mode: lua
 | 
			
		||||
  interpreters:
 | 
			
		||||
  - lua
 | 
			
		||||
 | 
			
		||||
Text:
 | 
			
		||||
  type: prose
 | 
			
		||||
  wrap: true
 | 
			
		||||
@@ -3792,6 +3870,14 @@ WebIDL:
 | 
			
		||||
  tm_scope: source.webidl
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
World of Warcraft Addon Data:
 | 
			
		||||
  type: data
 | 
			
		||||
  color: "#e0b330"
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .toc
 | 
			
		||||
  tm_scope: source.toc
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
 | 
			
		||||
X10:
 | 
			
		||||
  type: programming
 | 
			
		||||
  aliases:
 | 
			
		||||
@@ -3821,6 +3907,7 @@ XML:
 | 
			
		||||
  - .xml
 | 
			
		||||
  - .ant
 | 
			
		||||
  - .axml
 | 
			
		||||
  - .builds
 | 
			
		||||
  - .ccxml
 | 
			
		||||
  - .clixml
 | 
			
		||||
  - .cproject
 | 
			
		||||
@@ -3831,6 +3918,7 @@ XML:
 | 
			
		||||
  - .ditamap
 | 
			
		||||
  - .ditaval
 | 
			
		||||
  - .dll.config
 | 
			
		||||
  - .dotsettings
 | 
			
		||||
  - .filters
 | 
			
		||||
  - .fsproj
 | 
			
		||||
  - .fxml
 | 
			
		||||
@@ -3851,6 +3939,7 @@ XML:
 | 
			
		||||
  - .nuspec
 | 
			
		||||
  - .odd
 | 
			
		||||
  - .osm
 | 
			
		||||
  - .pkgproj
 | 
			
		||||
  - .plist
 | 
			
		||||
  - .pluginspec
 | 
			
		||||
  - .props
 | 
			
		||||
@@ -3858,8 +3947,10 @@ XML:
 | 
			
		||||
  - .psc1
 | 
			
		||||
  - .pt
 | 
			
		||||
  - .rdf
 | 
			
		||||
  - .resx
 | 
			
		||||
  - .rss
 | 
			
		||||
  - .scxml
 | 
			
		||||
  - .sfproj
 | 
			
		||||
  - .srdf
 | 
			
		||||
  - .storyboard
 | 
			
		||||
  - .stTheme
 | 
			
		||||
@@ -3878,6 +3969,7 @@ XML:
 | 
			
		||||
  - .ux
 | 
			
		||||
  - .vbproj
 | 
			
		||||
  - .vcxproj
 | 
			
		||||
  - .vssettings
 | 
			
		||||
  - .vxml
 | 
			
		||||
  - .wsdl
 | 
			
		||||
  - .wsf
 | 
			
		||||
@@ -3899,6 +3991,8 @@ XML:
 | 
			
		||||
  filenames:
 | 
			
		||||
  - .classpath
 | 
			
		||||
  - .project
 | 
			
		||||
  - App.config
 | 
			
		||||
  - NuGet.config
 | 
			
		||||
  - Settings.StyleCop
 | 
			
		||||
  - Web.Debug.config
 | 
			
		||||
  - Web.Release.config
 | 
			
		||||
@@ -3982,6 +4076,8 @@ YAML:
 | 
			
		||||
  - .syntax
 | 
			
		||||
  - .yaml
 | 
			
		||||
  - .yaml-tmlanguage
 | 
			
		||||
  filenames:
 | 
			
		||||
  - .clang-format
 | 
			
		||||
  ace_mode: yaml
 | 
			
		||||
 | 
			
		||||
YANG:
 | 
			
		||||
@@ -4063,6 +4159,7 @@ nesC:
 | 
			
		||||
  extensions:
 | 
			
		||||
  - .nc
 | 
			
		||||
  ace_mode: text
 | 
			
		||||
  tm_scope: source.nesc
 | 
			
		||||
 | 
			
		||||
ooc:
 | 
			
		||||
  type: programming
 | 
			
		||||
 
 | 
			
		||||
@@ -28,6 +28,7 @@ module Linguist
 | 
			
		||||
      @oid = oid
 | 
			
		||||
      @path = path
 | 
			
		||||
      @mode = mode
 | 
			
		||||
      @data = nil
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def git_attributes
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,9 @@ module Linguist
 | 
			
		||||
      @repository = repo
 | 
			
		||||
      @commit_oid = commit_oid
 | 
			
		||||
 | 
			
		||||
      @old_commit_oid = nil
 | 
			
		||||
      @old_stats = nil
 | 
			
		||||
 | 
			
		||||
      raise TypeError, 'commit_oid must be a commit SHA1' unless commit_oid.is_a?(String)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,10 +42,10 @@ module Linguist
 | 
			
		||||
      return unless script
 | 
			
		||||
 | 
			
		||||
      # "python2.6" -> "python2"
 | 
			
		||||
      script.sub! /(\.\d+)$/, ''
 | 
			
		||||
      script.sub!(/(\.\d+)$/, '')
 | 
			
		||||
 | 
			
		||||
      # #! perl -> perl
 | 
			
		||||
      script.sub! /^#!\s*/, ''
 | 
			
		||||
      script.sub!(/^#!\s*/, '')
 | 
			
		||||
 | 
			
		||||
      # Check for multiline shebang hacks that call `exec`
 | 
			
		||||
      if script == 'sh' &&
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,10 @@ module Linguist
 | 
			
		||||
 | 
			
		||||
      MODELINES = [EMACS_MODELINE, VIM_MODELINE_1, VIM_MODELINE_2]
 | 
			
		||||
 | 
			
		||||
      # Scope of the search for modelines
 | 
			
		||||
      # Number of lines to check at the beginning and at the end of the file
 | 
			
		||||
      SEARCH_SCOPE = 5
 | 
			
		||||
 | 
			
		||||
      # Public: Detects language based on Vim and Emacs modelines
 | 
			
		||||
      #
 | 
			
		||||
      # blob               - An object that quacks like a blob.
 | 
			
		||||
@@ -26,7 +30,9 @@ module Linguist
 | 
			
		||||
      # Returns an Array with one Language if the blob has a Vim or Emacs modeline
 | 
			
		||||
      # that matches a Language name or alias. Returns an empty array if no match.
 | 
			
		||||
      def self.call(blob, _ = nil)
 | 
			
		||||
        Array(Language.find_by_alias(modeline(blob.data)))
 | 
			
		||||
        header = blob.lines.first(SEARCH_SCOPE).join("\n")
 | 
			
		||||
        footer = blob.lines.last(SEARCH_SCOPE).join("\n")
 | 
			
		||||
        Array(Language.find_by_alias(modeline(header + footer)))
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      # Public: Get the modeline from the first n-lines of the file
 | 
			
		||||
 
 | 
			
		||||
@@ -190,6 +190,7 @@
 | 
			
		||||
 | 
			
		||||
# django
 | 
			
		||||
- (^|/)admin_media/
 | 
			
		||||
- (^|/)env/
 | 
			
		||||
 | 
			
		||||
# Fabric
 | 
			
		||||
- ^fabfile\.py$
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
module Linguist
 | 
			
		||||
  VERSION = "4.8.0"
 | 
			
		||||
  VERSION = "4.8.5"
 | 
			
		||||
end
 | 
			
		||||
 
 | 
			
		||||
@@ -2,5 +2,6 @@
 | 
			
		||||
  "repository": "https://github.com/github/linguist",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "season": "~>5.0"
 | 
			
		||||
  }
 | 
			
		||||
  },
 | 
			
		||||
  "license": "MIT"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										70
									
								
								samples/Alpine Abuild/filenames/APKBUILD
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								samples/Alpine Abuild/filenames/APKBUILD
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
 | 
			
		||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
 | 
			
		||||
pkgname=abuild
 | 
			
		||||
pkgver=2.27.0
 | 
			
		||||
_ver=${pkgver%_git*}
 | 
			
		||||
pkgrel=0
 | 
			
		||||
pkgdesc="Script to build Alpine Packages"
 | 
			
		||||
url="http://git.alpinelinux.org/cgit/abuild/"
 | 
			
		||||
arch="all"
 | 
			
		||||
license="GPL2"
 | 
			
		||||
depends="fakeroot sudo pax-utils openssl apk-tools>=2.0.7-r1 libc-utils
 | 
			
		||||
	attr tar pkgconf patch"
 | 
			
		||||
if [ "$CBUILD" = "$CHOST" ]; then
 | 
			
		||||
	depends="$depends curl"
 | 
			
		||||
fi
 | 
			
		||||
makedepends_build="pkgconfig"
 | 
			
		||||
makedepends_host="openssl-dev"
 | 
			
		||||
makedepends="$makedepends_host $makedepends_build"
 | 
			
		||||
install="$pkgname.pre-install $pkgname.pre-upgrade"
 | 
			
		||||
subpackages="apkbuild-cpan:cpan apkbuild-gem-resolver:gems"
 | 
			
		||||
options="suid"
 | 
			
		||||
pkggroups="abuild"
 | 
			
		||||
source="http://dev.alpinelinux.org/archive/abuild/abuild-$_ver.tar.xz
 | 
			
		||||
	"
 | 
			
		||||
 | 
			
		||||
_builddir="$srcdir/$pkgname-$_ver"
 | 
			
		||||
prepare() {
 | 
			
		||||
	cd "$_builddir"
 | 
			
		||||
	for i in $source; do
 | 
			
		||||
		case $i in
 | 
			
		||||
		*.patch)
 | 
			
		||||
			msg "Applying $i"
 | 
			
		||||
			patch -p1 -i "$srcdir"/$i || return 1
 | 
			
		||||
			;;
 | 
			
		||||
		esac
 | 
			
		||||
	done
 | 
			
		||||
	sed -i -e "/^CHOST=/s/=.*/=$CHOST/" abuild.conf
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
build() {
 | 
			
		||||
	cd "$_builddir"
 | 
			
		||||
	make || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
package() {
 | 
			
		||||
	cd "$_builddir"
 | 
			
		||||
	make install DESTDIR="$pkgdir" || return 1
 | 
			
		||||
	install -m 644 abuild.conf "$pkgdir"/etc/abuild.conf || return 1
 | 
			
		||||
	install -d -m 775 -g abuild "$pkgdir"/var/cache/distfiles || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
cpan() {
 | 
			
		||||
	pkgdesc="Script to generate perl APKBUILD from CPAN"
 | 
			
		||||
	depends="perl perl-libwww perl-json"
 | 
			
		||||
	arch="noarch"
 | 
			
		||||
	mkdir -p "$subpkgdir"/usr/bin
 | 
			
		||||
	mv "$pkgdir"/usr/bin/apkbuild-cpan "$subpkgdir"/usr/bin/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
gems() {
 | 
			
		||||
	pkgdesc="APKBUILD dependency resolver for RubyGems"
 | 
			
		||||
	depends="ruby ruby-augeas"
 | 
			
		||||
	arch="noarch"
 | 
			
		||||
	mkdir -p "$subpkgdir"/usr/bin
 | 
			
		||||
	mv "$pkgdir"/usr/bin/apkbuild-gem-resolver "$subpkgdir"/usr/bin/
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
md5sums="c67e4c971c54b4d550e16db3ba331f96  abuild-2.27.0.tar.xz"
 | 
			
		||||
sha256sums="c8db017e3dd168edb20ceeb91971535cf66b8c95f29d3288f88ac755bffc60e5  abuild-2.27.0.tar.xz"
 | 
			
		||||
sha512sums="98e1da4e47f3ab68700b3bc992c83e103f770f3196e433788ee74145f57cd33e5239c87f0a7a15f7266840d5bad893fc8c0d4c826d663df53deaee2678c56984  abuild-2.27.0.tar.xz"
 | 
			
		||||
							
								
								
									
										397
									
								
								samples/C/main.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										397
									
								
								samples/C/main.c
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,397 @@
 | 
			
		||||
// Copyright 2014 the V8 project authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style license that can be
 | 
			
		||||
// found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
#include "src/runtime/runtime-utils.h"
 | 
			
		||||
 | 
			
		||||
#include "src/arguments.h"
 | 
			
		||||
#include "src/compiler.h"
 | 
			
		||||
#include "src/deoptimizer.h"
 | 
			
		||||
#include "src/frames-inl.h"
 | 
			
		||||
#include "src/full-codegen/full-codegen.h"
 | 
			
		||||
#include "src/isolate-inl.h"
 | 
			
		||||
#include "src/messages.h"
 | 
			
		||||
#include "src/v8threads.h"
 | 
			
		||||
#include "src/vm-state-inl.h"
 | 
			
		||||
 | 
			
		||||
namespace v8 {
 | 
			
		||||
namespace internal {
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_CompileLazy) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK_EQ(1, args.length());
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	if (FLAG_trace_lazy && !function->shared()->is_compiled()) {
 | 
			
		||||
		PrintF("[unoptimized: ");
 | 
			
		||||
		function->PrintName();
 | 
			
		||||
		PrintF("]\n");
 | 
			
		||||
	}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	StackLimitCheck check(isolate);
 | 
			
		||||
	if (check.JsHasOverflowed(1 * KB)) return isolate->StackOverflow();
 | 
			
		||||
	if (!Compiler::Compile(function, Compiler::KEEP_EXCEPTION)) {
 | 
			
		||||
		return isolate->heap()->exception();
 | 
			
		||||
	}
 | 
			
		||||
	DCHECK(function->is_compiled());
 | 
			
		||||
	return function->code();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_CompileBaseline) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK_EQ(1, args.length());
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
	StackLimitCheck check(isolate);
 | 
			
		||||
	if (check.JsHasOverflowed(1 * KB)) return isolate->StackOverflow();
 | 
			
		||||
	if (!Compiler::CompileBaseline(function)) {
 | 
			
		||||
		return isolate->heap()->exception();
 | 
			
		||||
	}
 | 
			
		||||
	DCHECK(function->is_compiled());
 | 
			
		||||
	return function->code();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_CompileOptimized_Concurrent) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK_EQ(1, args.length());
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
	StackLimitCheck check(isolate);
 | 
			
		||||
	if (check.JsHasOverflowed(1 * KB)) return isolate->StackOverflow();
 | 
			
		||||
	if (!Compiler::CompileOptimized(function, Compiler::CONCURRENT)) {
 | 
			
		||||
		return isolate->heap()->exception();
 | 
			
		||||
	}
 | 
			
		||||
	DCHECK(function->is_compiled());
 | 
			
		||||
	return function->code();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_CompileOptimized_NotConcurrent) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK_EQ(1, args.length());
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
	StackLimitCheck check(isolate);
 | 
			
		||||
	if (check.JsHasOverflowed(1 * KB)) return isolate->StackOverflow();
 | 
			
		||||
	if (!Compiler::CompileOptimized(function, Compiler::NOT_CONCURRENT)) {
 | 
			
		||||
		return isolate->heap()->exception();
 | 
			
		||||
	}
 | 
			
		||||
	DCHECK(function->is_compiled());
 | 
			
		||||
	return function->code();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_NotifyStubFailure) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK(args.length() == 0);
 | 
			
		||||
	Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate);
 | 
			
		||||
	DCHECK(AllowHeapAllocation::IsAllowed());
 | 
			
		||||
	delete deoptimizer;
 | 
			
		||||
	return isolate->heap()->undefined_value();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ActivationsFinder : public ThreadVisitor {
 | 
			
		||||
public:
 | 
			
		||||
	Code* code_;
 | 
			
		||||
	bool has_code_activations_;
 | 
			
		||||
 | 
			
		||||
	explicit ActivationsFinder(Code* code)
 | 
			
		||||
		: code_(code), has_code_activations_(false) {}
 | 
			
		||||
 | 
			
		||||
	void VisitThread(Isolate* isolate, ThreadLocalTop* top) {
 | 
			
		||||
		JavaScriptFrameIterator it(isolate, top);
 | 
			
		||||
		VisitFrames(&it);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void VisitFrames(JavaScriptFrameIterator* it) {
 | 
			
		||||
		for (; !it->done(); it->Advance()) {
 | 
			
		||||
			JavaScriptFrame* frame = it->frame();
 | 
			
		||||
			if (code_->contains(frame->pc())) has_code_activations_ = true;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_NotifyDeoptimized) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK(args.length() == 1);
 | 
			
		||||
	CONVERT_SMI_ARG_CHECKED(type_arg, 0);
 | 
			
		||||
	Deoptimizer::BailoutType type =
 | 
			
		||||
		static_cast<Deoptimizer::BailoutType>(type_arg);
 | 
			
		||||
	Deoptimizer* deoptimizer = Deoptimizer::Grab(isolate);
 | 
			
		||||
	DCHECK(AllowHeapAllocation::IsAllowed());
 | 
			
		||||
	TimerEventScope<TimerEventDeoptimizeCode> timer(isolate);
 | 
			
		||||
	TRACE_EVENT0("v8", "V8.DeoptimizeCode");
 | 
			
		||||
 | 
			
		||||
	Handle<JSFunction> function = deoptimizer->function();
 | 
			
		||||
	Handle<Code> optimized_code = deoptimizer->compiled_code();
 | 
			
		||||
 | 
			
		||||
	DCHECK(optimized_code->kind() == Code::OPTIMIZED_FUNCTION);
 | 
			
		||||
	DCHECK(type == deoptimizer->bailout_type());
 | 
			
		||||
 | 
			
		||||
	// Make sure to materialize objects before causing any allocation.
 | 
			
		||||
	JavaScriptFrameIterator it(isolate);
 | 
			
		||||
	deoptimizer->MaterializeHeapObjects(&it);
 | 
			
		||||
	delete deoptimizer;
 | 
			
		||||
 | 
			
		||||
	// Ensure the context register is updated for materialized objects.
 | 
			
		||||
	JavaScriptFrameIterator top_it(isolate);
 | 
			
		||||
	JavaScriptFrame* top_frame = top_it.frame();
 | 
			
		||||
	isolate->set_context(Context::cast(top_frame->context()));
 | 
			
		||||
 | 
			
		||||
	if (type == Deoptimizer::LAZY) {
 | 
			
		||||
		return isolate->heap()->undefined_value();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Search for other activations of the same optimized code.
 | 
			
		||||
	// At this point {it} is at the topmost frame of all the frames materialized
 | 
			
		||||
	// by the deoptimizer. Note that this frame does not necessarily represent
 | 
			
		||||
	// an activation of {function} because of potential inlined tail-calls.
 | 
			
		||||
	ActivationsFinder activations_finder(*optimized_code);
 | 
			
		||||
	activations_finder.VisitFrames(&it);
 | 
			
		||||
	isolate->thread_manager()->IterateArchivedThreads(&activations_finder);
 | 
			
		||||
 | 
			
		||||
	if (!activations_finder.has_code_activations_) {
 | 
			
		||||
		if (function->code() == *optimized_code) {
 | 
			
		||||
			if (FLAG_trace_deopt) {
 | 
			
		||||
				PrintF("[removing optimized code for: ");
 | 
			
		||||
				function->PrintName();
 | 
			
		||||
				PrintF("]\n");
 | 
			
		||||
			}
 | 
			
		||||
			function->ReplaceCode(function->shared()->code());
 | 
			
		||||
		}
 | 
			
		||||
		// Evict optimized code for this function from the cache so that it
 | 
			
		||||
		// doesn't get used for new closures.
 | 
			
		||||
		function->shared()->EvictFromOptimizedCodeMap(*optimized_code, "notify deoptimized");
 | 
			
		||||
	} else {
 | 
			
		||||
		// TODO(titzer): we should probably do DeoptimizeCodeList(code)
 | 
			
		||||
		// unconditionally if the code is not already marked for deoptimization.
 | 
			
		||||
		// If there is an index by shared function info, all the better.
 | 
			
		||||
		Deoptimizer::DeoptimizeFunction(*function);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return isolate->heap()->undefined_value();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
static bool IsSuitableForOnStackReplacement(
 | 
			
		||||
	Isolate* isolate,
 | 
			
		||||
	Handle<JSFunction> function
 | 
			
		||||
) {
 | 
			
		||||
	// Keep track of whether we've succeeded in optimizing.
 | 
			
		||||
	if (function->shared()->optimization_disabled()) return false;
 | 
			
		||||
	// If we are trying to do OSR when there are already optimized
 | 
			
		||||
	// activations of the function, it means (a) the function is directly or
 | 
			
		||||
	// indirectly recursive and (b) an optimized invocation has been
 | 
			
		||||
	// deoptimized so that we are currently in an unoptimized activation.
 | 
			
		||||
	// Check for optimized activations of this function.
 | 
			
		||||
	for (JavaScriptFrameIterator it(isolate); !it.done(); it.Advance()) {
 | 
			
		||||
		JavaScriptFrame* frame = it.frame();
 | 
			
		||||
		if (frame->is_optimized() && frame->function() == *function) return false;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_CompileForOnStackReplacement) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK(args.length() == 1);
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
	Handle<Code> caller_code(function->shared()->code());
 | 
			
		||||
 | 
			
		||||
	// We're not prepared to handle a function with arguments object.
 | 
			
		||||
	DCHECK(!function->shared()->uses_arguments());
 | 
			
		||||
 | 
			
		||||
	RUNTIME_ASSERT(FLAG_use_osr);
 | 
			
		||||
 | 
			
		||||
	// Passing the PC in the javascript frame from the caller directly is
 | 
			
		||||
	// not GC safe, so we walk the stack to get it.
 | 
			
		||||
	JavaScriptFrameIterator it(isolate);
 | 
			
		||||
	JavaScriptFrame* frame = it.frame();
 | 
			
		||||
	if (!caller_code->contains(frame->pc())) {
 | 
			
		||||
		// Code on the stack may not be the code object referenced by the shared
 | 
			
		||||
		// function info.	It may have been replaced to include deoptimization data.
 | 
			
		||||
		caller_code = Handle<Code>(frame->LookupCode());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	uint32_t pc_offset =
 | 
			
		||||
		static_cast<uint32_t>(frame->pc() - caller_code->instruction_start());
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
	DCHECK_EQ(frame->function(), *function);
 | 
			
		||||
	DCHECK_EQ(frame->LookupCode(), *caller_code);
 | 
			
		||||
	DCHECK(caller_code->contains(frame->pc()));
 | 
			
		||||
#endif	// DEBUG
 | 
			
		||||
 | 
			
		||||
	BailoutId ast_id = caller_code->TranslatePcOffsetToAstId(pc_offset);
 | 
			
		||||
	DCHECK(!ast_id.IsNone());
 | 
			
		||||
 | 
			
		||||
	MaybeHandle<Code> maybe_result;
 | 
			
		||||
	if (IsSuitableForOnStackReplacement(isolate, function)) {
 | 
			
		||||
		if (FLAG_trace_osr) {
 | 
			
		||||
			PrintF("[OSR - Compiling: ");
 | 
			
		||||
			function->PrintName();
 | 
			
		||||
			PrintF(" at -*- scheme -*- %d]\n", ast_id.ToInt());
 | 
			
		||||
		}
 | 
			
		||||
		maybe_result = Compiler::GetOptimizedCodeForOSR(function, ast_id, frame);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Revert the patched back edge table, regardless of whether OSR succeeds.
 | 
			
		||||
	BackEdgeTable::Revert(isolate, *caller_code);
 | 
			
		||||
 | 
			
		||||
	// Check whether we ended up with usable optimized code.
 | 
			
		||||
	Handle<Code> result;
 | 
			
		||||
	if (maybe_result.ToHandle(&result)
 | 
			
		||||
	&& result->kind() == Code::OPTIMIZED_FUNCTION) {
 | 
			
		||||
		DeoptimizationInputData* data =
 | 
			
		||||
			DeoptimizationInputData::cast(result->deoptimization_data());
 | 
			
		||||
		
 | 
			
		||||
		if (data->OsrPcOffset()->value() >= 0) {
 | 
			
		||||
			DCHECK(BailoutId(data->OsrAstId()->value()) == ast_id);
 | 
			
		||||
			if (FLAG_trace_osr) {
 | 
			
		||||
				PrintF("[OSR - Entry at AST id %d, offset %d in optimized code]\n",
 | 
			
		||||
					ast_id.ToInt(), data->OsrPcOffset()->value());
 | 
			
		||||
			}
 | 
			
		||||
			// TODO(titzer): this is a massive hack to make the deopt counts
 | 
			
		||||
			// match. Fix heuristics for reenabling optimizations!
 | 
			
		||||
			function->shared()->increment_deopt_count();
 | 
			
		||||
 | 
			
		||||
			if (result->is_turbofanned()) {
 | 
			
		||||
				// TurboFanned OSR code cannot be installed into the function.
 | 
			
		||||
				// But the function is obviously hot, so optimize it next time.
 | 
			
		||||
				function->ReplaceCode(
 | 
			
		||||
					isolate->builtins()->builtin(Builtins::kCompileOptimized));
 | 
			
		||||
			} else {
 | 
			
		||||
				// Crankshafted OSR code can be installed into the function.
 | 
			
		||||
				function->ReplaceCode(*result);
 | 
			
		||||
			}
 | 
			
		||||
			return *result;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Failed.
 | 
			
		||||
	if (FLAG_trace_osr) {
 | 
			
		||||
		PrintF("[OSR - Failed: ");
 | 
			
		||||
		function->PrintName();
 | 
			
		||||
		PrintF(" at AST id %d]\n", ast_id.ToInt());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!function->IsOptimized()) {
 | 
			
		||||
		function->ReplaceCode(function->shared()->code());
 | 
			
		||||
	}
 | 
			
		||||
	return NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_TryInstallOptimizedCode) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK(args.length() == 1);
 | 
			
		||||
	CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 0);
 | 
			
		||||
 | 
			
		||||
	// First check if this is a real stack overflow.
 | 
			
		||||
	StackLimitCheck check(isolate);
 | 
			
		||||
	if (check.JsHasOverflowed()) {
 | 
			
		||||
		SealHandleScope shs(isolate);
 | 
			
		||||
		return isolate->StackOverflow();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	isolate->optimizing_compile_dispatcher()->InstallOptimizedFunctions();
 | 
			
		||||
	return (function->IsOptimized())
 | 
			
		||||
		? function->code()
 | 
			
		||||
		: function->shared()->code();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool CodeGenerationFromStringsAllowed(
 | 
			
		||||
	Isolate* isolate,
 | 
			
		||||
	Handle<Context> context
 | 
			
		||||
){
 | 
			
		||||
	DCHECK(context->allow_code_gen_from_strings()->IsFalse());
 | 
			
		||||
	// Check with callback if set.
 | 
			
		||||
	AllowCodeGenerationFromStringsCallback callback =
 | 
			
		||||
			isolate->allow_code_gen_callback();
 | 
			
		||||
	if (callback == NULL) {
 | 
			
		||||
		// No callback set and code generation disallowed.
 | 
			
		||||
		return false;
 | 
			
		||||
	} else {
 | 
			
		||||
		// Callback set. Let it decide if code generation is allowed.
 | 
			
		||||
		VMState<EXTERNAL> state(isolate);
 | 
			
		||||
		return callback(v8::Utils::ToLocal(context));
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Object* CompileGlobalEval(
 | 
			
		||||
	Isolate* isolate,
 | 
			
		||||
	Handle<String> source,
 | 
			
		||||
	Handle<SharedFunctionInfo> outer_info,
 | 
			
		||||
	LanguageMode language_mode,
 | 
			
		||||
	int eval_scope_position,
 | 
			
		||||
	int eval_position
 | 
			
		||||
){
 | 
			
		||||
	Handle<Context> context = Handle<Context>(isolate->context());
 | 
			
		||||
	Handle<Context> native_context = Handle<Context>(context->native_context());
 | 
			
		||||
 | 
			
		||||
	// Check if native context allows code generation from
 | 
			
		||||
	// strings. Throw an exception if it doesn't.
 | 
			
		||||
	if (native_context->allow_code_gen_from_strings()->IsFalse() &&
 | 
			
		||||
	!CodeGenerationFromStringsAllowed(isolate, native_context)) {
 | 
			
		||||
		Handle<Object> error_message =
 | 
			
		||||
				native_context->ErrorMessageForCodeGenerationFromStrings();
 | 
			
		||||
		Handle<Object> error;
 | 
			
		||||
		MaybeHandle<Object> maybe_error = isolate->factory()->NewEvalError(
 | 
			
		||||
				MessageTemplate::kCodeGenFromStrings, error_message);
 | 
			
		||||
		if (maybe_error.ToHandle(&error)) isolate->Throw(*error);
 | 
			
		||||
		return isolate->heap()->exception();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Deal with a normal eval call with a string argument. Compile it
 | 
			
		||||
	// and return the compiled function bound in the local context.
 | 
			
		||||
	static const ParseRestriction restriction = NO_PARSE_RESTRICTION;
 | 
			
		||||
	Handle<JSFunction> compiled;
 | 
			
		||||
	ASSIGN_RETURN_ON_EXCEPTION_VALUE(
 | 
			
		||||
		isolate, compiled,
 | 
			
		||||
		Compiler::GetFunctionFromEval(
 | 
			
		||||
			source, outer_info, context, language_mode,
 | 
			
		||||
			restriction, eval_scope_position, eval_position
 | 
			
		||||
		),
 | 
			
		||||
		isolate->heap()->exception()
 | 
			
		||||
	);
 | 
			
		||||
	return *compiled;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
RUNTIME_FUNCTION(Runtime_ResolvePossiblyDirectEval) {
 | 
			
		||||
	HandleScope scope(isolate);
 | 
			
		||||
	DCHECK(args.length() == 6);
 | 
			
		||||
 | 
			
		||||
	Handle<Object> callee = args.at<Object>(0);
 | 
			
		||||
 | 
			
		||||
	// If "eval" didn't refer to the original GlobalEval, it's not a
 | 
			
		||||
	// direct call to eval.
 | 
			
		||||
	// (And even if it is, but the first argument isn't a string, just let
 | 
			
		||||
	// execution default to an indirect call to eval, which will also return
 | 
			
		||||
	// the first argument without doing anything).
 | 
			
		||||
	if (*callee != isolate->native_context()->global_eval_fun() || !args[1]->IsString()) {
 | 
			
		||||
		return *callee;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	DCHECK(args[3]->IsSmi());
 | 
			
		||||
	DCHECK(is_valid_language_mode(args.smi_at(3)));
 | 
			
		||||
	LanguageMode language_mode = static_cast<LanguageMode>(args.smi_at(3));
 | 
			
		||||
	DCHECK(args[4]->IsSmi());
 | 
			
		||||
	Handle<SharedFunctionInfo> outer_info(args.at<JSFunction>(2)->shared(), isolate);
 | 
			
		||||
	return CompileGlobalEval(
 | 
			
		||||
		isolate,
 | 
			
		||||
		args.at<String>(1),
 | 
			
		||||
		outer_info,
 | 
			
		||||
		language_mode,
 | 
			
		||||
		args.smi_at(4),
 | 
			
		||||
		args.smi_at(5)
 | 
			
		||||
	);
 | 
			
		||||
}
 | 
			
		||||
}	// namespace internal
 | 
			
		||||
}	// namespace v8
 | 
			
		||||
 | 
			
		||||
/* vim: set shiftwidth=4 softtabstop=0 cindent cinoptions={1s: */
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								samples/EJS/dash.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								samples/EJS/dash.ejs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
<% include parts/depend %>
 | 
			
		||||
 | 
			
		||||
<div class="row">
 | 
			
		||||
  <% if (user.primaryAccount == "teacher") { %>
 | 
			
		||||
    <% include teacher/sidebar %>
 | 
			
		||||
    <% include teacher/dashboard %>
 | 
			
		||||
  <% } else if (user.primaryAccount == "student") { %>
 | 
			
		||||
    <% include student/sidebar %>
 | 
			
		||||
    <% include student/dashboard %>
 | 
			
		||||
  <% } else { %>
 | 
			
		||||
    <center><h2>There seems to be a problem</h2></center>
 | 
			
		||||
  <% } %>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										102
									
								
								samples/EJS/page.ejs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								samples/EJS/page.ejs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
<% include ../parts/depend %>
 | 
			
		||||
 | 
			
		||||
<div class="row">
 | 
			
		||||
  <% include sidebar %>
 | 
			
		||||
  <div class="col-lg-offset-3 col-lg-9 main-content">
 | 
			
		||||
    <div class="page-title">
 | 
			
		||||
      <h1>Pieces</h1>
 | 
			
		||||
      <% if (pieces.length == 1) { %>
 | 
			
		||||
        <p>You have
 | 
			
		||||
          <strong>1</strong>
 | 
			
		||||
          piece to practice</p>
 | 
			
		||||
      <% } else { %>
 | 
			
		||||
        <p>You have
 | 
			
		||||
          <strong><%= pieces.length %></strong>
 | 
			
		||||
          pieces to practice</p>
 | 
			
		||||
      <% } %>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="row">
 | 
			
		||||
      <% if (pieces == undefined || pieces.length == 0) { %>
 | 
			
		||||
        <div class="error-main">
 | 
			
		||||
          <h1>No Pieces</h1>
 | 
			
		||||
          <p>You have no
 | 
			
		||||
            <strong>Pieces</strong>
 | 
			
		||||
            assigned.</p>
 | 
			
		||||
        </div>
 | 
			
		||||
      <% } else { %>
 | 
			
		||||
        <div class="col-lg-12 section-title">
 | 
			
		||||
          <div style="margin-top: 10px; margin-bottom: 10px;" class="btn-group" role="group">
 | 
			
		||||
            <button id="inProgressButton" type="button" class="btn btn-md btn-super-round btn-focus-off btn-primary btn-primary-active">In Progress</button>
 | 
			
		||||
            <button id="completedButton" type="button" class="btn btn-md btn-super-round btn-focus-off btn-purple">Completed</button>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div id="inProgressPieces">
 | 
			
		||||
          <% if (inProgressPieces == undefined || inProgressPieces.length == 0) { %>
 | 
			
		||||
            <center>
 | 
			
		||||
              <h2>No Pieces in Progress</h2>
 | 
			
		||||
            </center>
 | 
			
		||||
          <% } else { %>
 | 
			
		||||
            <% for (var i = 0; i < inProgressPieces.length; i++) { %>
 | 
			
		||||
              <div class="col-lg-6">
 | 
			
		||||
                <div class="box">
 | 
			
		||||
                  <div class="title">
 | 
			
		||||
                    <h1>
 | 
			
		||||
                      <a href="/pieces/practice/<%= inProgressPieces[i].id %>"><%= inProgressPieces[i].title %></a>
 | 
			
		||||
                    </h1>
 | 
			
		||||
                    <p>By
 | 
			
		||||
                      <strong><%= inProgressPieces[i].author %></strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p>
 | 
			
		||||
                      Teacher:
 | 
			
		||||
                      <strong><%= inProgressPieces[i].teacherName %></strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p>Average Practice Time:
 | 
			
		||||
                      <strong><%= inProgressPieces[i].averagePracticeTime %>
 | 
			
		||||
                        mins</strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <a href="/pieces/practice/<%= inProgressPieces[i].id %>" class="btn btn-success btn-block">Practice
 | 
			
		||||
                      <%= inProgressPieces[i].title %></a>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            <% } %>
 | 
			
		||||
          <% } %>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div id="completedPieces" style="display: none;">
 | 
			
		||||
          <% if (completedPieces == undefined || completedPieces.length == 0) { %>
 | 
			
		||||
            <center>
 | 
			
		||||
              <h2>No Completed Pieces</h2>
 | 
			
		||||
            </center>
 | 
			
		||||
          <% } else { %>
 | 
			
		||||
            <% for (var i = 0; i < completedPieces.length; i++) { %>
 | 
			
		||||
              <div class="col-lg-6">
 | 
			
		||||
                <div class="box">
 | 
			
		||||
                  <div class="title">
 | 
			
		||||
                    <h1>
 | 
			
		||||
                      <a href="/pieces/practice/<%= completedPieces[i].id %>"><%= completedPieces[i].title %></a>
 | 
			
		||||
                    </h1>
 | 
			
		||||
                    <p>By
 | 
			
		||||
                      <strong><%= completedPieces[i].author %></strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p>
 | 
			
		||||
                      Teacher:
 | 
			
		||||
                      <strong><%= completedPieces[i].teacherName %></strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p>Average Practice Time:
 | 
			
		||||
                      <strong><%= completedPieces[i].averagePracticeTime %>
 | 
			
		||||
                        mins</strong>
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <a href="/pieces/practice/<%= completedPieces[i].id %>" class="btn btn-success btn-block">Practice
 | 
			
		||||
                      <%= completedPieces[i].title %></a>
 | 
			
		||||
                  </div>
 | 
			
		||||
                </div>
 | 
			
		||||
              </div>
 | 
			
		||||
            <% } %>
 | 
			
		||||
          <% } %>
 | 
			
		||||
        </div>
 | 
			
		||||
      <% } %>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										26
									
								
								samples/Erlang/170-os-daemons.es
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								samples/Erlang/170-os-daemons.es
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
#! /usr/bin/env escript
 | 
			
		||||
 | 
			
		||||
% Licensed under the Apache License, Version 2.0 (the "License"); you may not
 | 
			
		||||
% use this file except in compliance with the License. You may obtain a copy of
 | 
			
		||||
% the License at
 | 
			
		||||
%
 | 
			
		||||
%   http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
%
 | 
			
		||||
% Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | 
			
		||||
% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | 
			
		||||
% License for the specific language governing permissions and limitations under
 | 
			
		||||
% the License.
 | 
			
		||||
 | 
			
		||||
loop() ->
 | 
			
		||||
	loop(io:read("")).
 | 
			
		||||
 | 
			
		||||
loop({ok, _}) ->
 | 
			
		||||
	loop(io:read(""));
 | 
			
		||||
loop(eof) ->
 | 
			
		||||
	stop;
 | 
			
		||||
loop({error, Reason}) ->
 | 
			
		||||
	throw({error, Reason}).
 | 
			
		||||
 | 
			
		||||
main([]) ->
 | 
			
		||||
	loop().
 | 
			
		||||
							
								
								
									
										1
									
								
								samples/Erlang/release
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										1
									
								
								samples/Erlang/release
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@@ -119,4 +119,3 @@ execute_overlay([{copy, In, Out} | Rest], Vars, BaseDir, TargetDir) ->
 | 
			
		||||
 | 
			
		||||
exit_code(ExitCode) ->
 | 
			
		||||
    erlang:halt(ExitCode, [{flush, true}]).
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								samples/Erlang/sample.app.src
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								samples/Erlang/sample.app.src
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
{application, sample,
 | 
			
		||||
 [{description, "sample app"},
 | 
			
		||||
  {vsn, "1.0.0"},
 | 
			
		||||
  {registered, []},
 | 
			
		||||
  {mod, {sample_app, []}},
 | 
			
		||||
  {applications, [kernel, stdlib]},
 | 
			
		||||
  {env, []},
 | 
			
		||||
  {modules, []}]}.
 | 
			
		||||
							
								
								
									
										104
									
								
								samples/Erlang/single-context.es
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										104
									
								
								samples/Erlang/single-context.es
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,104 @@
 | 
			
		||||
#! /usr/bin/env escript
 | 
			
		||||
% This file is part of Emonk released under the MIT license. 
 | 
			
		||||
% See the LICENSE file for more information.
 | 
			
		||||
 | 
			
		||||
main([]) ->
 | 
			
		||||
	start(64, 1000);
 | 
			
		||||
main([N]) ->
 | 
			
		||||
	start(list_to_integer(N), 1000);
 | 
			
		||||
main([N, M]) ->
 | 
			
		||||
	start(list_to_integer(N), list_to_integer(M)).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
start(N, M) ->
 | 
			
		||||
	code:add_pathz("test"),
 | 
			
		||||
	code:add_pathz("ebin"),
 | 
			
		||||
	{ok, Ctx} = emonk:create_ctx(),
 | 
			
		||||
	{ok, undefined} = emonk:eval(Ctx, js()),
 | 
			
		||||
	run(Ctx, N, M),
 | 
			
		||||
	wait(N).
 | 
			
		||||
 | 
			
		||||
run(_, 0, _) ->
 | 
			
		||||
	ok;
 | 
			
		||||
run(Ctx, N, M) ->
 | 
			
		||||
	Self = self(),
 | 
			
		||||
	Pid = spawn(fun() -> do_js(Self, Ctx, M) end),
 | 
			
		||||
	io:format("Spawned: ~p~n", [Pid]),
 | 
			
		||||
	run(Ctx, N-1, M).
 | 
			
		||||
 | 
			
		||||
wait(0) ->
 | 
			
		||||
	ok;
 | 
			
		||||
wait(N) ->
 | 
			
		||||
	receive
 | 
			
		||||
		{finished, Pid} -> ok
 | 
			
		||||
	end,
 | 
			
		||||
	io:format("Finished: ~p~n", [Pid]),
 | 
			
		||||
	wait(N-1).
 | 
			
		||||
 | 
			
		||||
do_js(Parent, _, 0) ->
 | 
			
		||||
	Parent ! {finished, self()};
 | 
			
		||||
do_js(Parent, Ctx, M) ->
 | 
			
		||||
	io:format("Running: ~p~n", [M]),
 | 
			
		||||
	Test = random_test(),
 | 
			
		||||
	{ok, [Resp]} = emonk:call(Ctx, <<"f">>, [Test]),
 | 
			
		||||
	Sorted = sort(Resp),
 | 
			
		||||
	true = Test == Sorted,
 | 
			
		||||
	do_js(Parent, Ctx, M-1).
 | 
			
		||||
 | 
			
		||||
js() -> 
 | 
			
		||||
	<<"var f = function(x) {return [x];};">>.
 | 
			
		||||
 | 
			
		||||
random_test() ->
 | 
			
		||||
	Tests = [
 | 
			
		||||
		null,
 | 
			
		||||
		true,
 | 
			
		||||
		false,
 | 
			
		||||
		1,
 | 
			
		||||
		-1,
 | 
			
		||||
		3.1416,
 | 
			
		||||
		-3.1416,
 | 
			
		||||
		12.0e10,
 | 
			
		||||
		1.234E+10,
 | 
			
		||||
		-1.234E-10,
 | 
			
		||||
		10.0,
 | 
			
		||||
		123.456,
 | 
			
		||||
		10.0,
 | 
			
		||||
		<<"foo">>,
 | 
			
		||||
		<<"foo", 5, "bar">>,
 | 
			
		||||
		<<"">>,
 | 
			
		||||
		<<"\n\n\n">>,
 | 
			
		||||
		<<"\" \b\f\r\n\t\"">>,
 | 
			
		||||
		{[]},
 | 
			
		||||
		{[{<<"foo">>, <<"bar">>}]},
 | 
			
		||||
		{[{<<"foo">>, <<"bar">>}, {<<"baz">>, 123}]},
 | 
			
		||||
		[],
 | 
			
		||||
		[[]],
 | 
			
		||||
		[1, <<"foo">>],
 | 
			
		||||
		{[{<<"foo">>, [123]}]},
 | 
			
		||||
		{[{<<"foo">>, [1, 2, 3]}]},
 | 
			
		||||
		{[{<<"foo">>, {[{<<"bar">>, true}]}}]},
 | 
			
		||||
		{[
 | 
			
		||||
			{<<"foo">>, []},
 | 
			
		||||
			{<<"bar">>, {[{<<"baz">>, true}]}}, {<<"alice">>, <<"bob">>}
 | 
			
		||||
		]},
 | 
			
		||||
		[-123, <<"foo">>, {[{<<"bar">>, []}]}, null]
 | 
			
		||||
	],
 | 
			
		||||
	{_, [Test | _]} = lists:split(random:uniform(length(Tests)) - 1, Tests),
 | 
			
		||||
	sort(Test).
 | 
			
		||||
 | 
			
		||||
sort({Props}) ->
 | 
			
		||||
	objsort(Props, []);
 | 
			
		||||
sort(List) when is_list(List) ->
 | 
			
		||||
	lstsort(List, []);
 | 
			
		||||
sort(Other) ->
 | 
			
		||||
	Other.
 | 
			
		||||
 | 
			
		||||
objsort([], Acc) ->
 | 
			
		||||
	{lists:sort(Acc)};
 | 
			
		||||
objsort([{K,V} | Rest], Acc) ->
 | 
			
		||||
	objsort(Rest, [{K, sort(V)} | Acc]).
 | 
			
		||||
 | 
			
		||||
lstsort([], Acc) ->
 | 
			
		||||
	lists:reverse(Acc);
 | 
			
		||||
lstsort([Val | Rest], Acc) ->
 | 
			
		||||
	lstsort(Rest, [sort(Val) | Acc]).
 | 
			
		||||
							
								
								
									
										20
									
								
								samples/GLSL/gbuffers_textured_lit.fsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								samples/GLSL/gbuffers_textured_lit.fsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
#version 120
 | 
			
		||||
 | 
			
		||||
uniform sampler2D texture;
 | 
			
		||||
 | 
			
		||||
varying vec3 color;
 | 
			
		||||
varying vec2 texcoord;
 | 
			
		||||
 | 
			
		||||
vec4 GetDiffuse() {
 | 
			
		||||
	vec4 diffuse = vec4(color.rgb, 1.0);
 | 
			
		||||
	     diffuse *= texture2D(texture, texcoord);
 | 
			
		||||
	
 | 
			
		||||
	return diffuse;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void main() {
 | 
			
		||||
	vec4 diffuse = GetDiffuse();
 | 
			
		||||
	
 | 
			
		||||
	gl_FragData[0] = diffuse;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										11
									
								
								samples/GLSL/gbuffers_textured_lit.vsh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								samples/GLSL/gbuffers_textured_lit.vsh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
#version 120
 | 
			
		||||
 | 
			
		||||
varying vec3 color;
 | 
			
		||||
varying vec2 texcoord;
 | 
			
		||||
 | 
			
		||||
void main() {
 | 
			
		||||
	color    = gl_Color.rgb;
 | 
			
		||||
	texcoord = gl_MultiTexCoord0.st;
 | 
			
		||||
	
 | 
			
		||||
	gl_Position = ftransform();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										57
									
								
								samples/GraphQL/kitchen-sink.graphql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								samples/GraphQL/kitchen-sink.graphql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
# Copyright (c) 2015, Facebook, Inc.
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# This source code is licensed under the BSD-style license found in the
 | 
			
		||||
# LICENSE file in the root directory of this source tree. An additional grant
 | 
			
		||||
# of patent rights can be found in the PATENTS file in the same directory.
 | 
			
		||||
 | 
			
		||||
query queryName($foo: ComplexType, $site: Site = MOBILE) {
 | 
			
		||||
  whoever123is: node(id: [123, 456]) {
 | 
			
		||||
    id ,
 | 
			
		||||
    ... on User @defer {
 | 
			
		||||
      field2 {
 | 
			
		||||
        id ,
 | 
			
		||||
        alias: field1(first:10, after:$foo,) @include(if: $foo) {
 | 
			
		||||
          id,
 | 
			
		||||
          ...frag
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    ... @skip(unless: $foo) {
 | 
			
		||||
      id
 | 
			
		||||
    }
 | 
			
		||||
    ... {
 | 
			
		||||
      id
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
mutation likeStory {
 | 
			
		||||
  like(story: 123) @defer {
 | 
			
		||||
    story {
 | 
			
		||||
      id
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
subscription StoryLikeSubscription($input: StoryLikeSubscribeInput) {
 | 
			
		||||
  storyLikeSubscribe(input: $input) {
 | 
			
		||||
    story {
 | 
			
		||||
      likers {
 | 
			
		||||
        count
 | 
			
		||||
      }
 | 
			
		||||
      likeSentence {
 | 
			
		||||
        text
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
fragment frag on Friend {
 | 
			
		||||
  foo(size: $size, bar: $b, obj: {key: "value"})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  unnamed(truthy: true, falsey: false),
 | 
			
		||||
  query
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										50
									
								
								samples/GraphQL/schema-kitchen-sink.graphql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								samples/GraphQL/schema-kitchen-sink.graphql
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
# Copyright (c) 2015, Facebook, Inc.
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# This source code is licensed under the BSD-style license found in the
 | 
			
		||||
# LICENSE file in the root directory of this source tree. An additional grant
 | 
			
		||||
# of patent rights can be found in the PATENTS file in the same directory.
 | 
			
		||||
 | 
			
		||||
schema {
 | 
			
		||||
  query: QueryType
 | 
			
		||||
  mutation: MutationType
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Foo implements Bar {
 | 
			
		||||
  one: Type
 | 
			
		||||
  two(argument: InputType!): Type
 | 
			
		||||
  three(argument: InputType, other: String): Int
 | 
			
		||||
  four(argument: String = "string"): String
 | 
			
		||||
  five(argument: [String] = ["string", "string"]): String
 | 
			
		||||
  six(argument: InputType = {key: "value"}): Type
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
interface Bar {
 | 
			
		||||
  one: Type
 | 
			
		||||
  four(argument: String = "string"): String
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
union Feed = Story | Article | Advert
 | 
			
		||||
 | 
			
		||||
scalar CustomScalar
 | 
			
		||||
 | 
			
		||||
enum Site {
 | 
			
		||||
  DESKTOP
 | 
			
		||||
  MOBILE
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
input InputType {
 | 
			
		||||
  key: String!
 | 
			
		||||
  answer: Int = 42
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extend type Foo {
 | 
			
		||||
  seven(argument: [String]): Type
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT
 | 
			
		||||
 | 
			
		||||
directive @include(if: Boolean!)
 | 
			
		||||
  on FIELD
 | 
			
		||||
   | FRAGMENT_SPREAD
 | 
			
		||||
   | INLINE_FRAGMENT
 | 
			
		||||
							
								
								
									
										123
									
								
								samples/JSON/Git Commit.JSON-tmLanguage
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								samples/JSON/Git Commit.JSON-tmLanguage
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
{
 | 
			
		||||
	"name": "Git Commit Message",
 | 
			
		||||
	"scopeName": "text.git-commit",
 | 
			
		||||
	"fileTypes": [
 | 
			
		||||
		"COMMIT_EDITMSG"
 | 
			
		||||
	],
 | 
			
		||||
	"patterns": [
 | 
			
		||||
		{
 | 
			
		||||
			"name": "comment.line.number-sign.git-commit-message",
 | 
			
		||||
			"begin": "^#",
 | 
			
		||||
			"beginCaptures": {
 | 
			
		||||
				"0": {
 | 
			
		||||
					"name": "punctuation.definition.comment.git-commit-message"
 | 
			
		||||
				}
 | 
			
		||||
			},
 | 
			
		||||
			"end": "$",
 | 
			
		||||
			"patterns": [
 | 
			
		||||
				{
 | 
			
		||||
					"name": "comment.line.on-branch.git-commit-message",
 | 
			
		||||
					"match": "(?:On branch )([^ ]+)",
 | 
			
		||||
					"captures": {
 | 
			
		||||
						"1": {
 | 
			
		||||
							"name": "support.function.branch.git-commit-message"
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"name": "comment.line.on-branch.git-commit-message",
 | 
			
		||||
					"match": "Your branch .* '([^ ']+)'",
 | 
			
		||||
					"captures": {
 | 
			
		||||
						"1": {
 | 
			
		||||
							"name": "support.function.branch.git-commit-message"
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"name": "comment.line.untracked.git-commit-message",
 | 
			
		||||
					"begin": " Untracked files:",
 | 
			
		||||
					"beginCaptures": {
 | 
			
		||||
						"0": {
 | 
			
		||||
							"name": "entity.definition.untracked.git-commit-message"
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					"end": "^#$",
 | 
			
		||||
					"patterns": [
 | 
			
		||||
						{
 | 
			
		||||
							"name": "comment.line.untracked-file.git-commit-message",
 | 
			
		||||
							"match": "\t(.*)$",
 | 
			
		||||
							"captures": {
 | 
			
		||||
								"1": {
 | 
			
		||||
									"name": "support.function.file-status.git-commit-message"
 | 
			
		||||
								},
 | 
			
		||||
								"2": {
 | 
			
		||||
									"name": "constant.character.branch.git-commit-message"
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					]
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"name": "comment.line.discarded.git-commit-message",
 | 
			
		||||
					"begin": " Change(?:s not staged for commit|d but not updated):",
 | 
			
		||||
					"beginCaptures": {
 | 
			
		||||
						"0": {
 | 
			
		||||
							"name": "entity.definition.discarded.git-commit-message"
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					"end": "^#$",
 | 
			
		||||
					"patterns": [
 | 
			
		||||
						{
 | 
			
		||||
							"name": "comment.line.discarded.git-commit-message",
 | 
			
		||||
							"match": "\t([^:]+):(.*)$",
 | 
			
		||||
							"captures": {
 | 
			
		||||
								"1": {
 | 
			
		||||
									"name": "support.function.file-status.git-commit-message"
 | 
			
		||||
								},
 | 
			
		||||
								"2": {
 | 
			
		||||
									"name": "constant.character.branch.git-commit-message"
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					]
 | 
			
		||||
				},
 | 
			
		||||
				{
 | 
			
		||||
					"name": "comment.line.selected.git-commit-message",
 | 
			
		||||
					"begin": " Changes to be committed:",
 | 
			
		||||
					"beginCaptures": {
 | 
			
		||||
						"0": {
 | 
			
		||||
							"name": "entity.definition.selected.git-commit-message"
 | 
			
		||||
						}
 | 
			
		||||
					},
 | 
			
		||||
					"end": "^#$",
 | 
			
		||||
					"patterns": [
 | 
			
		||||
						{
 | 
			
		||||
							"name": "comment.line.selected.git-commit-message",
 | 
			
		||||
							"match": "\t([^:]+):(.*)$",
 | 
			
		||||
							"captures": {
 | 
			
		||||
								"1": {
 | 
			
		||||
									"name": "support.function.file-status.git-commit-message"
 | 
			
		||||
								},
 | 
			
		||||
								"2": {
 | 
			
		||||
									"name": "constant.character.branch.git-commit-message"
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					]
 | 
			
		||||
				}
 | 
			
		||||
			]
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"name": "meta.diff.git-commit",
 | 
			
		||||
			"comment": "diff at the end of the commit message when using commit -v, or viewing a log. End pattern is just something to be never matched so that the meta continues untill the end of the file.",
 | 
			
		||||
			"begin": "diff\\ \\-\\-git",
 | 
			
		||||
			"end": "(?=xxxxxx)123457",
 | 
			
		||||
			"patterns": [
 | 
			
		||||
				{
 | 
			
		||||
					"include": "source.diff"
 | 
			
		||||
				}
 | 
			
		||||
			]
 | 
			
		||||
		}
 | 
			
		||||
	],
 | 
			
		||||
	"uuid": "de3fb2fc-e564-4a31-9813-5ee26967c5c8"
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8
									
								
								samples/JSON/filenames/.arcconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								samples/JSON/filenames/.arcconfig
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
	"project_id": "example",
 | 
			
		||||
	"conduit_uri": "https://ex.am.pl/",
 | 
			
		||||
	"copyright_holder": "Apache Software Foundation",
 | 
			
		||||
	"arcanist_configuration": "ArcJIRAConfiguration",
 | 
			
		||||
	"phabricator.uri": "https://phabricator.example.com/",
 | 
			
		||||
	"load": ["libs/src"]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								samples/JSON/filenames/mcmod.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								samples/JSON/filenames/mcmod.info
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
[
 | 
			
		||||
{
 | 
			
		||||
  "modid": "examplemod",
 | 
			
		||||
  "name": "Example Mod",
 | 
			
		||||
  "description": "Example placeholder mod.",
 | 
			
		||||
  "version": "${version}",
 | 
			
		||||
  "mcversion": "${mcversion}",
 | 
			
		||||
  "url": "",
 | 
			
		||||
  "updateUrl": "",
 | 
			
		||||
  "authorList": ["ExampleDude"],
 | 
			
		||||
  "credits": "The Forge and FML guys, for making this example",
 | 
			
		||||
  "logoFile": "",
 | 
			
		||||
  "screenshots": [],
 | 
			
		||||
  "dependencies": []
 | 
			
		||||
}
 | 
			
		||||
]
 | 
			
		||||
							
								
								
									
										13
									
								
								samples/JavaScript/axios.es
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								samples/JavaScript/axios.es
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
import axios from "axios";
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
	async getIndex(prefix) {
 | 
			
		||||
		const {data} = await axios.get((prefix || "") + "/index.json");
 | 
			
		||||
		return data;
 | 
			
		||||
	},
 | 
			
		||||
	
 | 
			
		||||
	async getContent(path, prefix) {
 | 
			
		||||
		const {data} = await axios.get((prefix || "") + "/" + path + ".json");
 | 
			
		||||
		return data;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										35
									
								
								samples/JavaScript/index.es
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								samples/JavaScript/index.es
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
import config from "../webpack.config";
 | 
			
		||||
import webpackDevMiddleware from "webpack-dev-middleware";
 | 
			
		||||
import webpackHot from "webpack-hot-middleware";
 | 
			
		||||
import webpack from "webpack";
 | 
			
		||||
import express from "express";
 | 
			
		||||
 | 
			
		||||
app.use(webpackDevMiddleware(compiler, {
 | 
			
		||||
	noInfo: false,
 | 
			
		||||
	quiet: false,
 | 
			
		||||
	publicPath: config.output.publicPath,
 | 
			
		||||
	hot: true,
 | 
			
		||||
	historyApiFallback: true
 | 
			
		||||
}));
 | 
			
		||||
	
 | 
			
		||||
app.get("/(:root).json", (req, resp) => {
 | 
			
		||||
	resp.send(indexer.index(req.params.root));
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
export default function(){
 | 
			
		||||
	const server = http.createServer(app);
 | 
			
		||||
	
 | 
			
		||||
	server.listen(3000);
 | 
			
		||||
	
 | 
			
		||||
	const wss = new WebSocketServer({server});
 | 
			
		||||
	
 | 
			
		||||
	let id = 1;
 | 
			
		||||
	wss.on("connection", (ws) => {
 | 
			
		||||
		console.log("Hello", " world");
 | 
			
		||||
		let wsId = id++;
 | 
			
		||||
		sessions[wsId] = ws;
 | 
			
		||||
		ws.on("close", () => {
 | 
			
		||||
			delete sessions[wsId]
 | 
			
		||||
		});
 | 
			
		||||
	});
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										11
									
								
								samples/Makefile/filenames/BSDmakefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								samples/Makefile/filenames/BSDmakefile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
# pmake might add -J (private)
 | 
			
		||||
FLAGS=${.MAKEFLAGS:C/\-J ([0-9]+,?)+//W}
 | 
			
		||||
 | 
			
		||||
all: .DEFAULT
 | 
			
		||||
.DEFAULT:
 | 
			
		||||
	@which gmake > /dev/null 2>&1 ||\
 | 
			
		||||
		(echo "GMake is required for node.js to build.\
 | 
			
		||||
			Install and try again" && exit 1)
 | 
			
		||||
	@gmake ${.FLAGS} ${.TARGETS}
 | 
			
		||||
 | 
			
		||||
.PHONY: test
 | 
			
		||||
							
								
								
									
										77
									
								
								samples/Makefile/filenames/Makefile.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								samples/Makefile/filenames/Makefile.frag
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,77 @@
 | 
			
		||||
all: link-php-objects index-php-objects $(all_targets)
 | 
			
		||||
	@echo
 | 
			
		||||
	@echo "Build complete."
 | 
			
		||||
	@echo "Don't forget to run 'make test'."
 | 
			
		||||
	@echo
 | 
			
		||||
 | 
			
		||||
generate-php-objects:
 | 
			
		||||
	@echo "Generating PHP objects in $(PHP_DIR)"
 | 
			
		||||
	@for f in `ls $(PHP_DIR)/*.php`; do \
 | 
			
		||||
		objcopy --input binary --output elf64-x86-64 --binary-architecture i386 $$f $$f.o; \
 | 
			
		||||
	done;
 | 
			
		||||
 | 
			
		||||
link-php-objects: generate-php-objects
 | 
			
		||||
	@echo "Linking PHP objects in $(PHP_DIR)"
 | 
			
		||||
	@for f in `ls $(PHP_DIR)/*.php`; do \
 | 
			
		||||
		ar rcs $(PHP_DIR)/lib$(PHP_LIB).a $$f.o; \
 | 
			
		||||
	done;
 | 
			
		||||
 | 
			
		||||
index-php-objects: link-php-objects
 | 
			
		||||
	@echo "Indexing PHP objects in $(PHP_DIR)"
 | 
			
		||||
	@echo "#ifndef HAVE_PHP_$(PHP_LIB)_H" 																	> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "#define HAVE_PHP_$(PHP_LIB)_H" 																	>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "/* I AM GENERATED | DO NOT EDIT | I AM GENERATED */"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@for f in `ls $(PHP_DIR)/*.php`; do \
 | 
			
		||||
		name=`echo $$f | sed 's/[^a-z]/_/g'`; \
 | 
			
		||||
		echo "extern char _binary_"$$name"_start;" 															>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "static inline char* php_index_$(PHP_LIB)_"$$name"() {" 										>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "	return (char*) &_binary_"$$name"_start;"													>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "}"																							>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "extern char _binary_"$$name"_end;" 															>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "static inline char* php_index_$(PHP_LIB)_"$$name"_end() {" 									>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "	return (char*) &_binary_"$$name"_end;"														>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "}"																							>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "static inline size_t php_index_$(PHP_LIB)_"$$name"_size() {" 									>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "	return (size_t) (php_index_$(PHP_LIB)_"$$name"_end() - php_index_$(PHP_LIB)_"$$name"());"	>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "}"																							>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
	done;
 | 
			
		||||
	@echo "static inline php_$(PHP_LIB)_init(HashTable *index, HashTable *includes) {"						>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zval val;"																						>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_hash_init(index, 8, NULL, ZVAL_PTR_DTOR, 0);"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_hash_init(includes, 8, NULL, NULL, 0);"													>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@for f in `ls $(PHP_DIR)/*.php`; do \
 | 
			
		||||
		name=`echo $$f | sed 's/[^a-z]/_/g'`; \
 | 
			
		||||
		echo "	ZVAL_NEW_STR(&val, zend_string_init(\
 | 
			
		||||
					php_index_$(PHP_LIB)_"$$name"(), \
 | 
			
		||||
						php_index_$(PHP_LIB)_"$$name"_size(), 0));"											>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
		echo "	zend_hash_str_add(index, \""$$f"\", sizeof(\""$$f"\")-1, &val);"							>> $(PHP_DIR)/$(PHP_LIB).h; \
 | 
			
		||||
	done;
 | 
			
		||||
	@echo "}"																								>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "static inline void php_$(PHP_LIB)_include(HashTable *index, HashTable *includes, \
 | 
			
		||||
					char *path, size_t len, zval *retval) {"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_string *key = zend_string_init(path, len, 0);"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zval *code = zend_hash_find(index, key);"														>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	if (code && !zend_hash_exists(includes, key)) {"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		zend_string *prepared = zend_string_alloc(Z_STRLEN_P(code) + (sizeof(\";\")-1), 0);"		>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo																									>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		memcpy(&ZSTR_VAL(prepared)[0], \";\", sizeof(\";\")-1);"									>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		if (Z_STRLEN_P(code) > (sizeof(\"<?php\") -1) && "											>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "			memcmp(Z_STRVAL_P(code), \"<?php\", sizeof(\"<?php\")-1) == SUCCESS) {"					>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "				memcpy(&ZSTR_VAL(prepared)[1], &Z_STRVAL_P(code)[5], \
 | 
			
		||||
							Z_STRLEN_P(code) - (sizeof(\"<?php\") - 1));"									>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "				ZSTR_LEN(prepared) -= (sizeof(\"<?php\") - 1);"										>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "				ZSTR_VAL(prepared)[ZSTR_LEN(prepared)] = 0;"										>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		} else {"																					>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "			memcpy(&ZSTR_VAL(prepared)[1], Z_STRVAL_P(code), Z_STRLEN_P(code));"					>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		}"																							>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		zend_eval_stringl(ZSTR_VAL(prepared), ZSTR_LEN(prepared), retval, path);"					>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		zend_hash_add_empty_element(includes, key);"												>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "		zend_string_release(prepared);"																>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	}"																								>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_string_release(key);"																		>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "}"																								>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "static inline void php_$(PHP_LIB)_shutdown(HashTable *index, HashTable *includes) {"				>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_hash_destroy(index);"																		>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "	zend_hash_destroy(includes);"																	>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "}"																								>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
	@echo "#endif"																							>> $(PHP_DIR)/$(PHP_LIB).h
 | 
			
		||||
							
								
								
									
										9
									
								
								samples/Makefile/filenames/mkfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								samples/Makefile/filenames/mkfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
GREETINGS=hello gday bonjour hola ola kaixo tag hoi konnichiwa nihao dobredan namaste salaam
 | 
			
		||||
 | 
			
		||||
all:V:
 | 
			
		||||
	mk greet.^($GREETINGS)
 | 
			
		||||
	for(i in $GREETINGS)
 | 
			
		||||
		mk $i
 | 
			
		||||
 | 
			
		||||
greet.%: text-folder
 | 
			
		||||
	/n/$printer $stem >[2=1]
 | 
			
		||||
							
								
								
									
										19
									
								
								samples/OpenRC runscript/acpid
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								samples/OpenRC runscript/acpid
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
#!/sbin/openrc-run
 | 
			
		||||
 | 
			
		||||
description="Daemon for Advanced Configuration and Power Interface"
 | 
			
		||||
 | 
			
		||||
extra_started_commands="reload"
 | 
			
		||||
command="/usr/sbin/acpid"
 | 
			
		||||
command_args="$ACPID_ARGS"
 | 
			
		||||
start_stop_daemon_args="--quiet"
 | 
			
		||||
 | 
			
		||||
depend() {
 | 
			
		||||
	need localmount
 | 
			
		||||
	use logger
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
reload() {
 | 
			
		||||
	ebegin "Reloading acpid configuration"
 | 
			
		||||
	start-stop-daemon --exec $command --signal HUP
 | 
			
		||||
	eend $?
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										8399
									
								
								samples/PAWN/fixes.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8399
									
								
								samples/PAWN/fixes.inc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,520 +0,0 @@
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
//
 | 
			
		||||
// GRAND LARCENY 1.0
 | 
			
		||||
// A freeroam gamemode for SA-MP 0.3
 | 
			
		||||
//
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
#include <a_samp>
 | 
			
		||||
#include <core>
 | 
			
		||||
#include <float>
 | 
			
		||||
#include "../include/gl_common.inc"
 | 
			
		||||
#include "../include/gl_spawns.inc"
 | 
			
		||||
 | 
			
		||||
#pragma tabsize 0
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
#define COLOR_WHITE                 0xFFFFFFFF
 | 
			
		||||
#define COLOR_NORMAL_PLAYER 0xFFBB7777
 | 
			
		||||
 | 
			
		||||
#define CITY_LOS_SANTOS         0
 | 
			
		||||
#define CITY_SAN_FIERRO         1
 | 
			
		||||
#define CITY_LAS_VENTURAS         2
 | 
			
		||||
 | 
			
		||||
new total_vehicles_from_files=0;
 | 
			
		||||
 | 
			
		||||
// Class selection globals
 | 
			
		||||
new gPlayerCitySelection[MAX_PLAYERS];
 | 
			
		||||
new gPlayerHasCitySelected[MAX_PLAYERS];
 | 
			
		||||
new gPlayerLastCitySelectionTick[MAX_PLAYERS];
 | 
			
		||||
 | 
			
		||||
new Text:txtClassSelHelper;
 | 
			
		||||
new Text:txtLosSantos;
 | 
			
		||||
new Text:txtSanFierro;
 | 
			
		||||
new Text:txtLasVenturas;
 | 
			
		||||
 | 
			
		||||
new thisanimid=0;
 | 
			
		||||
new lastanimid=0;
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
main()
 | 
			
		||||
{
 | 
			
		||||
        print("\n---------------------------------------");
 | 
			
		||||
        print("Running Grand Larceny - by the SA-MP team\n");
 | 
			
		||||
        print("---------------------------------------\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnPlayerConnect(playerid)
 | 
			
		||||
{
 | 
			
		||||
        GameTextForPlayer(playerid,"~w~Grand Larceny",3000,4);
 | 
			
		||||
          SendClientMessage(playerid,COLOR_WHITE,"Welcome to {88AA88}G{FFFFFF}rand {88AA88}L{FFFFFF}arceny");
 | 
			
		||||
          
 | 
			
		||||
          // class selection init vars
 | 
			
		||||
          gPlayerCitySelection[playerid] = -1;
 | 
			
		||||
        gPlayerHasCitySelected[playerid] = 0;
 | 
			
		||||
        gPlayerLastCitySelectionTick[playerid] = GetTickCount();
 | 
			
		||||
 | 
			
		||||
        //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
 | 
			
		||||
 | 
			
		||||
        //Kick(playerid);
 | 
			
		||||
        
 | 
			
		||||
        /*
 | 
			
		||||
        Removes vending machines
 | 
			
		||||
        RemoveBuildingForPlayer(playerid, 1302, 0.0, 0.0, 0.0, 6000.0);
 | 
			
		||||
        RemoveBuildingForPlayer(playerid, 1209, 0.0, 0.0, 0.0, 6000.0);
 | 
			
		||||
        RemoveBuildingForPlayer(playerid, 955, 0.0, 0.0, 0.0, 6000.0);
 | 
			
		||||
        RemoveBuildingForPlayer(playerid, 1775, 0.0, 0.0, 0.0, 6000.0);
 | 
			
		||||
        RemoveBuildingForPlayer(playerid, 1776, 0.0, 0.0, 0.0, 6000.0);
 | 
			
		||||
        */
 | 
			
		||||
        
 | 
			
		||||
        /*
 | 
			
		||||
        new ClientVersion[32];
 | 
			
		||||
        GetPlayerVersion(playerid, ClientVersion, 32);
 | 
			
		||||
        printf("Player %d reports client version: %s", playerid, ClientVersion);*/
 | 
			
		||||
 | 
			
		||||
         return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnPlayerSpawn(playerid)
 | 
			
		||||
{
 | 
			
		||||
        if(IsPlayerNPC(playerid)) return 1;
 | 
			
		||||
        
 | 
			
		||||
        new randSpawn = 0;
 | 
			
		||||
        
 | 
			
		||||
        SetPlayerInterior(playerid,0);
 | 
			
		||||
        TogglePlayerClock(playerid,0);
 | 
			
		||||
         ResetPlayerMoney(playerid);
 | 
			
		||||
        GivePlayerMoney(playerid, 30000);
 | 
			
		||||
 | 
			
		||||
        if(CITY_LOS_SANTOS == gPlayerCitySelection[playerid]) {
 | 
			
		||||
          randSpawn = random(sizeof(gRandomSpawns_LosSantos));
 | 
			
		||||
          SetPlayerPos(playerid,
 | 
			
		||||
                 gRandomSpawns_LosSantos[randSpawn][0],
 | 
			
		||||
                 gRandomSpawns_LosSantos[randSpawn][1],
 | 
			
		||||
                 gRandomSpawns_LosSantos[randSpawn][2]);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,gRandomSpawns_LosSantos[randSpawn][3]);
 | 
			
		||||
        }
 | 
			
		||||
        else if(CITY_SAN_FIERRO == gPlayerCitySelection[playerid]) {
 | 
			
		||||
          randSpawn = random(sizeof(gRandomSpawns_SanFierro));
 | 
			
		||||
          SetPlayerPos(playerid,
 | 
			
		||||
                 gRandomSpawns_SanFierro[randSpawn][0],
 | 
			
		||||
                 gRandomSpawns_SanFierro[randSpawn][1],
 | 
			
		||||
                 gRandomSpawns_SanFierro[randSpawn][2]);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,gRandomSpawns_SanFierro[randSpawn][3]);
 | 
			
		||||
        }
 | 
			
		||||
        else if(CITY_LAS_VENTURAS == gPlayerCitySelection[playerid]) {
 | 
			
		||||
          randSpawn = random(sizeof(gRandomSpawns_LasVenturas));
 | 
			
		||||
          SetPlayerPos(playerid,
 | 
			
		||||
                 gRandomSpawns_LasVenturas[randSpawn][0],
 | 
			
		||||
                 gRandomSpawns_LasVenturas[randSpawn][1],
 | 
			
		||||
                 gRandomSpawns_LasVenturas[randSpawn][2]);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //SetPlayerColor(playerid,COLOR_NORMAL_PLAYER);
 | 
			
		||||
        
 | 
			
		||||
        SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,200);
 | 
			
		||||
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,200);
 | 
			
		||||
    
 | 
			
		||||
    GivePlayerWeapon(playerid,WEAPON_COLT45,100);
 | 
			
		||||
        //GivePlayerWeapon(playerid,WEAPON_MP5,100);
 | 
			
		||||
        TogglePlayerClock(playerid, 0);
 | 
			
		||||
 | 
			
		||||
        return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnPlayerDeath(playerid, killerid, reason)
 | 
			
		||||
{
 | 
			
		||||
    new playercash;
 | 
			
		||||
    
 | 
			
		||||
    // if they ever return to class selection make them city
 | 
			
		||||
        // select again first
 | 
			
		||||
        gPlayerHasCitySelected[playerid] = 0;
 | 
			
		||||
    
 | 
			
		||||
        if(killerid == INVALID_PLAYER_ID) {
 | 
			
		||||
        ResetPlayerMoney(playerid);
 | 
			
		||||
        } else {
 | 
			
		||||
                playercash = GetPlayerMoney(playerid);
 | 
			
		||||
                if(playercash > 0) {
 | 
			
		||||
                        GivePlayerMoney(killerid, playercash);
 | 
			
		||||
                        ResetPlayerMoney(playerid);
 | 
			
		||||
                }
 | 
			
		||||
        }
 | 
			
		||||
           return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_SetupCharSelection(playerid)
 | 
			
		||||
{
 | 
			
		||||
           if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
 | 
			
		||||
                SetPlayerInterior(playerid,11);
 | 
			
		||||
                SetPlayerPos(playerid,508.7362,-87.4335,998.9609);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,0.0);
 | 
			
		||||
            SetPlayerCameraPos(playerid,508.7362,-83.4335,998.9609);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,508.7362,-87.4335,998.9609);
 | 
			
		||||
        }
 | 
			
		||||
        else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
 | 
			
		||||
                SetPlayerInterior(playerid,3);
 | 
			
		||||
                SetPlayerPos(playerid,-2673.8381,1399.7424,918.3516);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,181.0);
 | 
			
		||||
            SetPlayerCameraPos(playerid,-2673.2776,1394.3859,918.3516);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,-2673.8381,1399.7424,918.3516);
 | 
			
		||||
        }
 | 
			
		||||
        else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
 | 
			
		||||
                SetPlayerInterior(playerid,3);
 | 
			
		||||
                SetPlayerPos(playerid,349.0453,193.2271,1014.1797);
 | 
			
		||||
                SetPlayerFacingAngle(playerid,286.25);
 | 
			
		||||
            SetPlayerCameraPos(playerid,352.9164,194.5702,1014.1875);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,349.0453,193.2271,1014.1797);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
// Used to init textdraws of city names
 | 
			
		||||
 | 
			
		||||
ClassSel_InitCityNameText(Text:txtInit)
 | 
			
		||||
{
 | 
			
		||||
          TextDrawUseBox(txtInit, 0);
 | 
			
		||||
        TextDrawLetterSize(txtInit,1.25,3.0);
 | 
			
		||||
        TextDrawFont(txtInit, 0);
 | 
			
		||||
        TextDrawSetShadow(txtInit,0);
 | 
			
		||||
    TextDrawSetOutline(txtInit,1);
 | 
			
		||||
    TextDrawColor(txtInit,0xEEEEEEFF);
 | 
			
		||||
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_InitTextDraws()
 | 
			
		||||
{
 | 
			
		||||
    // Init our observer helper text display
 | 
			
		||||
        txtLosSantos = TextDrawCreate(10.0, 380.0, "Los Santos");
 | 
			
		||||
        ClassSel_InitCityNameText(txtLosSantos);
 | 
			
		||||
        txtSanFierro = TextDrawCreate(10.0, 380.0, "San Fierro");
 | 
			
		||||
        ClassSel_InitCityNameText(txtSanFierro);
 | 
			
		||||
        txtLasVenturas = TextDrawCreate(10.0, 380.0, "Las Venturas");
 | 
			
		||||
        ClassSel_InitCityNameText(txtLasVenturas);
 | 
			
		||||
 | 
			
		||||
    // Init our observer helper text display
 | 
			
		||||
        txtClassSelHelper = TextDrawCreate(10.0, 415.0,
 | 
			
		||||
         " Press ~b~~k~~GO_LEFT~ ~w~or ~b~~k~~GO_RIGHT~ ~w~to switch cities.~n~ Press ~r~~k~~PED_FIREWEAPON~ ~w~to select.");
 | 
			
		||||
        TextDrawUseBox(txtClassSelHelper, 1);
 | 
			
		||||
        TextDrawBoxColor(txtClassSelHelper,0x222222BB);
 | 
			
		||||
        TextDrawLetterSize(txtClassSelHelper,0.3,1.0);
 | 
			
		||||
        TextDrawTextSize(txtClassSelHelper,400.0,40.0);
 | 
			
		||||
        TextDrawFont(txtClassSelHelper, 2);
 | 
			
		||||
        TextDrawSetShadow(txtClassSelHelper,0);
 | 
			
		||||
    TextDrawSetOutline(txtClassSelHelper,1);
 | 
			
		||||
    TextDrawBackgroundColor(txtClassSelHelper,0x000000FF);
 | 
			
		||||
    TextDrawColor(txtClassSelHelper,0xFFFFFFFF);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_SetupSelectedCity(playerid)
 | 
			
		||||
{
 | 
			
		||||
        if(gPlayerCitySelection[playerid] == -1) {
 | 
			
		||||
                gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        if(gPlayerCitySelection[playerid] == CITY_LOS_SANTOS) {
 | 
			
		||||
                SetPlayerInterior(playerid,0);
 | 
			
		||||
                   SetPlayerCameraPos(playerid,1630.6136,-2286.0298,110.0);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,1887.6034,-1682.1442,47.6167);
 | 
			
		||||
                
 | 
			
		||||
                TextDrawShowForPlayer(playerid,txtLosSantos);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtSanFierro);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLasVenturas);
 | 
			
		||||
        }
 | 
			
		||||
        else if(gPlayerCitySelection[playerid] == CITY_SAN_FIERRO) {
 | 
			
		||||
                SetPlayerInterior(playerid,0);
 | 
			
		||||
                   SetPlayerCameraPos(playerid,-1300.8754,68.0546,129.4823);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,-1817.9412,769.3878,132.6589);
 | 
			
		||||
                
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLosSantos);
 | 
			
		||||
                TextDrawShowForPlayer(playerid,txtSanFierro);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLasVenturas);
 | 
			
		||||
        }
 | 
			
		||||
        else if(gPlayerCitySelection[playerid] == CITY_LAS_VENTURAS) {
 | 
			
		||||
                SetPlayerInterior(playerid,0);
 | 
			
		||||
                   SetPlayerCameraPos(playerid,1310.6155,1675.9182,110.7390);
 | 
			
		||||
                SetPlayerCameraLookAt(playerid,2285.2944,1919.3756,68.2275);
 | 
			
		||||
                
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLosSantos);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtSanFierro);
 | 
			
		||||
                TextDrawShowForPlayer(playerid,txtLasVenturas);
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_SwitchToNextCity(playerid)
 | 
			
		||||
{
 | 
			
		||||
    gPlayerCitySelection[playerid]++;
 | 
			
		||||
        if(gPlayerCitySelection[playerid] > CITY_LAS_VENTURAS) {
 | 
			
		||||
         gPlayerCitySelection[playerid] = CITY_LOS_SANTOS;
 | 
			
		||||
        }
 | 
			
		||||
        PlayerPlaySound(playerid,1052,0.0,0.0,0.0);
 | 
			
		||||
        gPlayerLastCitySelectionTick[playerid] = GetTickCount();
 | 
			
		||||
        ClassSel_SetupSelectedCity(playerid);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_SwitchToPreviousCity(playerid)
 | 
			
		||||
{
 | 
			
		||||
    gPlayerCitySelection[playerid]--;
 | 
			
		||||
        if(gPlayerCitySelection[playerid] < CITY_LOS_SANTOS) {
 | 
			
		||||
         gPlayerCitySelection[playerid] = CITY_LAS_VENTURAS;
 | 
			
		||||
        }
 | 
			
		||||
        PlayerPlaySound(playerid,1053,0.0,0.0,0.0);
 | 
			
		||||
        gPlayerLastCitySelectionTick[playerid] = GetTickCount();
 | 
			
		||||
        ClassSel_SetupSelectedCity(playerid);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
ClassSel_HandleCitySelection(playerid)
 | 
			
		||||
{
 | 
			
		||||
        new Keys,ud,lr;
 | 
			
		||||
    GetPlayerKeys(playerid,Keys,ud,lr);
 | 
			
		||||
    
 | 
			
		||||
    if(gPlayerCitySelection[playerid] == -1) {
 | 
			
		||||
                ClassSel_SwitchToNextCity(playerid);
 | 
			
		||||
                return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // only allow new selection every ~500 ms
 | 
			
		||||
        if( (GetTickCount() - gPlayerLastCitySelectionTick[playerid]) < 500 ) return;
 | 
			
		||||
        
 | 
			
		||||
        if(Keys & KEY_FIRE) {
 | 
			
		||||
         gPlayerHasCitySelected[playerid] = 1;
 | 
			
		||||
         TextDrawHideForPlayer(playerid,txtClassSelHelper);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLosSantos);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtSanFierro);
 | 
			
		||||
                TextDrawHideForPlayer(playerid,txtLasVenturas);
 | 
			
		||||
         TogglePlayerSpectating(playerid,0);
 | 
			
		||||
         return;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        if(lr > 0) {
 | 
			
		||||
         ClassSel_SwitchToNextCity(playerid);
 | 
			
		||||
        }
 | 
			
		||||
        else if(lr < 0) {
 | 
			
		||||
         ClassSel_SwitchToPreviousCity(playerid);
 | 
			
		||||
        }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnPlayerRequestClass(playerid, classid)
 | 
			
		||||
{
 | 
			
		||||
        if(IsPlayerNPC(playerid)) return 1;
 | 
			
		||||
 | 
			
		||||
        if(gPlayerHasCitySelected[playerid]) {
 | 
			
		||||
                ClassSel_SetupCharSelection(playerid);
 | 
			
		||||
                return 1;
 | 
			
		||||
        } else {
 | 
			
		||||
                if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING) {
 | 
			
		||||
                        TogglePlayerSpectating(playerid,1);
 | 
			
		||||
                    TextDrawShowForPlayer(playerid, txtClassSelHelper);
 | 
			
		||||
                    gPlayerCitySelection[playerid] = -1;
 | 
			
		||||
                }
 | 
			
		||||
          }
 | 
			
		||||
    
 | 
			
		||||
        return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnGameModeInit()
 | 
			
		||||
{
 | 
			
		||||
        SetGameModeText("Grand Larceny");
 | 
			
		||||
        ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);
 | 
			
		||||
        ShowNameTags(1);
 | 
			
		||||
        SetNameTagDrawDistance(40.0);
 | 
			
		||||
        EnableStuntBonusForAll(0);
 | 
			
		||||
        DisableInteriorEnterExits();
 | 
			
		||||
        SetWeather(2);
 | 
			
		||||
        SetWorldTime(11);
 | 
			
		||||
 | 
			
		||||
        //UsePlayerPedAnims();
 | 
			
		||||
        //ManualVehicleEngineAndLights();
 | 
			
		||||
        //LimitGlobalChatRadius(300.0);
 | 
			
		||||
        
 | 
			
		||||
        ClassSel_InitTextDraws();
 | 
			
		||||
 | 
			
		||||
        // Player Class
 | 
			
		||||
        AddPlayerClass(281,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(282,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(283,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(284,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(285,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(286,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(287,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(288,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(265,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(266,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(267,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(268,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(269,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(270,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(1,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(2,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(3,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(4,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(5,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(6,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(8,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(42,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(65,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        //AddPlayerClass(74,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(86,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(119,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
         AddPlayerClass(149,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(208,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(273,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(289,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        
 | 
			
		||||
        AddPlayerClass(47,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(48,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(49,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(50,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(51,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(52,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(53,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(54,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(55,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(56,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(57,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(58,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
           AddPlayerClass(68,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(69,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(70,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(71,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(72,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(73,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(75,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(76,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(78,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(79,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(80,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(81,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(82,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(83,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(84,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(85,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(87,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(88,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(89,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(91,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(92,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(93,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(95,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(96,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(97,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(98,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
        AddPlayerClass(99,1759.0189,-1898.1260,13.5622,266.4503,-1,-1,-1,-1,-1,-1);
 | 
			
		||||
 | 
			
		||||
        // SPECIAL
 | 
			
		||||
        total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/trains.txt");
 | 
			
		||||
        total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/pilots.txt");
 | 
			
		||||
 | 
			
		||||
           // LAS VENTURAS
 | 
			
		||||
     total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_law.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_airport.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/lv_gen.txt");
 | 
			
		||||
    
 | 
			
		||||
    // SAN FIERRO
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_law.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_gen.txt");
 | 
			
		||||
    
 | 
			
		||||
    // LOS SANTOS
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_airport.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_inner.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_gen_outer.txt");
 | 
			
		||||
    
 | 
			
		||||
    // OTHER AREAS
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/whetstone.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/bone.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/flint.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/tierra.txt");
 | 
			
		||||
    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/red_county.txt");
 | 
			
		||||
 | 
			
		||||
    printf("Total vehicles from files: %d",total_vehicles_from_files);
 | 
			
		||||
 | 
			
		||||
        return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
public OnPlayerUpdate(playerid)
 | 
			
		||||
{
 | 
			
		||||
        if(!IsPlayerConnected(playerid)) return 0;
 | 
			
		||||
        if(IsPlayerNPC(playerid)) return 1;
 | 
			
		||||
 | 
			
		||||
        // changing cities by inputs
 | 
			
		||||
        if( !gPlayerHasCitySelected[playerid] &&
 | 
			
		||||
         GetPlayerState(playerid) == PLAYER_STATE_SPECTATING ) {
 | 
			
		||||
         ClassSel_HandleCitySelection(playerid);
 | 
			
		||||
         return 1;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        // No weapons in interiors
 | 
			
		||||
        if(GetPlayerInterior(playerid) != 0 && GetPlayerWeapon(playerid) != 0) {
 | 
			
		||||
         SetPlayerArmedWeapon(playerid,0); // fists
 | 
			
		||||
         return 0; // no syncing until they change their weapon
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        // Don't allow minigun
 | 
			
		||||
        if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN) {
 | 
			
		||||
         Kick(playerid);
 | 
			
		||||
         return 0;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /* No jetpacks allowed
 | 
			
		||||
        if(GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_USEJETPACK) {
 | 
			
		||||
         Kick(playerid);
 | 
			
		||||
         return 0;
 | 
			
		||||
        }*/
 | 
			
		||||
 | 
			
		||||
        /* For testing animations
 | 
			
		||||
    new msg[128+1];
 | 
			
		||||
        new animlib[32+1];
 | 
			
		||||
        new animname[32+1];
 | 
			
		||||
 | 
			
		||||
        thisanimid = GetPlayerAnimationIndex(playerid);
 | 
			
		||||
        if(lastanimid != thisanimid)
 | 
			
		||||
        {
 | 
			
		||||
                GetAnimationName(thisanimid,animlib,32,animname,32);
 | 
			
		||||
                format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname);
 | 
			
		||||
                lastanimid = thisanimid;
 | 
			
		||||
                SendClientMessage(playerid, 0xFFFFFFFF, msg);
 | 
			
		||||
        }*/
 | 
			
		||||
 | 
			
		||||
        return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------
 | 
			
		||||
							
								
								
									
										36
									
								
								samples/PAWN/timertest.pwn
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								samples/PAWN/timertest.pwn
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
#include <a_samp>
 | 
			
		||||
 | 
			
		||||
forward OneSecTimer();
 | 
			
		||||
 | 
			
		||||
new lasttick = 0;
 | 
			
		||||
 | 
			
		||||
main()
 | 
			
		||||
{
 | 
			
		||||
	print("\n----------------------------------");
 | 
			
		||||
	print("  This is a blank GameModeScript");
 | 
			
		||||
	print("----------------------------------\n");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
public OnGameModeInit()
 | 
			
		||||
{
 | 
			
		||||
	// Set timer of 1 second.
 | 
			
		||||
	SetTimer("OneSecTimer", 1000, 1);
 | 
			
		||||
	print("GameModeInit()");
 | 
			
		||||
	SetGameModeText("Timer Test");
 | 
			
		||||
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
public OneSecTimer() {
 | 
			
		||||
 | 
			
		||||
	if(lasttick == 0) {
 | 
			
		||||
     	lasttick = GetTickCount();
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	new sText[256];
 | 
			
		||||
	format(sText,sizeof(sText),"GetTickCountOffset = %d",GetTickCount() - lasttick);
 | 
			
		||||
	print(sText);
 | 
			
		||||
	SendClientMessageToAll(0xFF0000, sText);
 | 
			
		||||
	lasttick = GetTickCount();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										161
									
								
								samples/Shell/filenames/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								samples/Shell/filenames/gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,161 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
##############################################################################
 | 
			
		||||
##
 | 
			
		||||
##  Gradle start up script for UN*X
 | 
			
		||||
##
 | 
			
		||||
##############################################################################
 | 
			
		||||
 | 
			
		||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
 | 
			
		||||
DEFAULT_JVM_OPTS=""
 | 
			
		||||
 | 
			
		||||
APP_NAME="Gradle"
 | 
			
		||||
APP_BASE_NAME=`basename "$0"`
 | 
			
		||||
 | 
			
		||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
 | 
			
		||||
MAX_FD="maximum"
 | 
			
		||||
 | 
			
		||||
warn ( ) {
 | 
			
		||||
    echo "$*"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
die ( ) {
 | 
			
		||||
    echo
 | 
			
		||||
    echo "$*"
 | 
			
		||||
    echo
 | 
			
		||||
    exit 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# OS specific support (must be 'true' or 'false').
 | 
			
		||||
cygwin=false
 | 
			
		||||
msys=false
 | 
			
		||||
darwin=false
 | 
			
		||||
case "`uname`" in
 | 
			
		||||
  CYGWIN* )
 | 
			
		||||
    cygwin=true
 | 
			
		||||
    ;;
 | 
			
		||||
  Darwin* )
 | 
			
		||||
    darwin=true
 | 
			
		||||
    ;;
 | 
			
		||||
  MINGW* )
 | 
			
		||||
    msys=true
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Attempt to set APP_HOME
 | 
			
		||||
# Resolve links: $0 may be a link
 | 
			
		||||
PRG="$0"
 | 
			
		||||
# Need this for relative symlinks.
 | 
			
		||||
while [ -h "$PRG" ] ; do
 | 
			
		||||
    ls=`ls -ld "$PRG"`
 | 
			
		||||
    link=`expr "$ls" : '.*-> \(.*\)$'`
 | 
			
		||||
    if expr "$link" : '/.*' > /dev/null; then
 | 
			
		||||
        PRG="$link"
 | 
			
		||||
    else
 | 
			
		||||
        PRG=`dirname "$PRG"`"/$link"
 | 
			
		||||
    fi
 | 
			
		||||
done
 | 
			
		||||
SAVED="`pwd`"
 | 
			
		||||
cd "`dirname \"$PRG\"`/" >/dev/null
 | 
			
		||||
APP_HOME="`pwd -P`"
 | 
			
		||||
cd "$SAVED" >/dev/null
 | 
			
		||||
 | 
			
		||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
 | 
			
		||||
 | 
			
		||||
# Determine the Java command to use to start the JVM.
 | 
			
		||||
if [ -n "$JAVA_HOME" ] ; then
 | 
			
		||||
    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
 | 
			
		||||
        # IBM's JDK on AIX uses strange locations for the executables
 | 
			
		||||
        JAVACMD="$JAVA_HOME/jre/sh/java"
 | 
			
		||||
    else
 | 
			
		||||
        JAVACMD="$JAVA_HOME/bin/java"
 | 
			
		||||
    fi
 | 
			
		||||
    if [ ! -x "$JAVACMD" ] ; then
 | 
			
		||||
        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
    fi
 | 
			
		||||
else
 | 
			
		||||
    JAVACMD="java"
 | 
			
		||||
    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
 | 
			
		||||
 | 
			
		||||
Please set the JAVA_HOME variable in your environment to match the
 | 
			
		||||
location of your Java installation."
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Increase the maximum file descriptors if we can.
 | 
			
		||||
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
 | 
			
		||||
    MAX_FD_LIMIT=`ulimit -H -n`
 | 
			
		||||
    if [ $? -eq 0 ] ; then
 | 
			
		||||
        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
 | 
			
		||||
            MAX_FD="$MAX_FD_LIMIT"
 | 
			
		||||
        fi
 | 
			
		||||
        ulimit -n $MAX_FD
 | 
			
		||||
        if [ $? -ne 0 ] ; then
 | 
			
		||||
            warn "Could not set maximum file descriptor limit: $MAX_FD"
 | 
			
		||||
        fi
 | 
			
		||||
    else
 | 
			
		||||
        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
 | 
			
		||||
    fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# For Darwin, add options to specify how the application appears in the dock
 | 
			
		||||
if $darwin; then
 | 
			
		||||
    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# For Cygwin, switch paths to Windows format before running java
 | 
			
		||||
if $cygwin ; then
 | 
			
		||||
    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
 | 
			
		||||
    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
 | 
			
		||||
    JAVACMD=`cygpath --unix "$JAVACMD"`
 | 
			
		||||
 | 
			
		||||
    # We build the pattern for arguments to be converted via cygpath
 | 
			
		||||
    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
 | 
			
		||||
    SEP=""
 | 
			
		||||
    for dir in $ROOTDIRSRAW ; do
 | 
			
		||||
        ROOTDIRS="$ROOTDIRS$SEP$dir"
 | 
			
		||||
        SEP="|"
 | 
			
		||||
    done
 | 
			
		||||
    OURCYGPATTERN="(^($ROOTDIRS))"
 | 
			
		||||
    # Add a user-defined pattern to the cygpath arguments
 | 
			
		||||
    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
 | 
			
		||||
        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
 | 
			
		||||
    fi
 | 
			
		||||
    # Now convert the arguments - kludge to limit ourselves to /bin/sh
 | 
			
		||||
    i=0
 | 
			
		||||
    for arg in "$@" ; do
 | 
			
		||||
        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
 | 
			
		||||
        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
 | 
			
		||||
 | 
			
		||||
        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
 | 
			
		||||
            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
 | 
			
		||||
        else
 | 
			
		||||
            eval `echo args$i`="\"$arg\""
 | 
			
		||||
        fi
 | 
			
		||||
        i=$((i+1))
 | 
			
		||||
    done
 | 
			
		||||
    case $i in
 | 
			
		||||
        (0) set -- ;;
 | 
			
		||||
        (1) set -- "$args0" ;;
 | 
			
		||||
        (2) set -- "$args0" "$args1" ;;
 | 
			
		||||
        (3) set -- "$args0" "$args1" "$args2" ;;
 | 
			
		||||
        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
 | 
			
		||||
        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
 | 
			
		||||
        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
 | 
			
		||||
        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
 | 
			
		||||
        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
 | 
			
		||||
        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
 | 
			
		||||
    esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
 | 
			
		||||
function splitJvmOpts() {
 | 
			
		||||
    JVM_OPTS=("$@")
 | 
			
		||||
}
 | 
			
		||||
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
 | 
			
		||||
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
 | 
			
		||||
 | 
			
		||||
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								samples/TLA/AsyncInterface.tla
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								samples/TLA/AsyncInterface.tla
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
--------------------------- MODULE AsyncInterface ---------------------------
 | 
			
		||||
EXTENDS Naturals
 | 
			
		||||
 | 
			
		||||
CONSTANT Data
 | 
			
		||||
VARIABLE chan
 | 
			
		||||
 | 
			
		||||
Values == <<"foo", "bar", "baz">>
 | 
			
		||||
 | 
			
		||||
TypeInvariant == chan \in [val: Data, rdy: {0,1}, ack: {0,1}]
 | 
			
		||||
                 
 | 
			
		||||
Init == /\ TypeInvariant
 | 
			
		||||
        /\ chan.ack = chan.rdy
 | 
			
		||||
        
 | 
			
		||||
Send(d) == /\ chan.rdy = chan.ack
 | 
			
		||||
           /\ chan' = [chan EXCEPT !.val = d, !.rdy = 1 - @]
 | 
			
		||||
        
 | 
			
		||||
Rcv == /\ chan.rdy # chan.ack
 | 
			
		||||
       /\ chan' = [chan EXCEPT !.ack = 1 - @]
 | 
			
		||||
       
 | 
			
		||||
Next == (\E d \in Data : Send(d)) \/ Rcv
 | 
			
		||||
 | 
			
		||||
Spec == Init /\ [][Next]_chan
 | 
			
		||||
 | 
			
		||||
THEOREM Spec => []TypeInvariant
 | 
			
		||||
 | 
			
		||||
=============================================================================
 | 
			
		||||
							
								
								
									
										47
									
								
								samples/TLA/fifo.tla
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								samples/TLA/fifo.tla
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
-------------------------------- MODULE fifo --------------------------------
 | 
			
		||||
EXTENDS Naturals, Sequences
 | 
			
		||||
CONSTANT Message
 | 
			
		||||
VARIABLES in, out, q
 | 
			
		||||
 | 
			
		||||
InChan == INSTANCE AsyncInterface WITH Data <- Message, chan <- in
 | 
			
		||||
OutChan == INSTANCE AsyncInterface WITH Data <- Message, chan <- out
 | 
			
		||||
 | 
			
		||||
-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Init == /\ InChan!Init
 | 
			
		||||
        /\ OutChan!Init
 | 
			
		||||
        /\ q = <<>>
 | 
			
		||||
        
 | 
			
		||||
TypeInvariant == /\ InChan!TypeInvariant
 | 
			
		||||
                 /\ OutChan!TypeInvariant
 | 
			
		||||
                 /\ q \in Seq(Message)
 | 
			
		||||
                 /\ Len(q) <= 10
 | 
			
		||||
 | 
			
		||||
SSend(msg) == /\ InChan!Send(msg) \* Send msg on channel in
 | 
			
		||||
              /\ UNCHANGED <<out, q>>
 | 
			
		||||
              
 | 
			
		||||
BufRcv == /\ InChan!Rcv
 | 
			
		||||
          /\ Len(q) < 10
 | 
			
		||||
          /\ q' = Append(q, in.val)
 | 
			
		||||
          /\ UNCHANGED out
 | 
			
		||||
 | 
			
		||||
BufSend == /\ q # <<>>
 | 
			
		||||
           /\ OutChan!Send(Head(q))
 | 
			
		||||
           /\ q' = Tail(q)
 | 
			
		||||
           /\ UNCHANGED in
 | 
			
		||||
           
 | 
			
		||||
RRcv == /\ OutChan!Rcv
 | 
			
		||||
        /\ UNCHANGED <<in, q>>
 | 
			
		||||
        
 | 
			
		||||
Next == \/ \E msg \in Message : SSend(msg)
 | 
			
		||||
        \/ BufRcv
 | 
			
		||||
        \/ BufSend
 | 
			
		||||
        \/ RRcv
 | 
			
		||||
        
 | 
			
		||||
Spec == Init /\ [][Next]_<<in, out, q>>
 | 
			
		||||
 | 
			
		||||
-----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
THEOREM Spec => []TypeInvariant
 | 
			
		||||
 | 
			
		||||
=============================================================================
 | 
			
		||||
							
								
								
									
										9
									
								
								samples/TeX/beispiel.toc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								samples/TeX/beispiel.toc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
\beamer@endinputifotherversion {3.07pt}
 | 
			
		||||
\select@language {german}
 | 
			
		||||
\beamer@sectionintoc {1}{Geschichte}{3}{0}{1}
 | 
			
		||||
\beamer@sectionintoc {2}{Merkmale}{4}{0}{2}
 | 
			
		||||
\beamer@sectionintoc {3}{Kritikpunkte}{5}{0}{3}
 | 
			
		||||
\beamer@sectionintoc {4}{Perl-Kultur und Spa{\ss}}{6}{0}{4}
 | 
			
		||||
\beamer@sectionintoc {5}{Siehe auch}{7}{0}{5}
 | 
			
		||||
\beamer@sectionintoc {6}{Einzelnachweise}{8}{0}{6}
 | 
			
		||||
\beamer@sectionintoc {7}{Bedingte Ausf\"{u}hrung}{12}{0}{7}
 | 
			
		||||
							
								
								
									
										19
									
								
								samples/TeX/perl.toc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								samples/TeX/perl.toc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
\contentsline {section}{\numberline {1}History}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.1}Early versions}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.2}Early Perl 5}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.3}2000-present}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.4}Name}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.5}Camel symbol}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {1.6}Onion symbol}{3}
 | 
			
		||||
\contentsline {section}{\numberline {2}Overview}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {2.1}Features}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {2.2}Design}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {2.3}Applications}{3}
 | 
			
		||||
\contentsline {subsection}{\numberline {2.4}Implementation}{3}
 | 
			
		||||
\contentsline {section}{\numberline {3}Database interfaces}{3}
 | 
			
		||||
\contentsline {section}{\numberline {4}Distribution}{4}
 | 
			
		||||
\contentsline {subsection}{\numberline {4.1}Availability}{4}
 | 
			
		||||
\contentsline {subsubsection}{\numberline {4.3.1}Windows}{5}
 | 
			
		||||
\contentsline {subsubsection}{\numberline {4.3.2}Mac OS X}{6}
 | 
			
		||||
\contentsline {subsubsection}{\numberline {4.3.3}OpenBSD}{6}
 | 
			
		||||
\contentsline {subsubsection}{\numberline {4.3.4}FreeBSD}{6}
 | 
			
		||||
							
								
								
									
										114
									
								
								samples/Terra/arith.t
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								samples/Terra/arith.t
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,114 @@
 | 
			
		||||
--[[
 | 
			
		||||
 | 
			
		||||
-
 | 
			
		||||
+
 | 
			
		||||
 | 
			
		||||
*
 | 
			
		||||
/
 | 
			
		||||
%
 | 
			
		||||
 | 
			
		||||
^
 | 
			
		||||
and
 | 
			
		||||
or
 | 
			
		||||
~= == < > >= <=
 | 
			
		||||
<< >>
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
terra test0()
 | 
			
		||||
    var a = 1 + 3
 | 
			
		||||
    var b = 1LL + 2LL
 | 
			
		||||
    var c = 1ULL + 2ULL
 | 
			
		||||
    var d = 1.f + 2.f
 | 
			
		||||
    var e = 1.0 + 2.0
 | 
			
		||||
    return a + b + c + d + e
 | 
			
		||||
end
 | 
			
		||||
terra test1()
 | 
			
		||||
    var a = 1 - 3
 | 
			
		||||
    var b = 1LL - 2LL
 | 
			
		||||
    var c = 1ULL - 2ULL
 | 
			
		||||
    var d = 1.f - 2.f
 | 
			
		||||
    var e = 1.0 - 2.0
 | 
			
		||||
    return a - b - c - d - e
 | 
			
		||||
end
 | 
			
		||||
terra test2()
 | 
			
		||||
    var a = 2 * 3
 | 
			
		||||
    var b = 3LL * 2LL
 | 
			
		||||
    var c = 3ULL * 2ULL
 | 
			
		||||
    var d = 1.f * 2.f
 | 
			
		||||
    var e = 3.0 * 2.0
 | 
			
		||||
    return a * b * c * d * e
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test3()
 | 
			
		||||
    var a = 2 / 3 + 1
 | 
			
		||||
    var b = 3LL / 2LL + 1
 | 
			
		||||
    var c = 3ULL / 2ULL
 | 
			
		||||
    var d = 1.f / 2.f
 | 
			
		||||
    var e = 3.0 / 2.0
 | 
			
		||||
    return a * b * c * d * e
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test4()
 | 
			
		||||
    var a = 2 % 3
 | 
			
		||||
    var b = 3LL % 4LL
 | 
			
		||||
    var c = 3ULL % 2ULL
 | 
			
		||||
    var d = 1.f % 2.f
 | 
			
		||||
    var e = 3.75 % 2.0
 | 
			
		||||
    return (a == 2) and (b == 3LL) and (d == 1.f) and (e == 1.75)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test5()
 | 
			
		||||
    var a = 2 ^ 3
 | 
			
		||||
    var b = 3LL ^ 4LL
 | 
			
		||||
    var c = 3ULL ^ 2ULL
 | 
			
		||||
    return (a == 1) and (b == 7LL) and (c == 1ULL)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test6()
 | 
			
		||||
    var a = 2 and 3
 | 
			
		||||
    var b = 3LL and 4LL
 | 
			
		||||
    var c = 3ULL and 2ULL
 | 
			
		||||
    return (a == 2) and (b == 0LL) and (c == 2ULL)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test7()
 | 
			
		||||
    var a = 2 or 3
 | 
			
		||||
    var b = 3LL or 4LL
 | 
			
		||||
    var c = 3ULL or 2ULL
 | 
			
		||||
    return (a == 3) and (b == 7LL) and (c == 3ULL)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
terra test8()
 | 
			
		||||
    var a0,a1 = 2 ~= 3, 2 == 3
 | 
			
		||||
    var b0,b1 = 2 < 3, 2 >= 3
 | 
			
		||||
    var c0,c1 = 2 > 3, 2 <= 3
 | 
			
		||||
    
 | 
			
		||||
    return a0 and not a1 and b0 and not b1 and not c0 and c1
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra test9()
 | 
			
		||||
    var a0, a1 = 8 >> 1, 8 << 1
 | 
			
		||||
    var b0, b1 = -8 >> 1, -8 << 1
 | 
			
		||||
    return a0 == 4 and a1 == 16 and b0 == -4 and b1 == -16
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
local test = require("test")
 | 
			
		||||
 | 
			
		||||
test.eq(test0(),16)
 | 
			
		||||
test.eq(test1(),2)
 | 
			
		||||
test.eq(test2(),2592)
 | 
			
		||||
test.eq(test3(),1.5)
 | 
			
		||||
 | 
			
		||||
test.eq(test4(),true)
 | 
			
		||||
 | 
			
		||||
test.eq(test5(),true)
 | 
			
		||||
test.eq(test6(),true)
 | 
			
		||||
test.eq(test7(),true)
 | 
			
		||||
test.eq(test8(),true)
 | 
			
		||||
test.eq(test9(),true)
 | 
			
		||||
							
								
								
									
										75
									
								
								samples/Terra/arrayt.t
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								samples/Terra/arrayt.t
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
C = terralib.includecstring [[
 | 
			
		||||
	#include <stdio.h>
 | 
			
		||||
	#include <stdlib.h>
 | 
			
		||||
]]
 | 
			
		||||
local arraytypes = {}
 | 
			
		||||
function Array(T)
 | 
			
		||||
	local struct ArrayImpl {
 | 
			
		||||
		data : &T;
 | 
			
		||||
		N : int;
 | 
			
		||||
	}
 | 
			
		||||
	function ArrayImpl.metamethods.__typename(self)
 | 
			
		||||
	    return "Array("..tostring(T)..")"
 | 
			
		||||
	end
 | 
			
		||||
	arraytypes[ArrayImpl] = true
 | 
			
		||||
	terra ArrayImpl:init(N : int)
 | 
			
		||||
		self.data = [&T](C.malloc(N*sizeof(T)))
 | 
			
		||||
		self.N = N
 | 
			
		||||
	end
 | 
			
		||||
	terra ArrayImpl:free()
 | 
			
		||||
		C.free(self.data)
 | 
			
		||||
	end
 | 
			
		||||
	ArrayImpl.metamethods.__apply = macro(function(self,idx)
 | 
			
		||||
		return `self.data[idx]
 | 
			
		||||
	end)
 | 
			
		||||
	ArrayImpl.metamethods.__methodmissing = macro(function(methodname,selfexp,...)
 | 
			
		||||
		local args = terralib.newlist {...}
 | 
			
		||||
		local i = symbol(int)
 | 
			
		||||
		local promotedargs = args:map(function(a)
 | 
			
		||||
			if arraytypes[a:gettype()] then
 | 
			
		||||
				return `a(i)
 | 
			
		||||
			else
 | 
			
		||||
				return a
 | 
			
		||||
			end
 | 
			
		||||
		end)
 | 
			
		||||
		return quote
 | 
			
		||||
			var self = selfexp
 | 
			
		||||
			var r : ArrayImpl
 | 
			
		||||
			r:init(self.N)
 | 
			
		||||
			for [i] = 0,r.N do
 | 
			
		||||
				r.data[i] = self.data[i]:[methodname](promotedargs)
 | 
			
		||||
			end
 | 
			
		||||
		in
 | 
			
		||||
			r
 | 
			
		||||
		end
 | 
			
		||||
	end)
 | 
			
		||||
	return ArrayImpl
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
struct Complex {
 | 
			
		||||
	real : float;
 | 
			
		||||
	imag : float;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
terra Complex:add(c : Complex) 
 | 
			
		||||
	return Complex { self.real + c.real, self.imag + c.imag }
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
ComplexArray = Array(Complex)
 | 
			
		||||
N = 10
 | 
			
		||||
terra testit()
 | 
			
		||||
	var ca : ComplexArray
 | 
			
		||||
	ca:init(N)
 | 
			
		||||
	for i = 0,N do
 | 
			
		||||
		ca(i) = Complex { i, i + 1 }
 | 
			
		||||
	end
 | 
			
		||||
	var ra = ca:add(ca)
 | 
			
		||||
	return ra
 | 
			
		||||
end
 | 
			
		||||
local r = testit()
 | 
			
		||||
assert(r.N == N)
 | 
			
		||||
for i = 0,N-1 do
 | 
			
		||||
	assert(r.data[i].real == 2*i)
 | 
			
		||||
	assert(r.data[i].imag == 2*(i+1))
 | 
			
		||||
end
 | 
			
		||||
assert(tostring(Array(int)) == "Array(int32)")
 | 
			
		||||
							
								
								
									
										150
									
								
								samples/Terra/benchmark_nbody.t
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								samples/Terra/benchmark_nbody.t
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,150 @@
 | 
			
		||||
local C = terralib.includecstring[[
 | 
			
		||||
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
]]
 | 
			
		||||
 | 
			
		||||
pi = 3.141592653589793
 | 
			
		||||
solar_mass = (4 * pi * pi)
 | 
			
		||||
days_per_year = 365.24
 | 
			
		||||
 | 
			
		||||
struct planet {
 | 
			
		||||
  x : double;
 | 
			
		||||
  y : double;
 | 
			
		||||
  z : double;
 | 
			
		||||
  vx : double;
 | 
			
		||||
  vy : double;
 | 
			
		||||
  vz : double;
 | 
			
		||||
  mass : double;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
terra advance(nbodies : int, bodies : &planet, dt : double)
 | 
			
		||||
  
 | 
			
		||||
  for i = 0, nbodies do
 | 
			
		||||
    var b = &bodies[i]
 | 
			
		||||
    for j = i + 1, nbodies do
 | 
			
		||||
      var b2 = &bodies[j]
 | 
			
		||||
      
 | 
			
		||||
      var dx = b.x - b2.x;
 | 
			
		||||
      var dy = b.y - b2.y;
 | 
			
		||||
      var dz = b.z - b2.z;
 | 
			
		||||
      var distance = C.sqrt(dx * dx + dy * dy + dz * dz);
 | 
			
		||||
      var mag = dt / (distance * distance * distance);
 | 
			
		||||
      --C.printf("%f %f %f %f %f\n",dx,dy,dz,distance,mag);
 | 
			
		||||
      b.vx = b.vx - dx * b2.mass * mag;
 | 
			
		||||
      b.vy = b.vy - dy * b2.mass * mag;
 | 
			
		||||
      b.vz = b.vz - dz * b2.mass * mag;
 | 
			
		||||
      b2.vx = b2.vx + dx * b.mass * mag;
 | 
			
		||||
      b2.vy = b2.vy + dy * b.mass * mag;
 | 
			
		||||
      b2.vz = b2.vz + dz * b.mass * mag;
 | 
			
		||||
      --C.printf("%f %f %f %f %f %f\n",b.vx,b.vy,b.vz,b2.vx,b2.vy,b2.vz)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
  for i = 0,nbodies do
 | 
			
		||||
    var b = &bodies[i]
 | 
			
		||||
    b.x = b.x + dt * b.vx;
 | 
			
		||||
    b.y = b.y + dt * b.vy;
 | 
			
		||||
    b.z = b.z + dt * b.vz;
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra energy(nbodies : int, bodies : &planet)
 | 
			
		||||
  var e = 0.0
 | 
			
		||||
  for i = 0, nbodies do
 | 
			
		||||
    var b = &bodies[i]
 | 
			
		||||
    e = e + 0.5 * b.mass * (b.vx * b.vx + b.vy * b.vy + b.vz * b.vz);
 | 
			
		||||
    for j = i + 1, nbodies do
 | 
			
		||||
      var b2 = &bodies[j]
 | 
			
		||||
      var dx = b.x - b2.x
 | 
			
		||||
      var dy = b.y - b2.y
 | 
			
		||||
      var dz = b.z - b2.z
 | 
			
		||||
      var distance = C.sqrt(dx * dx + dy * dy + dz * dz)
 | 
			
		||||
      e = e - (b.mass * b2.mass) / distance
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
  return e
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra offset_momentum(nbodies : int, bodies : &planet)
 | 
			
		||||
  var px,py,pz = 0.0,0.0,0.0
 | 
			
		||||
  
 | 
			
		||||
  for i = 0,nbodies do
 | 
			
		||||
    px = px + bodies[i].vx * bodies[i].mass
 | 
			
		||||
    py = py + bodies[i].vy * bodies[i].mass
 | 
			
		||||
    pz = pz + bodies[i].vz * bodies[i].mass
 | 
			
		||||
  end
 | 
			
		||||
  bodies[0].vx = - px / solar_mass
 | 
			
		||||
  bodies[0].vy = - py / solar_mass
 | 
			
		||||
  bodies[0].vz = - pz / solar_mass
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
NBODIES = 5
 | 
			
		||||
 | 
			
		||||
terra main(argc : int, argv : &&int8)
 | 
			
		||||
    var bodies = array(
 | 
			
		||||
      planet {                               -- sun */
 | 
			
		||||
        0, 0, 0, 0, 0, 0, solar_mass
 | 
			
		||||
      },
 | 
			
		||||
      planet {                               -- jupiter */
 | 
			
		||||
        4.84143144246472090e+00,
 | 
			
		||||
        -1.16032004402742839e+00,
 | 
			
		||||
        -1.03622044471123109e-01,
 | 
			
		||||
        1.66007664274403694e-03 * days_per_year,
 | 
			
		||||
        7.69901118419740425e-03 * days_per_year,
 | 
			
		||||
        -6.90460016972063023e-05 * days_per_year,
 | 
			
		||||
        9.54791938424326609e-04 * solar_mass
 | 
			
		||||
      },
 | 
			
		||||
      planet {                               -- saturn */
 | 
			
		||||
        8.34336671824457987e+00,
 | 
			
		||||
        4.12479856412430479e+00,
 | 
			
		||||
        -4.03523417114321381e-01,
 | 
			
		||||
        -2.76742510726862411e-03 * days_per_year,
 | 
			
		||||
        4.99852801234917238e-03 * days_per_year,
 | 
			
		||||
        2.30417297573763929e-05 * days_per_year,
 | 
			
		||||
        2.85885980666130812e-04 * solar_mass
 | 
			
		||||
      },
 | 
			
		||||
      planet {                               -- uranus */
 | 
			
		||||
        1.28943695621391310e+01,
 | 
			
		||||
        -1.51111514016986312e+01,
 | 
			
		||||
        -2.23307578892655734e-01,
 | 
			
		||||
        2.96460137564761618e-03 * days_per_year,
 | 
			
		||||
        2.37847173959480950e-03 * days_per_year,
 | 
			
		||||
        -2.96589568540237556e-05 * days_per_year,
 | 
			
		||||
        4.36624404335156298e-05 * solar_mass
 | 
			
		||||
      },
 | 
			
		||||
      planet {                               -- neptune */
 | 
			
		||||
        1.53796971148509165e+01,
 | 
			
		||||
        -2.59193146099879641e+01,
 | 
			
		||||
        1.79258772950371181e-01,
 | 
			
		||||
        2.68067772490389322e-03 * days_per_year,
 | 
			
		||||
        1.62824170038242295e-03 * days_per_year,
 | 
			
		||||
        -9.51592254519715870e-05 * days_per_year,
 | 
			
		||||
        5.15138902046611451e-05 * solar_mass
 | 
			
		||||
      }
 | 
			
		||||
    )
 | 
			
		||||
    var n = C.atoi(argv[1])    
 | 
			
		||||
    offset_momentum(NBODIES, bodies)
 | 
			
		||||
    C.printf ("%.9f\n", energy(NBODIES, bodies))
 | 
			
		||||
    for i = 0,n do
 | 
			
		||||
        advance(NBODIES, bodies, 0.01)
 | 
			
		||||
    end
 | 
			
		||||
    C.printf ("%.9f\n", energy(NBODIES, bodies));
 | 
			
		||||
  return 0
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
terra run()
 | 
			
		||||
    main(2,array("what","1000000"))
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
--run:compile()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
--local test = require("test")
 | 
			
		||||
 | 
			
		||||
--print(test.time(run))
 | 
			
		||||
 | 
			
		||||
terralib.saveobj("benchmark_nbody",{ main = main } )
 | 
			
		||||
energy:disas()
 | 
			
		||||
energy:printpretty()
 | 
			
		||||
							
								
								
									
										6
									
								
								samples/World of Warcraft Addon Data/addon.toc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								samples/World of Warcraft Addon Data/addon.toc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
## Interface: 60200
 | 
			
		||||
## Title: Vahevian Lotus Vane
 | 
			
		||||
## Notes: "Critical Threat Range"
 | 
			
		||||
## Version: 4.2
 | 
			
		||||
Vahevia.xml
 | 
			
		||||
Lotus_Vane.lua
 | 
			
		||||
							
								
								
									
										11
									
								
								samples/World of Warcraft Addon Data/lingua.toc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								samples/World of Warcraft Addon Data/lingua.toc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
# Internationalisation example
 | 
			
		||||
 | 
			
		||||
## Title: Test
 | 
			
		||||
## Title-esES: Pruebas
 | 
			
		||||
## Title-huHU: Próba
 | 
			
		||||
## Notes: "Testing this shit"
 | 
			
		||||
## Notes-esES: "Probando la mierda esta"
 | 
			
		||||
## Notes-huHU: "Kipróbálom ezt a szart"
 | 
			
		||||
 | 
			
		||||
Tests.xml
 | 
			
		||||
Elk.lua
 | 
			
		||||
							
								
								
									
										24
									
								
								samples/World of Warcraft Addon Data/linguist.toc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								samples/World of Warcraft Addon Data/linguist.toc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
# Addon manifest file
 | 
			
		||||
 | 
			
		||||
## Interface: 60200
 | 
			
		||||
## Title: Linguist
 | 
			
		||||
## Notes: "Language savant"
 | 
			
		||||
## RequiredDeps: charlockHolmes, escapeUtils, mimeTypes, rugged
 | 
			
		||||
## LoadOnDemand: 1
 | 
			
		||||
## Version: 4.9
 | 
			
		||||
 | 
			
		||||
# This is a comment
 | 
			
		||||
## SavedVariables: foo, bar
 | 
			
		||||
## SavedVariablesPerCharacter: fewburt
 | 
			
		||||
 | 
			
		||||
Languages.xml
 | 
			
		||||
Heuristics.xml
 | 
			
		||||
h-counter.lua
 | 
			
		||||
ruby-isnt.lua
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# It is possible for addons to query values of any tags with a "X-" prefix.
 | 
			
		||||
# Some possibilities include:
 | 
			
		||||
#
 | 
			
		||||
## X-Date: "2016-04-28"
 | 
			
		||||
## X-Website: "https://github.com/"
 | 
			
		||||
							
								
								
									
										23
									
								
								samples/XML/Demo.sfproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								samples/XML/Demo.sfproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.props" />
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>93d81507-bccc-43d6-8667-2d42473f0c32</ProjectGuid>
 | 
			
		||||
    <ProjectVersion>1.0</ProjectVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="Scripts\Deploy-FabricApplication.ps1" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ProjectReference Include="..\ChaosTest.ChaosService\ChaosTest.ChaosService.csproj" />
 | 
			
		||||
    <ProjectReference Include="..\ChaosTest.WebService\ChaosTest.WebService.csproj" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Content Include="ApplicationPackageRoot\ApplicationManifest.xml" />
 | 
			
		||||
    <Content Include="ApplicationParameters\Cloud.xml" />
 | 
			
		||||
    <Content Include="ApplicationParameters\Local.xml" />
 | 
			
		||||
    <Content Include="PublishProfiles\Cloud.xml" />
 | 
			
		||||
    <Content Include="PublishProfiles\Local.xml" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Service Fabric Tools\Microsoft.VisualStudio.Azure.Fabric.ApplicationProject.targets" />
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										104
									
								
								samples/XML/Strings.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								samples/XML/Strings.resx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,104 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<root>
 | 
			
		||||
	<!-- 
 | 
			
		||||
		Microsoft ResX Schema
 | 
			
		||||
 | 
			
		||||
		Version 1.3
 | 
			
		||||
 | 
			
		||||
		The primary goals of this format is to allow a simple XML format 
 | 
			
		||||
		that is mostly human readable. The generation and parsing of the 
 | 
			
		||||
		various data types are done through the TypeConverter classes 
 | 
			
		||||
		associated with the data types.
 | 
			
		||||
 | 
			
		||||
		Example:
 | 
			
		||||
 | 
			
		||||
		... ado.net/XML headers & schema ...
 | 
			
		||||
		<resheader name="resmimetype">text/microsoft-resx</resheader>
 | 
			
		||||
		<resheader name="version">1.3</resheader>
 | 
			
		||||
		<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
 | 
			
		||||
		<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
 | 
			
		||||
		<data name="Name1">this is my long string</data>
 | 
			
		||||
		<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
 | 
			
		||||
		<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
			
		||||
			[base64 mime encoded serialized .NET Framework object]
 | 
			
		||||
		</data>
 | 
			
		||||
		<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
			[base64 mime encoded string representing a byte array form of the .NET Framework object]
 | 
			
		||||
		</data>
 | 
			
		||||
 | 
			
		||||
		There are any number of "resheader" rows that contain simple 
 | 
			
		||||
		name/value pairs.
 | 
			
		||||
 | 
			
		||||
		Each data row contains a name, and value. The row also contains a 
 | 
			
		||||
		type or mimetype. Type corresponds to a .NET class that support 
 | 
			
		||||
		text/value conversion through the TypeConverter architecture. 
 | 
			
		||||
		Classes that don't support this are serialized and stored with the 
 | 
			
		||||
		mimetype set.
 | 
			
		||||
 | 
			
		||||
		The mimetype is used for serialized objects, and tells the 
 | 
			
		||||
		ResXResourceReader how to depersist the object. This is currently not 
 | 
			
		||||
		extensible. For a given mimetype the value must be set accordingly:
 | 
			
		||||
 | 
			
		||||
		Note - application/x-microsoft.net.object.binary.base64 is the format 
 | 
			
		||||
		that the ResXResourceWriter will generate, however the reader can 
 | 
			
		||||
		read any of the formats listed below.
 | 
			
		||||
 | 
			
		||||
		mimetype: application/x-microsoft.net.object.binary.base64
 | 
			
		||||
		value   : The object must be serialized with 
 | 
			
		||||
			: System.Serialization.Formatters.Binary.BinaryFormatter
 | 
			
		||||
			: and then encoded with base64 encoding.
 | 
			
		||||
 | 
			
		||||
		mimetype: application/x-microsoft.net.object.soap.base64
 | 
			
		||||
		value   : The object must be serialized with 
 | 
			
		||||
			: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
 | 
			
		||||
			: and then encoded with base64 encoding.
 | 
			
		||||
 | 
			
		||||
		mimetype: application/x-microsoft.net.object.bytearray.base64
 | 
			
		||||
		value   : The object must be serialized into a byte array 
 | 
			
		||||
			: using a System.ComponentModel.TypeConverter
 | 
			
		||||
			: and then encoded with base64 encoding.
 | 
			
		||||
	-->
 | 
			
		||||
	
 | 
			
		||||
	<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
 | 
			
		||||
		<xsd:element name="root" msdata:IsDataSet="true">
 | 
			
		||||
			<xsd:complexType>
 | 
			
		||||
				<xsd:choice maxOccurs="unbounded">
 | 
			
		||||
					<xsd:element name="data">
 | 
			
		||||
						<xsd:complexType>
 | 
			
		||||
							<xsd:sequence>
 | 
			
		||||
								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
			
		||||
								<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
 | 
			
		||||
							</xsd:sequence>
 | 
			
		||||
							<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
 | 
			
		||||
							<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
 | 
			
		||||
							<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
 | 
			
		||||
						</xsd:complexType>
 | 
			
		||||
					</xsd:element>
 | 
			
		||||
					<xsd:element name="resheader">
 | 
			
		||||
						<xsd:complexType>
 | 
			
		||||
							<xsd:sequence>
 | 
			
		||||
								<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
			
		||||
							</xsd:sequence>
 | 
			
		||||
							<xsd:attribute name="name" type="xsd:string" use="required" />
 | 
			
		||||
						</xsd:complexType>
 | 
			
		||||
					</xsd:element>
 | 
			
		||||
				</xsd:choice>
 | 
			
		||||
			</xsd:complexType>
 | 
			
		||||
		</xsd:element>
 | 
			
		||||
	</xsd:schema>
 | 
			
		||||
	<resheader name="resmimetype">
 | 
			
		||||
		<value>text/microsoft-resx</value>
 | 
			
		||||
	</resheader>
 | 
			
		||||
	<resheader name="version">
 | 
			
		||||
		<value>1.3</value>
 | 
			
		||||
	</resheader>
 | 
			
		||||
	<resheader name="reader">
 | 
			
		||||
		<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
	</resheader>
 | 
			
		||||
	<resheader name="writer">
 | 
			
		||||
		<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
	</resheader>
 | 
			
		||||
  <data name="Argument_InvalidPathChars" xml:space="preserve">
 | 
			
		||||
    <value>Illegal characters in path.</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
							
								
								
									
										12
									
								
								samples/XML/System.Buffers.pkgproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								samples/XML/System.Buffers.pkgproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ProjectReference Include="..\src\System.Buffers.builds">
 | 
			
		||||
      <SupportedFramework>net45;netcore45;netstandardapp1.5;wpa81</SupportedFramework>
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										8
									
								
								samples/XML/src.builds
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								samples/XML/src.builds
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Project Include="*\src\*.builds" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										18
									
								
								samples/YAML/filenames/.clang-format
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								samples/YAML/filenames/.clang-format
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
---
 | 
			
		||||
# We'll use defaults from the LLVM style, but with 4 columns indentation.
 | 
			
		||||
BasedOnStyle: LLVM
 | 
			
		||||
IndentWidth: 4
 | 
			
		||||
---
 | 
			
		||||
Language: Cpp
 | 
			
		||||
# Force pointers to the type for C++.
 | 
			
		||||
DerivePointerAlignment: false
 | 
			
		||||
PointerAlignment: Left
 | 
			
		||||
---
 | 
			
		||||
Language: JavaScript
 | 
			
		||||
# Use 100 columns for JS.
 | 
			
		||||
ColumnLimit: 100
 | 
			
		||||
---
 | 
			
		||||
Language: Proto
 | 
			
		||||
# Don't format .proto files.
 | 
			
		||||
DisableFormat: true
 | 
			
		||||
...
 | 
			
		||||
							
								
								
									
										46
									
								
								script/licensed
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								script/licensed
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
#!/usr/bin/env ruby
 | 
			
		||||
 | 
			
		||||
# TODO: push these changes to licensor gem
 | 
			
		||||
 | 
			
		||||
require "bundler/setup"
 | 
			
		||||
require "licensed/cli"
 | 
			
		||||
 | 
			
		||||
module Licensed
 | 
			
		||||
  module Source
 | 
			
		||||
    class Filesystem
 | 
			
		||||
      attr_reader :type
 | 
			
		||||
 | 
			
		||||
      def initialize(glob, type: "directory")
 | 
			
		||||
        @glob = glob
 | 
			
		||||
        @type = type
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def enabled?
 | 
			
		||||
        !Dir.glob(@glob).empty?
 | 
			
		||||
      end
 | 
			
		||||
 | 
			
		||||
      def dependencies
 | 
			
		||||
        Dir.glob(@glob).map do |directory|
 | 
			
		||||
          puts "caching #{directory}"
 | 
			
		||||
          Licensed::Dependency.new(directory, {
 | 
			
		||||
            "type" => type,
 | 
			
		||||
            "name" => File.basename(directory)
 | 
			
		||||
          })
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
source = Licensed::Source::Filesystem.new("vendor/grammars/*/", type: "grammar")
 | 
			
		||||
config = Licensed::Configuration.new
 | 
			
		||||
config.sources << source
 | 
			
		||||
 | 
			
		||||
command = if ARGV[0] == "verify"
 | 
			
		||||
  Licensed::Command::Verify.new(config)
 | 
			
		||||
else
 | 
			
		||||
  Licensed::Command::Cache.new(config)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
command.run
 | 
			
		||||
exit command.success?
 | 
			
		||||
							
								
								
									
										6
									
								
								test/fixtures/Data/app.config
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								test/fixtures/Data/app.config
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0"?>
 | 
			
		||||
<configuration>
 | 
			
		||||
  <startup>
 | 
			
		||||
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
 | 
			
		||||
  </startup>
 | 
			
		||||
</configuration>
 | 
			
		||||
@@ -132,7 +132,7 @@ class TestBlob < Minitest::Test
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_csv
 | 
			
		||||
    assert fixture_blob_memory("Data/cars.csv").csv?
 | 
			
		||||
    assert sample_blob_memory("CSV/cars.csv").csv?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_pdf
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
require_relative "./helper"
 | 
			
		||||
 | 
			
		||||
class TestBlob < Minitest::Test
 | 
			
		||||
class TestFileBlob < Minitest::Test
 | 
			
		||||
  include Linguist
 | 
			
		||||
 | 
			
		||||
  def setup
 | 
			
		||||
@@ -312,11 +312,13 @@ class TestBlob < Minitest::Test
 | 
			
		||||
    # Debian packaging
 | 
			
		||||
    assert sample_blob("debian/cron.d").vendored?
 | 
			
		||||
 | 
			
		||||
    # Django env
 | 
			
		||||
    assert sample_blob("env/foo.py").vendored?
 | 
			
		||||
 | 
			
		||||
    # Erlang
 | 
			
		||||
    assert sample_blob("rebar").vendored?
 | 
			
		||||
 | 
			
		||||
    # git config files
 | 
			
		||||
 | 
			
		||||
    assert_predicate fixture_blob("some/path/.gitattributes"), :vendored?
 | 
			
		||||
    assert_predicate fixture_blob(".gitignore"), :vendored?
 | 
			
		||||
    assert_predicate fixture_blob("special/path/.gitmodules"), :vendored?
 | 
			
		||||
 
 | 
			
		||||
@@ -17,6 +17,7 @@ class TestGenerated < Minitest::Test
 | 
			
		||||
    assert_raises(DataLoadedError, "Data wasn't loaded when calling generated? on #{blob}") do
 | 
			
		||||
      Generated.generated?(blob, lambda { raise DataLoadedError.new })
 | 
			
		||||
    end
 | 
			
		||||
    assert Generated.generated?(blob, lambda { IO.read(blob) }), "#{blob} was not recognized as a generated file"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def generated_fixture_without_loading_data(name)
 | 
			
		||||
@@ -62,6 +63,9 @@ class TestGenerated < Minitest::Test
 | 
			
		||||
    # Minified files
 | 
			
		||||
    generated_sample_loading_data("JavaScript/jquery-1.6.1.min.js")
 | 
			
		||||
 | 
			
		||||
    # JS files with source map reference
 | 
			
		||||
    generated_sample_loading_data("JavaScript/namespace.js")
 | 
			
		||||
 | 
			
		||||
    # Source Map
 | 
			
		||||
    generated_fixture_without_loading_data("Data/bootstrap.css.map")
 | 
			
		||||
    generated_fixture_loading_data("Data/sourcemap.v3.map")
 | 
			
		||||
 
 | 
			
		||||
@@ -3,17 +3,11 @@ require_relative "./helper"
 | 
			
		||||
class TestGrammars < Minitest::Test
 | 
			
		||||
  ROOT = File.expand_path("../..", __FILE__)
 | 
			
		||||
 | 
			
		||||
  # List of projects that are allowed without licenses
 | 
			
		||||
  PROJECT_WHITELIST = [
 | 
			
		||||
    # This grammar's MIT license is inside a subdirectory.
 | 
			
		||||
    "vendor/grammars/SublimePapyrus",
 | 
			
		||||
 | 
			
		||||
    # This grammar has a nonstandard but acceptable license.
 | 
			
		||||
    "vendor/grammars/gap-tmbundle",
 | 
			
		||||
 | 
			
		||||
    # These grammars have no license but have been grandfathered in. New grammars
 | 
			
		||||
    # must have a license that allows redistribution.
 | 
			
		||||
    "vendor/grammars/Sublime-Lasso",
 | 
			
		||||
    "vendor/grammars/x86-assembly-textmate-bundle"
 | 
			
		||||
    # Dual MIT and GPL license
 | 
			
		||||
    "vendor/grammars/language-csharp",
 | 
			
		||||
    "vendor/grammars/sublimeassembly"
 | 
			
		||||
  ].freeze
 | 
			
		||||
 | 
			
		||||
  # List of allowed SPDX license names
 | 
			
		||||
@@ -21,12 +15,10 @@ class TestGrammars < Minitest::Test
 | 
			
		||||
    apache-2.0
 | 
			
		||||
    bsd-2-clause
 | 
			
		||||
    bsd-3-clause
 | 
			
		||||
    cc-by-sa-3.0
 | 
			
		||||
    gpl-2.0
 | 
			
		||||
    gpl-3.0
 | 
			
		||||
    lgpl-3.0
 | 
			
		||||
    isc
 | 
			
		||||
    mit
 | 
			
		||||
    mpl-2.0
 | 
			
		||||
    public
 | 
			
		||||
    textmate
 | 
			
		||||
    unlicense
 | 
			
		||||
    wtfpl
 | 
			
		||||
@@ -102,8 +94,9 @@ class TestGrammars < Minitest::Test
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_submodules_whitelist_has_no_extra_entries
 | 
			
		||||
    skip("Need to work out how to handle dual-licensed entities")
 | 
			
		||||
    extra_whitelist_entries = PROJECT_WHITELIST - submodule_licenses.select { |k,v| v.nil? }.keys
 | 
			
		||||
    not_present = extra_whitelist_entries.reject { |k,v| Dir.exists?(k) }
 | 
			
		||||
    not_present = extra_whitelist_entries.reject { |k,v| Dir.exist?(k) }
 | 
			
		||||
    licensed = extra_whitelist_entries.select { |k,v| submodule_licenses[k] }
 | 
			
		||||
 | 
			
		||||
    msg = "The following whitelisted submodules don't appear to be part of the project:\n* #{not_present.join("\n* ")}"
 | 
			
		||||
@@ -178,10 +171,12 @@ class TestGrammars < Minitest::Test
 | 
			
		||||
      "gpl-3.0"
 | 
			
		||||
    elsif content.include?("Creative Commons Attribution-Share Alike 3.0")
 | 
			
		||||
      "cc-by-sa-3.0"
 | 
			
		||||
    elsif content.include?("tidy-license.txt") || content.include?("If not otherwise specified (see below)")
 | 
			
		||||
    elsif content.include?("tidy-license.txt") || content.include?("If not otherwise specified (see below)") || content.include?("Permission to copy, use, modify, sell and distribute this")
 | 
			
		||||
      "textmate"
 | 
			
		||||
    elsif content.include?("Permission is hereby granted") || content =~ /\bMIT\b/
 | 
			
		||||
      "mit"
 | 
			
		||||
    elsif content.include?("This package is provided as-is and is placed in the Public Domain")
 | 
			
		||||
      "public"
 | 
			
		||||
    elsif content.include?("http://www.wtfpl.net/txt/copying/")
 | 
			
		||||
      "wtfpl"
 | 
			
		||||
    elsif content.include?("zlib") && content.include?("license") && content.include?("2. Altered source versions must be plainly marked as such")
 | 
			
		||||
 
 | 
			
		||||
@@ -84,6 +84,13 @@ class TestHeuristcs < Minitest::Test
 | 
			
		||||
    })
 | 
			
		||||
  end
 | 
			
		||||
  
 | 
			
		||||
  def test_es_by_heuristics
 | 
			
		||||
    assert_heuristics({
 | 
			
		||||
      "Erlang" => all_fixtures("Erlang", "*.es"),
 | 
			
		||||
      "JavaScript" => all_fixtures("JavaScript", "*.es")
 | 
			
		||||
    })
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_f_by_heuristics
 | 
			
		||||
    assert_heuristics({
 | 
			
		||||
      "FORTRAN" => all_fixtures("FORTRAN", "*.f") + all_fixtures("FORTRAN", "*.for"),
 | 
			
		||||
@@ -115,6 +122,12 @@ class TestHeuristcs < Minitest::Test
 | 
			
		||||
    })
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_inc_by_heuristics
 | 
			
		||||
    assert_heuristics({
 | 
			
		||||
      "PHP" => all_fixtures("PHP", "*.inc")
 | 
			
		||||
    })
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_ls_by_heuristics
 | 
			
		||||
    assert_heuristics({
 | 
			
		||||
      "LiveScript" => all_fixtures("LiveScript", "*.ls"),
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,7 @@ class TestModelines < Minitest::Test
 | 
			
		||||
    assert_modeline Language["Prolog"], fixture_blob("Data/Modelines/not_perl.pl")
 | 
			
		||||
    assert_modeline Language["Smalltalk"], fixture_blob("Data/Modelines/example_smalltalk.md")
 | 
			
		||||
    assert_modeline Language["PHP"], fixture_blob("Data/Modelines/iamphp.inc")
 | 
			
		||||
    assert_modeline nil, sample_blob("C/main.c")
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def test_modeline_languages
 | 
			
		||||
 
 | 
			
		||||
@@ -81,7 +81,7 @@ class TestRepository < Minitest::Test
 | 
			
		||||
 | 
			
		||||
  def test_linguist_override_vendored?
 | 
			
		||||
    attr_commit = '351c1cc8fd57340839bdb400d7812332af80e9bd'
 | 
			
		||||
    repo = linguist_repo(attr_commit).read_index
 | 
			
		||||
    linguist_repo(attr_commit).read_index
 | 
			
		||||
 | 
			
		||||
    override_vendored = Linguist::LazyBlob.new(rugged_repository, attr_commit, 'Gemfile')
 | 
			
		||||
 | 
			
		||||
@@ -91,7 +91,7 @@ class TestRepository < Minitest::Test
 | 
			
		||||
 | 
			
		||||
  def test_linguist_override_unvendored?
 | 
			
		||||
    attr_commit = '351c1cc8fd57340839bdb400d7812332af80e9bd'
 | 
			
		||||
    repo = linguist_repo(attr_commit).read_index
 | 
			
		||||
    linguist_repo(attr_commit).read_index
 | 
			
		||||
 | 
			
		||||
    # lib/linguist/vendor.yml defines this as vendored.
 | 
			
		||||
    override_unvendored = Linguist::LazyBlob.new(rugged_repository, attr_commit, 'test/fixtures/foo.rb')
 | 
			
		||||
@@ -102,7 +102,7 @@ class TestRepository < Minitest::Test
 | 
			
		||||
 | 
			
		||||
  def test_linguist_override_documentation?
 | 
			
		||||
    attr_commit = "d4c8fb8a28e91f97a7e53428a365c0abbac36d3d"
 | 
			
		||||
    repo = linguist_repo(attr_commit).read_index
 | 
			
		||||
    linguist_repo(attr_commit).read_index
 | 
			
		||||
 | 
			
		||||
    readme = Linguist::LazyBlob.new(rugged_repository, attr_commit, "README.md")
 | 
			
		||||
    arduino = Linguist::LazyBlob.new(rugged_repository, attr_commit, "samples/Arduino/hello.ino")
 | 
			
		||||
@@ -114,7 +114,7 @@ class TestRepository < Minitest::Test
 | 
			
		||||
 | 
			
		||||
  def test_linguist_override_generated?
 | 
			
		||||
    attr_commit = "351c1cc8fd57340839bdb400d7812332af80e9bd"
 | 
			
		||||
    repo = linguist_repo(attr_commit).read_index
 | 
			
		||||
    linguist_repo(attr_commit).read_index
 | 
			
		||||
 | 
			
		||||
    rakefile = Linguist::LazyBlob.new(rugged_repository, attr_commit, "Rakefile")
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ class TestSamples < Minitest::Test
 | 
			
		||||
        # Check for samples if more than one language matches the given filename
 | 
			
		||||
        if Language.find_by_filename(filename).size > 1
 | 
			
		||||
          sample = "samples/#{language.name}/filenames/#{filename}"
 | 
			
		||||
          assert File.exists?(sample),
 | 
			
		||||
          assert File.exist?(sample),
 | 
			
		||||
            "Missing sample in #{sample.inspect}. See https://github.com/github/linguist/blob/master/CONTRIBUTING.md"
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/grammars/AutoHotkey
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/AutoHotkey
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/AutoHotkey updated: d31adb9184...02fe2a8d3d
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/CLIPS-sublime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/CLIPS-sublime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/CLIPS-sublime deleted from 6a11bc512e
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/Creole
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/Creole
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Creole deleted from bac4656c8d
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/GDScript-sublime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/GDScript-sublime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/GDScript-sublime deleted from 44ac5c4af2
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/InnoSetup
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/InnoSetup
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/InnoSetup deleted from 9da37ae690
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/MagicPython
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/MagicPython
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/MagicPython updated: 7d07d6f5b0...fd23525656
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/NSIS
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/NSIS
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/NSIS updated: 68a4534dde...e052400204
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/NimLime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/NimLime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/NimLime updated: 0c6c6207a6...5089ecab59
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/Stylus
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/Stylus
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Stylus updated: 9766d8d936...61bab33f37
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/Sublime-Logos
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/Sublime-Logos
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Sublime-Logos deleted from 5375dc5394
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/Sublime-SQF-Language
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/Sublime-SQF-Language
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Sublime-SQF-Language updated: 81c5be35bf...777931999d
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/Sublime-Text-2-OpenEdge-ABL
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/Sublime-Text-2-OpenEdge-ABL
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/Sublime-Text-2-OpenEdge-ABL updated: c830631431...04e4d1405c
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/SublimePapyrus
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/SublimePapyrus
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/SublimePapyrus updated: 293a45f665...66a085b1fd
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/SublimePuppet
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/SublimePuppet
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/SublimePuppet added at a90d5a4e08
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/TLA
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/TLA
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/TLA added at 7e351a9cdf
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/atom-fsharp
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/atom-fsharp
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/atom-fsharp updated: 13eb4d4347...6470266565
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/atom-language-purescript
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/atom-language-purescript
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/atom-language-purescript updated: bd2b59f14e...83d188103f
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/atomic-dreams
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/atomic-dreams
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/atomic-dreams added at 4384f94ff3
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/ats
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/ats
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/ats added at b4f5a7a9ce
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/ats.sublime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/ats.sublime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/ats.sublime deleted from fd6bd223d1
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/autoitv3-tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/autoitv3-tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/autoitv3-tmbundle deleted from 9fb171353c
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/boo
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/boo
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/boo added at d5344462c4
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/boo-sublime
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/boo-sublime
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/boo-sublime deleted from 2b27a24145
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/c.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/c.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/c.tmbundle updated: 5b5d366309...d26c35164a
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/d.tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/d.tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/d.tmbundle updated: bc27d5e552...9b7d4a8e44
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/ejs-tmbundle
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/ejs-tmbundle
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/ejs-tmbundle added at 0854026c99
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/elixir-tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/elixir-tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/elixir-tmbundle updated: a7aa16e349...6ee8051a75
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/gdscript
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/gdscript
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/gdscript added at 202295c51c
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/grace
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/grace
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/grace added at fa30c175f7
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/grace-tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/grace-tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/grace-tmbundle deleted from 9e8bb893f0
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/idris
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/idris
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/idris added at 1089032af6
									
								
							
							
								
								
									
										2
									
								
								vendor/grammars/jade-tmbundle
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
							
						
						
									
										2
									
								
								vendor/grammars/jade-tmbundle
									
									
									
									
										vendored
									
									
								
							 Submodule vendor/grammars/jade-tmbundle updated: 81093433d6...7c1304aa5a
									
								
							
							
								
								
									
										1
									
								
								vendor/grammars/language-apl
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
							
						
						
									
										1
									
								
								vendor/grammars/language-apl
									
									
									
									
										vendored
									
									
										Submodule
									
								
							 Submodule vendor/grammars/language-apl added at 37552fbbf9
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user