diff --git a/lib/linguist/languages.yml b/lib/linguist/languages.yml index c7d72ca9..759d0bb6 100644 --- a/lib/linguist/languages.yml +++ b/lib/linguist/languages.yml @@ -1063,6 +1063,7 @@ JavaScript: - ._js - .bones - .es6 + - .frag - .jake - .jsfl - .jsm diff --git a/lib/linguist/samples.json b/lib/linguist/samples.json index 89d40492..20d9ded3 100644 --- a/lib/linguist/samples.json +++ b/lib/linguist/samples.json @@ -167,6 +167,7 @@ ], "GLSL": [ ".fp", + ".frag", ".glsl" ], "Gnuplot": [ @@ -230,6 +231,7 @@ ".java" ], "JavaScript": [ + ".frag", ".js", ".script!" ], @@ -710,8 +712,8 @@ ".gemrc" ] }, - "tokens_total": 609672, - "languages_total": 746, + "tokens_total": 609975, + "languages_total": 750, "tokens": { "ABAP": { "*/**": 1, @@ -23546,14 +23548,14 @@ "////": 4, "High": 1, "quality": 2, - "(": 386, + "(": 435, "Some": 1, "browsers": 1, "may": 1, "freeze": 1, "or": 1, "crash": 1, - ")": 386, + ")": 435, "//#define": 10, "HIGHQUALITY": 2, "Medium": 1, @@ -23580,7 +23582,7 @@ "RAGGED_LEAVES": 5, "DETAILED_NOISE": 3, "LIGHT_AA": 3, - "//": 36, + "//": 38, "sample": 2, "SSAA": 2, "HEAVY_AA": 2, @@ -23590,12 +23592,12 @@ "Configurations": 1, "#ifdef": 14, "#endif": 14, - "const": 18, - "float": 103, + "const": 19, + "float": 105, "eps": 5, "e": 4, "-": 108, - ";": 353, + ";": 383, "PI": 3, "vec3": 165, "sunDir": 5, @@ -23614,13 +23616,13 @@ "tonemapping": 1, "mod289": 4, "x": 11, - "{": 61, + "{": 82, "return": 47, "floor": 8, "*": 115, "/": 24, - "}": 61, - "vec4": 72, + "}": 82, + "vec4": 73, "permute": 4, "x*34.0": 1, "+": 108, @@ -23821,7 +23823,7 @@ "shadow": 4, "taken": 1, "for": 7, - "int": 7, + "int": 8, "rayDir*t": 2, "res": 6, "res.x": 3, @@ -23924,8 +23926,8 @@ "iResolution.x/iResolution.y*0.5": 1, "rd.x": 1, "rd.y": 1, - "void": 5, - "main": 3, + "void": 31, + "main": 5, "gl_FragCoord.xy": 7, "*0.25": 4, "*0.5": 1, @@ -23937,7 +23939,38 @@ "col*exposure": 1, "x*": 2, ".5": 1, - "gl_FragColor": 2, + "gl_FragColor": 3, + "#version": 2, + "core": 1, + "cbar": 2, + "cfoo": 1, + "CB": 2, + "CD": 2, + "CA": 1, + "CC": 1, + "CBT": 5, + "CDT": 3, + "CAT": 1, + "CCT": 1, + "norA": 4, + "norB": 3, + "norC": 1, + "norD": 1, + "norE": 4, + "norF": 1, + "norG": 1, + "norH": 1, + "norI": 1, + "norcA": 2, + "norcB": 3, + "norcC": 2, + "norcD": 2, + "head": 1, + "of": 1, + "cycle": 2, + "norcE": 1, + "lead": 1, + "into": 1, "NUM_LIGHTS": 4, "AMBIENT": 2, "MAX_DIST": 3, @@ -23946,7 +23979,7 @@ "lightColor": 3, "[": 29, "]": 29, - "varying": 3, + "varying": 4, "fragmentNormal": 2, "cameraVector": 2, "lightVector": 4, @@ -23974,7 +24007,11 @@ "specularDot": 2, "sample.rgb": 1, "sample.a": 1, - "#version": 1, + "static": 1, + "char*": 1, + "SimpleFragmentShader": 1, + "STRINGIFY": 1, + "FrontColor": 2, "kCoeff": 2, "kCube": 2, "uShift": 3, @@ -26661,15 +26698,15 @@ ".internalBuildGeneratedFileFrom": 1 }, "JavaScript": { - "function": 1210, - "(": 8513, - ")": 8521, - "{": 2736, - ";": 4052, + "function": 1212, + "(": 8518, + ")": 8526, + "{": 2738, + ";": 4056, "//": 410, "jshint": 1, "_": 9, - "var": 910, + "var": 911, "Modal": 2, "content": 5, "options": 56, @@ -26679,15 +26716,15 @@ ".delegate": 2, ".proxy": 1, "this.hide": 1, - "this": 577, - "}": 2712, + "this": 578, + "}": 2714, "Modal.prototype": 1, "constructor": 8, "toggle": 10, - "return": 944, - "[": 1459, + "return": 945, + "[": 1461, "this.isShown": 3, - "]": 1456, + "]": 1458, "show": 10, "that": 33, "e": 663, @@ -26715,7 +26752,7 @@ "hide": 8, "body": 22, "modal": 4, - "-": 705, + "-": 706, "open": 2, "fade": 4, "hidden": 12, @@ -27375,6 +27412,12 @@ "_results.push": 2, "math.cube": 2, ".slice": 6, + "window": 18, + "angular": 1, + "Array.prototype.last": 1, + "this.length": 41, + "app": 3, + "angular.module": 1, "A": 24, "w": 110, "ma": 3, @@ -27513,7 +27556,6 @@ "c.prototype": 1, "init": 7, "this.context": 17, - "this.length": 40, "s.body": 2, "this.selector": 16, "Ta.exec": 1, @@ -28074,7 +28116,6 @@ "scrollTo": 1, "CSS1Compat": 1, "client": 3, - "window": 16, "document": 26, "window.document": 2, "navigator": 3, @@ -29728,7 +29769,6 @@ "week": 1, "bK": 1, "about": 1, - "app": 2, "storage": 1, "extension": 1, "widget": 1, @@ -30907,6 +30947,7 @@ "js": 1, "classes.join": 1, "this.document": 1, + "window.angular": 1, "PEG.parser": 1, "quote": 3, "result0": 264, @@ -65817,7 +65858,7 @@ "Game Maker Language": 13310, "GAP": 9944, "GAS": 133, - "GLSL": 3766, + "GLSL": 4033, "Gnuplot": 1023, "Gosu": 410, "Grammatical Framework": 10607, @@ -65835,7 +65876,7 @@ "Ioke": 2, "Jade": 3, "Java": 8987, - "JavaScript": 76934, + "JavaScript": 76970, "JSON": 183, "JSON5": 57, "JSONiq": 151, @@ -65999,7 +66040,7 @@ "Game Maker Language": 13, "GAP": 7, "GAS": 1, - "GLSL": 3, + "GLSL": 5, "Gnuplot": 6, "Gosu": 4, "Grammatical Framework": 41, @@ -66017,7 +66058,7 @@ "Ioke": 1, "Jade": 1, "Java": 6, - "JavaScript": 20, + "JavaScript": 22, "JSON": 4, "JSON5": 2, "JSONiq": 2, @@ -66134,5 +66175,5 @@ "YAML": 2, "Zephir": 2 }, - "md5": "e48a5efc06906356916c94d4f2344863" + "md5": "ef1795e3585ee02f479767c6a071eb2f" } \ No newline at end of file diff --git a/samples/GLSL/SimpleLighting.gl2.frag b/samples/GLSL/SimpleLighting.gl2.frag new file mode 100644 index 00000000..bb851f86 --- /dev/null +++ b/samples/GLSL/SimpleLighting.gl2.frag @@ -0,0 +1,9 @@ +static const char* SimpleFragmentShader = STRINGIFY( + +varying vec4 FrontColor; + +void main(void) +{ + gl_FragColor = FrontColor; +} +); diff --git a/samples/GLSL/recurse1.frag b/samples/GLSL/recurse1.frag new file mode 100644 index 00000000..66b4c3fe --- /dev/null +++ b/samples/GLSL/recurse1.frag @@ -0,0 +1,48 @@ +#version 330 core + +// cross-unit recursion + +void main() {} + +// two-level recursion + +float cbar(int); + +void cfoo(float) +{ + cbar(2); +} + +// four-level, out of order + +void CB(); +void CD(); +void CA() { CB(); } +void CC() { CD(); } + +// high degree + +void CBT(); +void CDT(); +void CAT() { CBT(); CBT(); CBT(); } +void CCT() { CDT(); CDT(); CBT(); } + +// not recursive + +void norA() {} +void norB() { norA(); } +void norC() { norA(); } +void norD() { norA(); } +void norE() { norB(); } +void norF() { norB(); } +void norG() { norE(); } +void norH() { norE(); } +void norI() { norE(); } + +// not recursive, but with a call leading into a cycle if ignoring direction + +void norcA() { } +void norcB() { norcA(); } +void norcC() { norcB(); } +void norcD() { norcC(); norcB(); } // head of cycle +void norcE() { norcD(); } // lead into cycle diff --git a/samples/JavaScript/intro.js.frag b/samples/JavaScript/intro.js.frag new file mode 100644 index 00000000..a4e06b08 --- /dev/null +++ b/samples/JavaScript/intro.js.frag @@ -0,0 +1,7 @@ +(function(window, angular) { + +Array.prototype.last = function() { + return this[this.length-1]; +}; + +var app = angular.module('ConwayGameOfLife', []); diff --git a/samples/JavaScript/outro.js.frag b/samples/JavaScript/outro.js.frag new file mode 100644 index 00000000..8634f6ed --- /dev/null +++ b/samples/JavaScript/outro.js.frag @@ -0,0 +1,3 @@ + +})(window, window.angular); +