rouge 4.7.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +11 -4
- data/bin/rougify +3 -4
- data/lib/rouge/cli.rb +7 -10
- data/lib/rouge/demos/abap +30 -4
- data/lib/rouge/demos/dylan +8 -0
- data/lib/rouge/demos/kick_assembler +14 -0
- data/lib/rouge/demos/pdf +29 -0
- data/lib/rouge/demos/thrift +15 -0
- data/lib/rouge/demos/veryl +24 -0
- data/lib/rouge/eager.rb +3 -0
- data/lib/rouge/formatters/html.rb +8 -1
- data/lib/rouge/formatters/html_debug.rb +16 -0
- data/lib/rouge/formatters/html_legacy.rb +15 -1
- data/lib/rouge/formatters/html_legacy_table.rb +57 -0
- data/lib/rouge/formatters/html_line_highlighter.rb +11 -4
- data/lib/rouge/formatters/html_line_table.rb +8 -3
- data/lib/rouge/formatters/html_linewise.rb +11 -2
- data/lib/rouge/formatters/html_pygments.rb +6 -1
- data/lib/rouge/formatters/html_table.rb +47 -21
- data/lib/rouge/formatters/terminal256.rb +3 -3
- data/lib/rouge/formatters/tex.rb +1 -1
- data/lib/rouge/guesser.rb +1 -1
- data/lib/rouge/guessers/disambiguation.rb +2 -2
- data/lib/rouge/guessers/glob_mapping.rb +2 -2
- data/lib/rouge/guessers/modeline.rb +2 -2
- data/lib/rouge/lexer.rb +40 -21
- data/lib/rouge/lexers/abap/builtins.rb +187 -0
- data/lib/rouge/lexers/abap.rb +70 -178
- data/lib/rouge/lexers/ada.rb +1 -1
- data/lib/rouge/lexers/apache/keywords.rb +3 -11
- data/lib/rouge/lexers/apache.rb +25 -24
- data/lib/rouge/lexers/apex.rb +2 -2
- data/lib/rouge/lexers/apiblueprint.rb +2 -2
- data/lib/rouge/lexers/bicep.rb +2 -2
- data/lib/rouge/lexers/biml.rb +36 -9
- data/lib/rouge/lexers/brightscript.rb +3 -4
- data/lib/rouge/lexers/c.rb +9 -5
- data/lib/rouge/lexers/console.rb +11 -5
- data/lib/rouge/lexers/cpp.rb +10 -12
- data/lib/rouge/lexers/crystal.rb +1 -1
- data/lib/rouge/lexers/css.rb +21 -2
- data/lib/rouge/lexers/cuda.rb +4 -4
- data/lib/rouge/lexers/cython.rb +26 -50
- data/lib/rouge/lexers/dafny.rb +1 -1
- data/lib/rouge/lexers/dart.rb +2 -0
- data/lib/rouge/lexers/datastudio.rb +1 -1
- data/lib/rouge/lexers/digdag.rb +2 -3
- data/lib/rouge/lexers/dylan.rb +109 -0
- data/lib/rouge/lexers/ecl.rb +3 -3
- data/lib/rouge/lexers/elixir.rb +14 -9
- data/lib/rouge/lexers/escape.rb +1 -1
- data/lib/rouge/lexers/factor.rb +1 -1
- data/lib/rouge/lexers/freefem.rb +2 -2
- data/lib/rouge/lexers/ghc_cmm.rb +1 -1
- data/lib/rouge/lexers/ghc_core.rb +1 -1
- data/lib/rouge/lexers/gherkin/keywords.rb +10 -6
- data/lib/rouge/lexers/gherkin.rb +28 -26
- data/lib/rouge/lexers/gjs.rb +2 -2
- data/lib/rouge/lexers/glsl/builtins.rb +17 -0
- data/lib/rouge/lexers/glsl.rb +50 -113
- data/lib/rouge/lexers/go.rb +1 -1
- data/lib/rouge/lexers/gradle.rb +2 -2
- data/lib/rouge/lexers/groovy.rb +6 -0
- data/lib/rouge/lexers/gts.rb +2 -2
- data/lib/rouge/lexers/hack.rb +4 -6
- data/lib/rouge/lexers/haxe.rb +2 -2
- data/lib/rouge/lexers/hlsl.rb +6 -6
- data/lib/rouge/lexers/hocon.rb +2 -2
- data/lib/rouge/lexers/hql.rb +15 -19
- data/lib/rouge/lexers/idris.rb +1 -1
- data/lib/rouge/lexers/igorpro/builtins.rb +1530 -0
- data/lib/rouge/lexers/igorpro.rb +49 -520
- data/lib/rouge/lexers/irb.rb +3 -3
- data/lib/rouge/lexers/isbl.rb +7 -43
- data/lib/rouge/lexers/j.rb +1 -1
- data/lib/rouge/lexers/json5.rb +2 -2
- data/lib/rouge/lexers/json_doc.rb +2 -2
- data/lib/rouge/lexers/jsp.rb +119 -119
- data/lib/rouge/lexers/jsx.rb +2 -2
- data/lib/rouge/lexers/kick_assembler.rb +100 -0
- data/lib/rouge/lexers/kotlin.rb +5 -0
- data/lib/rouge/lexers/lasso/keywords.rb +6 -6
- data/lib/rouge/lexers/lasso.rb +9 -11
- data/lib/rouge/lexers/liquid.rb +5 -6
- data/lib/rouge/lexers/llvm/keywords.rb +3 -12
- data/lib/rouge/lexers/llvm.rb +5 -16
- data/lib/rouge/lexers/lua/keywords.rb +11 -13
- data/lib/rouge/lexers/lua.rb +8 -7
- data/lib/rouge/lexers/lutin.rb +5 -4
- data/lib/rouge/lexers/m68k.rb +3 -3
- data/lib/rouge/lexers/mason.rb +110 -110
- data/lib/rouge/lexers/mathematica/keywords.rb +1 -3
- data/lib/rouge/lexers/mathematica.rb +6 -7
- data/lib/rouge/lexers/matlab/keywords.rb +2 -2
- data/lib/rouge/lexers/matlab.rb +5 -5
- data/lib/rouge/lexers/meson.rb +1 -1
- data/lib/rouge/lexers/mojo.rb +6 -2
- data/lib/rouge/lexers/moonscript.rb +19 -17
- data/lib/rouge/lexers/nesasm.rb +6 -6
- data/lib/rouge/lexers/nial.rb +7 -8
- data/lib/rouge/lexers/nim.rb +3 -3
- data/lib/rouge/lexers/nix.rb +10 -8
- data/lib/rouge/lexers/objective_c.rb +3 -3
- data/lib/rouge/lexers/objective_cpp.rb +3 -2
- data/lib/rouge/lexers/ocaml.rb +2 -2
- data/lib/rouge/lexers/openedge.rb +9 -9
- data/lib/rouge/lexers/pdf.rb +109 -0
- data/lib/rouge/lexers/php/keywords.rb +136 -138
- data/lib/rouge/lexers/php.rb +58 -9
- data/lib/rouge/lexers/plsql.rb +8 -9
- data/lib/rouge/lexers/postscript.rb +1 -1
- data/lib/rouge/lexers/powershell.rb +1 -1
- data/lib/rouge/lexers/python.rb +110 -65
- data/lib/rouge/lexers/qml.rb +2 -2
- data/lib/rouge/lexers/reasonml.rb +2 -2
- data/lib/rouge/lexers/rego.rb +53 -53
- data/lib/rouge/lexers/rescript.rb +2 -2
- data/lib/rouge/lexers/robot_framework.rb +12 -12
- data/lib/rouge/lexers/{coq.rb → rocq.rb} +15 -6
- data/lib/rouge/lexers/ruby.rb +33 -7
- data/lib/rouge/lexers/rust.rb +1 -0
- data/lib/rouge/lexers/sas.rb +164 -165
- data/lib/rouge/lexers/sass/common.rb +1 -1
- data/lib/rouge/lexers/sass.rb +2 -2
- data/lib/rouge/lexers/scss.rb +2 -2
- data/lib/rouge/lexers/sed.rb +1 -1
- data/lib/rouge/lexers/shell.rb +5 -5
- data/lib/rouge/lexers/slice.rb +2 -2
- data/lib/rouge/lexers/sparql.rb +1 -1
- data/lib/rouge/lexers/sqf/keywords.rb +5 -3
- data/lib/rouge/lexers/sqf.rb +3 -4
- data/lib/rouge/lexers/stan.rb +9 -15
- data/lib/rouge/lexers/svelte.rb +2 -2
- data/lib/rouge/lexers/swift.rb +2 -2
- data/lib/rouge/lexers/tcl.rb +1 -1
- data/lib/rouge/lexers/terraform.rb +2 -2
- data/lib/rouge/lexers/thrift.rb +120 -0
- data/lib/rouge/lexers/tsx.rb +3 -3
- data/lib/rouge/lexers/ttcn3.rb +1 -1
- data/lib/rouge/lexers/twig.rb +2 -2
- data/lib/rouge/lexers/typescript.rb +3 -3
- data/lib/rouge/lexers/varnish.rb +8 -8
- data/lib/rouge/lexers/veryl.rb +109 -0
- data/lib/rouge/lexers/viml/keywords.rb +5 -7
- data/lib/rouge/lexers/viml.rb +8 -10
- data/lib/rouge/lexers/vue.rb +2 -2
- data/lib/rouge/lexers/xquery.rb +2 -1
- data/lib/rouge/lexers/yaml.rb +13 -1
- data/lib/rouge/lexers/yang.rb +42 -74
- data/lib/rouge/lexers/zig.rb +10 -10
- data/lib/rouge/plugins/redcarpet.rb +3 -2
- data/lib/rouge/regex_lexer.rb +25 -14
- data/lib/rouge/themes/gruvbox.rb +3 -0
- data/lib/rouge/token.rb +1 -1
- data/lib/rouge/util.rb +1 -1
- data/lib/rouge/version.rb +1 -1
- data/lib/rouge.rb +70 -59
- data/lib/rubocop/cop/rouge/no_building_alternation_pattern_in_regexp.rb +71 -0
- data/lib/rubocop/cop/rouge/no_huge_collections.rb +37 -0
- data/rouge.gemspec +8 -5
- metadata +40 -9
- data/lib/rouge/lexers/isbl/builtins.rb +0 -17
- data/lib/rouge/lexers/matlab/builtins.rb +0 -11
- /data/lib/rouge/demos/{coq → rocq} +0 -0
data/lib/rouge/lexers/gjs.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'javascript'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
load_lexer 'javascript.rb'
|
|
7
|
-
|
|
8
8
|
class Gjs < Javascript
|
|
9
9
|
title "Template Tag (gjs)"
|
|
10
10
|
desc "Ember.js, JavaScript with <template> tags"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
# DO NOT EDIT
|
|
5
|
+
# This file is automatically generated by `rake builtins:glsl`.
|
|
6
|
+
# See tasks/builtins/glsl.rake for more info.
|
|
7
|
+
|
|
8
|
+
module Rouge
|
|
9
|
+
module Lexers
|
|
10
|
+
class GLSL
|
|
11
|
+
BUILTINS = Set["EmitStreamVertex", "EmitVertex", "EndPrimitive", "EndStreamPrimitive", "abs", "acos", "acosh", "all", "allInvocations", "allInvocationsEqual", "any", "anyInvocation", "asin", "asinh", "atan", "atanh", "atomicAdd", "atomicAnd", "atomicCompSwap", "atomicCounter", "atomicCounterAdd", "atomicCounterAnd", "atomicCounterCompSwap", "atomicCounterDecrement", "atomicCounterExchange", "atomicCounterIncrement", "atomicCounterMax", "atomicCounterMin", "atomicCounterOr", "atomicCounterSubtract", "atomicCounterXor", "atomicExchange", "atomicMax", "atomicMin", "atomicOr", "atomicXor", "barrier", "bitCount", "bitfieldExtract", "bitfieldInsert", "bitfieldReverse", "ceil", "clamp", "cos", "cosh", "cross", "dFdx", "dFdxCoarse", "dFdxFine", "dFdy", "dFdyCoarse", "dFdyFine", "degrees", "determinant", "distance", "dot", "equal", "exp", "exp2", "faceforward", "findLSB", "findMSB", "floatBitsToInt", "floatBitsToUint", "floor", "fma", "fract", "frexp", "ftransform", "fwidth", "fwidthCoarse", "fwidthFine", "greaterThan", "greaterThanEqual", "groupMemoryBarrier", "imageAtomicAdd", "imageAtomicAnd", "imageAtomicCompSwap", "imageAtomicExchange", "imageAtomicMax", "imageAtomicMin", "imageAtomicOr", "imageAtomicXor", "imageLoad", "imageSamples", "imageSize", "imageStore", "imulExtended", "intBitsToFloat", "interpolateAtCentroid", "interpolateAtOffset", "interpolateAtSample", "inverse", "inversesqrt", "isinf", "isnan", "ldexp", "length", "lessThan", "lessThanEqual", "log", "log2", "matrixCompMult", "max", "memoryBarrier", "memoryBarrierAtomicCounter", "memoryBarrierBuffer", "memoryBarrierImage", "memoryBarrierShared", "min", "mix", "mod", "modf", "neighbor", "noise1", "noise2", "noise3", "noise4", "normalize", "not", "notEqual", "outerProduct", "packDouble2x32", "packHalf2x16", "packSnorm2x16", "packSnorm4x8", "packUnorm2x16", "packUnorm4x8", "pow", "radians", "reflect", "refract", "round", "roundEven", "shadow1D", "shadow1DLod", "shadow1DProj", "shadow1DProjLod", "shadow2D", "shadow2DLod", "shadow2DProj", "shadow2DProjLod", "sign", "sin", "sinh", "smoothstep", "sqrt", "step", "subpassLoad", "tan", "tanh", "texelFetch", "texelFetchOffset", "texture", "texture1DLod", "texture1DProj", "texture1DProjLod", "texture2DLod", "texture2DProj", "texture2DProjLod", "texture3DLod", "texture3DProj", "texture3DProjLod", "textureCubeLod", "textureGather", "textureGatherOffset", "textureGatherOffsets", "textureGrad", "textureGradOffset", "textureLod", "textureLodOffset", "textureOffset", "textureProj", "textureProjGrad", "textureProjGradOffset", "textureProjLod", "textureProjLodOffset", "textureProjOffset", "textureQueryLevels", "textureQueryLod", "textureSamples", "textureSize", "transpose", "trunc", "uaddCarry", "uintBitsToFloat", "umulExtended", "unpackDouble2x32", "unpackHalf2x16", "unpackSnorm2x16", "unpackSnorm4x8", "unpackUnorm2x16", "unpackUnorm4x8", "usubBorrow"]
|
|
12
|
+
KEYWORDS = Set["active", "asm", "attribute", "break", "buffer", "case", "cast", "centroid", "class", "coherent", "common", "const", "continue", "default", "discard", "do", "else", "enum", "extern", "external", "false", "filter", "fixed", "flat", "for", "fvec2", "fvec3", "fvec4", "goto", "half", "highp", "hvec2", "hvec3", "hvec4", "if", "in", "inline", "inout", "input", "interface", "invariant", "layout", "long", "lowp", "mediump", "namespace", "noinline", "noperspective", "out", "output", "partition", "patch", "precise", "precision", "public", "readonly", "resource", "restrict", "return", "sample", "sampler3DRect", "shared", "short", "sizeof", "smooth", "static", "struct", "subroutine", "superp", "switch", "template", "this", "true", "typedef", "uniform", "union", "unsigned", "using", "varying", "volatile", "while", "writeonly"]
|
|
13
|
+
TYPES = Set["atomic_uint", "bool", "bvec2", "bvec3", "bvec4", "dmat2", "dmat2x2", "dmat2x3", "dmat2x4", "dmat3", "dmat3x2", "dmat3x3", "dmat3x4", "dmat4", "dmat4x2", "dmat4x3", "dmat4x4", "double", "dvec2", "dvec3", "dvec4", "float", "iimage1D", "iimage1DArray", "iimage2D", "iimage2DArray", "iimage2DMS", "iimage2DMSArray", "iimage2DRect", "iimage3D", "iimageBuffer", "iimageCube", "iimageCubeArray", "image1D", "image1DArray", "image2D", "image2DArray", "image2DMS", "image2DMSArray", "image2DRect", "image3D", "imageBuffer", "imageCube", "imageCubeArray", "int", "isampler1D", "isampler1DArray", "isampler2D", "isampler2DArray", "isampler2DMS", "isampler2DMSArray", "isampler2DRect", "isampler3D", "isamplerBuffer", "isamplerCube", "isamplerCubeArray", "isubpassInput", "isubpassInputMS", "itexture1D", "itexture1DArray", "itexture2D", "itexture2DArray", "itexture2DMS", "itexture2DMSArray", "itexture2DRect", "itexture3D", "itextureBuffer", "itextureCube", "itextureCubeArray", "ivec2", "ivec3", "ivec4", "mat2", "mat2x2", "mat2x3", "mat2x4", "mat3", "mat3x2", "mat3x3", "mat3x4", "mat4", "mat4x2", "mat4x3", "mat4x4", "sampler", "sampler1D", "sampler1DArray", "sampler1DArrayShadow", "sampler1DShadow", "sampler2D", "sampler2DArray", "sampler2DArrayShadow", "sampler2DMS", "sampler2DMSArray", "sampler2DRect", "sampler2DRectShadow", "sampler2DShadow", "sampler3D", "samplerBuffer", "samplerCube", "samplerCubeArray", "samplerCubeArrayShadow", "samplerCubeShadow", "samplerShadow", "subpassInput", "subpassInputMS", "texture1D", "texture1DArray", "texture2D", "texture2DArray", "texture2DMS", "texture2DMSArray", "texture2DRect", "texture3D", "textureBuffer", "textureCube", "textureCubeArray", "uimage1D", "uimage1DArray", "uimage2D", "uimage2DArray", "uimage2DMS", "uimage2DMSArray", "uimage2DRect", "uimage3D", "uimageBuffer", "uimageCube", "uimageCubeArray", "uint", "usampler1D", "usampler1DArray", "usampler2D", "usampler2DArray", "usampler2DMS", "usampler2DMSArray", "usampler2DRect", "usampler3D", "usamplerBuffer", "usamplerCube", "usamplerCubeArray", "usubpassInput", "usubpassInputMS", "utexture1D", "utexture1DArray", "utexture2D", "utexture2DArray", "utexture2DMS", "utexture2DMSArray", "utexture2DRect", "utexture3D", "utextureBuffer", "utextureCube", "utextureCubeArray", "uvec2", "uvec3", "uvec4", "vec2", "vec3", "vec4", "void"]
|
|
14
|
+
GL_VARS = Set["gl_BackColor", "gl_BackLightModelProduct", "gl_BackLightProduct", "gl_BackMaterial", "gl_BackSecondaryColor", "gl_BaseInstance", "gl_BaseVertex", "gl_BoundingBox", "gl_ClipDistance", "gl_ClipPlane", "gl_ClipVertex", "gl_Color", "gl_CullDistance", "gl_DepthRange", "gl_DepthRangeParameters", "gl_DrawID", "gl_EyePlaneQ", "gl_EyePlaneR", "gl_EyePlaneS", "gl_EyePlaneT", "gl_Fog", "gl_FogCoord", "gl_FogFragCoord", "gl_FogParameters", "gl_FragColor", "gl_FragCoord", "gl_FragData", "gl_FragDepth", "gl_FrontColor", "gl_FrontFacing", "gl_FrontLightModelProduct", "gl_FrontLightProduct", "gl_FrontMaterial", "gl_FrontSecondaryColor", "gl_GlobalInvocationID", "gl_HelperInvocation", "gl_InstanceID", "gl_InstanceIndex", "gl_InvocationID", "gl_Layer", "gl_LightModel", "gl_LightModelParameters", "gl_LightModelProducts", "gl_LightProducts", "gl_LightSource", "gl_LightSourceParameters", "gl_LocalInvocationID", "gl_LocalInvocationIndex", "gl_MaterialParameters", "gl_MaxAtomicCounterBindings", "gl_MaxAtomicCounterBufferSize", "gl_MaxClipDistances", "gl_MaxClipPlanes", "gl_MaxCombinedAtomicCounterBuffers", "gl_MaxCombinedAtomicCounters", "gl_MaxCombinedClipAndCullDistances", "gl_MaxCombinedImageUniforms", "gl_MaxCombinedImageUnitsAndFragmentOutputs", "gl_MaxCombinedShaderOutputResources", "gl_MaxCombinedTextureImageUnits", "gl_MaxComputeAtomicCounterBuffers", "gl_MaxComputeAtomicCounters", "gl_MaxComputeImageUniforms", "gl_MaxComputeTextureImageUnits", "gl_MaxComputeUniformComponents", "gl_MaxComputeWorkGroupCount", "gl_MaxComputeWorkGroupSize", "gl_MaxCullDistances", "gl_MaxDrawBuffers", "gl_MaxFragmentAtomicCounterBuffers", "gl_MaxFragmentAtomicCounters", "gl_MaxFragmentImageUniforms", "gl_MaxFragmentInputComponents", "gl_MaxFragmentInputVectors", "gl_MaxFragmentUniformComponents", "gl_MaxFragmentUniformVectors", "gl_MaxGeometryAtomicCounterBuffers", "gl_MaxGeometryAtomicCounters", "gl_MaxGeometryImageUniforms", "gl_MaxGeometryInputComponents", "gl_MaxGeometryOutputComponents", "gl_MaxGeometryOutputVertices", "gl_MaxGeometryTextureImageUnits", "gl_MaxGeometryTotalOutputComponents", "gl_MaxGeometryUniformComponents", "gl_MaxGeometryVaryingComponents", "gl_MaxImageSamples", "gl_MaxImageUnits", "gl_MaxInputAttachments", "gl_MaxLights", "gl_MaxPatchVertices", "gl_MaxProgramTexelOffset", "gl_MaxSamples", "gl_MaxTessControlAtomicCounterBuffers", "gl_MaxTessControlAtomicCounters", "gl_MaxTessControlImageUniforms", "gl_MaxTessControlInputComponents", "gl_MaxTessControlOutputComponents", "gl_MaxTessControlTextureImageUnits", "gl_MaxTessControlTotalOutputComponents", "gl_MaxTessControlUniformComponents", "gl_MaxTessEvaluationAtomicCounterBuffers", "gl_MaxTessEvaluationAtomicCounters", "gl_MaxTessEvaluationImageUniforms", "gl_MaxTessEvaluationInputComponents", "gl_MaxTessEvaluationOutputComponents", "gl_MaxTessEvaluationTextureImageUnits", "gl_MaxTessEvaluationUniformComponents", "gl_MaxTessGenLevel", "gl_MaxTessPatchComponents", "gl_MaxTextureCoords", "gl_MaxTextureImageUnits", "gl_MaxTextureUnits", "gl_MaxTransformFeedbackBuffers", "gl_MaxTransformFeedbackInterleavedComponents", "gl_MaxVaryingComponents", "gl_MaxVaryingFloats", "gl_MaxVaryingVectors", "gl_MaxVertexAtomicCounterBuffers", "gl_MaxVertexAtomicCounters", "gl_MaxVertexAttribs", "gl_MaxVertexImageUniforms", "gl_MaxVertexOutputComponents", "gl_MaxVertexOutputVectors", "gl_MaxVertexTextureImageUnits", "gl_MaxVertexUniformComponents", "gl_MaxVertexUniformVectors", "gl_MaxViewports", "gl_MinProgramTexelOffset", "gl_ModelViewMatrix", "gl_ModelViewMatrixInverse", "gl_ModelViewMatrixInverseTranspose", "gl_ModelViewMatrixTranspose", "gl_ModelViewProjectionMatrix", "gl_ModelViewProjectionMatrixInverse", "gl_ModelViewProjectionMatrixInverseTranspose", "gl_ModelViewProjectionMatrixTranspose", "gl_MultiTexCoord0", "gl_MultiTexCoord1", "gl_MultiTexCoord2", "gl_MultiTexCoord3", "gl_MultiTexCoord4", "gl_MultiTexCoord5", "gl_MultiTexCoord6", "gl_MultiTexCoord7", "gl_Normal", "gl_NormalMatrix", "gl_NormalScale", "gl_NumSamples", "gl_NumWorkGroups", "gl_ObjectPlaneQ", "gl_ObjectPlaneR", "gl_ObjectPlaneS", "gl_ObjectPlaneT", "gl_PatchVerticesIn", "gl_PerFragment", "gl_PerVertex", "gl_Point", "gl_PointCoord", "gl_PointParameters", "gl_PointSize", "gl_Position", "gl_PrimitiveID", "gl_PrimitiveIDIn", "gl_ProjectionMatrix", "gl_ProjectionMatrixInverse", "gl_ProjectionMatrixInverseTranspose", "gl_ProjectionMatrixTranspose", "gl_SampleID", "gl_SampleMask", "gl_SampleMaskIn", "gl_SamplePosition", "gl_SecondaryColor", "gl_TessCoord", "gl_TessLevelInner", "gl_TessLevelOuter", "gl_TexCoord", "gl_TextureEnvColor", "gl_TextureMatrix", "gl_TextureMatrixInverse", "gl_TextureMatrixInverseTranspose", "gl_TextureMatrixTranspose", "gl_Vertex", "gl_VertexID", "gl_VertexIndex", "gl_ViewportIndex", "gl_WorkGroupID", "gl_WorkGroupSize", "gl_color", "gl_in", "gl_out"]
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/lib/rouge/lexers/glsl.rb
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'c'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# This file defines the GLSL language lexer to the Rouge
|
|
9
|
-
# syntax highlighter.
|
|
10
|
-
#
|
|
11
|
-
# Author: Sri Harsha Chilakapati
|
|
12
|
-
class Glsl < C
|
|
8
|
+
class GLSL < RegexLexer
|
|
13
9
|
tag 'glsl'
|
|
14
10
|
filenames '*.glsl', '*.frag', '*.vert', '*.geom', '*.vs', '*.gs', '*.shader'
|
|
15
11
|
mimetypes 'x-shader/x-vertex', 'x-shader/x-fragment', 'x-shader/x-geometry'
|
|
@@ -17,116 +13,57 @@ module Rouge
|
|
|
17
13
|
title "GLSL"
|
|
18
14
|
desc "The GLSL shader language"
|
|
19
15
|
|
|
20
|
-
|
|
21
|
-
@keywords ||= Set.new %w(
|
|
22
|
-
attribute const uniform varying
|
|
23
|
-
layout
|
|
24
|
-
centroid flat smooth noperspective
|
|
25
|
-
patch sample
|
|
26
|
-
break continue do for while switch case default
|
|
27
|
-
if else
|
|
28
|
-
subroutine
|
|
29
|
-
in out inout
|
|
30
|
-
invariant
|
|
31
|
-
discard return struct precision
|
|
32
|
-
)
|
|
33
|
-
end
|
|
16
|
+
lazy { require_relative "glsl/builtins" }
|
|
34
17
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
mat2 mat3 mat4 dmat2 dmat3 dmat4
|
|
40
|
-
mat2x2 mat2x3 mat2x4 dmat2x2 dmat2x3 dmat2x4
|
|
41
|
-
mat3x2 mat3x3 mat3x4 dmat3x2 dmat3x3 dmat3x4
|
|
42
|
-
mat4x2 mat4x3 mat4x4 dmat4x2 dmat4x3 dmat4x4
|
|
43
|
-
vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 dvec2 dvec3 dvec4
|
|
44
|
-
uint uvec2 uvec3 uvec4
|
|
45
|
-
sampler1D sampler2D sampler3D samplerCube
|
|
46
|
-
sampler1DShadow sampler2DShadow samplerCubeShadow
|
|
47
|
-
sampler1DArray sampler2DArray
|
|
48
|
-
sampler1DArrayShadow sampler2DArrayShadow
|
|
49
|
-
isampler1D isampler2D isampler3D isamplerCube
|
|
50
|
-
isampler1DArray isampler2DArray
|
|
51
|
-
usampler1D usampler2D usampler3D usamplerCube
|
|
52
|
-
usampler1DArray usampler2DArray
|
|
53
|
-
sampler2DRect sampler2DRectShadow isampler2DRect usampler2DRect
|
|
54
|
-
samplerBuffer isamplerBuffer usamplerBuffer
|
|
55
|
-
sampler2DMS isampler2DMS usampler2DMS
|
|
56
|
-
sampler2DMSArray isampler2DMSArray usampler2DMSArray
|
|
57
|
-
samplerCubeArray samplerCubeArrayShadow isamplerCubeArray usamplerCubeArray
|
|
58
|
-
)
|
|
59
|
-
end
|
|
18
|
+
state :root do
|
|
19
|
+
rule %r/\s+/, Text
|
|
20
|
+
rule %r(/[*].*?[*]/)m, Comment::Multiline
|
|
21
|
+
rule %r(//.*$), Comment
|
|
60
22
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
class union enum typedef template this packed
|
|
66
|
-
goto
|
|
67
|
-
inline noinline volatile public static extern external interface
|
|
68
|
-
long short half fixed unsigned superp
|
|
69
|
-
input output
|
|
70
|
-
hvec2 hvec3 hvec4 fvec2 fvec3 fvec4
|
|
71
|
-
sampler3DRect
|
|
72
|
-
filter
|
|
73
|
-
image1D image2D image3D imageCube
|
|
74
|
-
iimage1D iimage2D iimage3D iimageCube
|
|
75
|
-
uimage1D uimage2D uimage3D uimageCube
|
|
76
|
-
image1DArray image2DArray
|
|
77
|
-
iimage1DArray iimage2DArray uimage1DArray uimage2DArray
|
|
78
|
-
image1DShadow image2DShadow
|
|
79
|
-
image1DArrayShadow image2DArrayShadow
|
|
80
|
-
imageBuffer iimageBuffer uimageBuffer
|
|
81
|
-
sizeof cast
|
|
82
|
-
namespace using
|
|
83
|
-
row_major
|
|
84
|
-
)
|
|
85
|
-
end
|
|
23
|
+
rule %r/^#(?:[^\n]|\\\r?\n)*/, Comment::Preproc
|
|
24
|
+
rule %r/defined\b/, Comment::Preproc
|
|
25
|
+
rule %r/__(?:LINE|FILE|VERSION)__\b/, Keyword::Constant
|
|
26
|
+
rule %r/(?:true|false)\b/, Keyword::Pseudo
|
|
86
27
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
gl_LightSourceParameters gl_LightSource gl_MaxLights gl_LightModelParameters
|
|
123
|
-
gl_LightModel gl_LightModelProducts gl_FrontLightModelProduct
|
|
124
|
-
gl_BackLightModelProduct gl_LightProducts gl_FrontLightProduct
|
|
125
|
-
gl_BackLightProduct gl_TextureEnvColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR
|
|
126
|
-
gl_EyePlaneQ gl_ObjectPlaneS gl_ObjectPlaneT gl_ObjectPlaneR gl_ObjectPlaneQ
|
|
127
|
-
gl_FogParameters gl_Fog
|
|
128
|
-
)
|
|
28
|
+
rule %r/0x\h+u?/i, Num::Hex
|
|
29
|
+
rule %r/(?:\d+[.]\d*|[.]\d+)(?:e[+-]?\d+)?(?:l?f)?/i, Num::Float
|
|
30
|
+
rule %r/\d+(?:e[+-]?\d+)(?:l?f)?/i, Num::Float
|
|
31
|
+
rule %r/[1-9]\d*u?/i, Num::Integer
|
|
32
|
+
rule %r/0[0-7]+/, Num::Oct
|
|
33
|
+
rule %r/0/, Num::Integer
|
|
34
|
+
rule %r([-.+/*%<>\[\](){}^|&~=!:;,?]), Punctuation
|
|
35
|
+
|
|
36
|
+
rule %r/\w+/ do |m|
|
|
37
|
+
if KEYWORDS.include?(m[0])
|
|
38
|
+
token Keyword
|
|
39
|
+
elsif TYPES.include?(m[0])
|
|
40
|
+
token Keyword::Type
|
|
41
|
+
else
|
|
42
|
+
fallthrough!
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
rule %r/\w+(?=\s*[(])/ do |m|
|
|
47
|
+
if BUILTINS.include?(m[0])
|
|
48
|
+
token Name::Builtin
|
|
49
|
+
else
|
|
50
|
+
token Name::Function
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
rule %r/\w+/ do |m|
|
|
55
|
+
if GL_VARS.include?(m[0])
|
|
56
|
+
token Name::Constant
|
|
57
|
+
elsif BUILTINS.include?(m[0])
|
|
58
|
+
token Name::Builtin
|
|
59
|
+
else
|
|
60
|
+
token Name
|
|
61
|
+
end
|
|
62
|
+
end
|
|
129
63
|
end
|
|
130
64
|
end
|
|
65
|
+
|
|
66
|
+
# backcompat
|
|
67
|
+
Glsl = GLSL
|
|
131
68
|
end
|
|
132
69
|
end
|
data/lib/rouge/lexers/go.rb
CHANGED
data/lib/rouge/lexers/gradle.rb
CHANGED
data/lib/rouge/lexers/groovy.rb
CHANGED
|
@@ -42,6 +42,12 @@ module Rouge
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
state :root do
|
|
45
|
+
# groovy allows a file to start with a shebang
|
|
46
|
+
rule %r/\A#!(.*?)$/, Comment::Preproc
|
|
47
|
+
rule %r//, Text, :base
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
state :base do
|
|
45
51
|
rule %r(^
|
|
46
52
|
(\s*(?:\w[\w.\[\]]*\s+)+?) # return arguments
|
|
47
53
|
(\w\w*) # method name
|
data/lib/rouge/lexers/gts.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'typescript'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
load_lexer 'typescript.rb'
|
|
7
|
-
|
|
8
8
|
class Gts < Typescript
|
|
9
9
|
title "Template Tag (gts)"
|
|
10
10
|
desc "Ember.js, TypeScript with <template> tags"
|
data/lib/rouge/lexers/hack.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'php'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
load_lexer 'php.rb'
|
|
7
|
-
|
|
8
8
|
class Hack < PHP
|
|
9
9
|
title 'Hack'
|
|
10
10
|
desc 'The Hack programming language (hacklang.org)'
|
|
@@ -13,16 +13,14 @@ module Rouge
|
|
|
13
13
|
filenames '*.php', '*.hh'
|
|
14
14
|
|
|
15
15
|
def self.detect?(text)
|
|
16
|
-
return true if
|
|
16
|
+
return true if text.start_with?('<?hh')
|
|
17
17
|
return true if text.shebang?('hhvm')
|
|
18
|
-
return true if /async function [a-zA-Z]/ =~ text
|
|
19
|
-
return true if /\): Awaitable</ =~ text
|
|
20
18
|
|
|
21
19
|
return false
|
|
22
20
|
end
|
|
23
21
|
|
|
24
22
|
def self.keywords
|
|
25
|
-
@
|
|
23
|
+
@keywords ||= super.merge Set.new %w(
|
|
26
24
|
type newtype enum
|
|
27
25
|
as super
|
|
28
26
|
async await Awaitable
|
data/lib/rouge/lexers/haxe.rb
CHANGED
|
@@ -139,7 +139,7 @@ module Rouge
|
|
|
139
139
|
state :root do
|
|
140
140
|
rule %r/\n/, Text, :statement
|
|
141
141
|
rule %r(\{), Punctuation, :expr_start
|
|
142
|
-
|
|
142
|
+
|
|
143
143
|
mixin :comments_and_whitespace
|
|
144
144
|
|
|
145
145
|
rule %r/@/, Name::Decorator, :metadata
|
|
@@ -254,7 +254,7 @@ module Rouge
|
|
|
254
254
|
rule %r/\\x\h{2}/, Str::Escape
|
|
255
255
|
rule %r/\\u\h{4}/, Str::Escape
|
|
256
256
|
rule %r/\\u\{\h{1,6}\}/, Str::Escape
|
|
257
|
-
end
|
|
257
|
+
end
|
|
258
258
|
|
|
259
259
|
state :str_interpol do
|
|
260
260
|
rule %r/\}/, Str::Interpol, :pop!
|
data/lib/rouge/lexers/hlsl.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'c'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
load_lexer 'c.rb'
|
|
7
|
-
|
|
8
8
|
class HLSL < C
|
|
9
9
|
title "HLSL"
|
|
10
10
|
desc "HLSL, the High Level Shading Language for DirectX (docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl)"
|
|
@@ -74,7 +74,7 @@ module Rouge
|
|
|
74
74
|
def self.builtins
|
|
75
75
|
@builtins ||= Set.new %w(
|
|
76
76
|
abort abs acos all AllMemoryBarrier AllMemoryBarrierWithGroupSync any
|
|
77
|
-
AppendStructuredBuffer asdouble asfloat asin asint asuint
|
|
77
|
+
AppendStructuredBuffer asdouble asfloat asin asint asuint atan
|
|
78
78
|
atan2 ceil CheckAccessFullyMapped clamp clip CompileShader
|
|
79
79
|
ConsumeStructuredBuffer cos cosh countbits cross D3DCOLORtoUBYTE4 ddx
|
|
80
80
|
ddx_coarse ddx_fine ddy ddy_coarse ddy_fine degrees determinant
|
|
@@ -95,9 +95,9 @@ module Rouge
|
|
|
95
95
|
ProcessTriTessFactorsAvg ProcessTriTessFactorsMax
|
|
96
96
|
ProcessTriTessFactorsMin QuadReadLaneAt QuadSwapX QuadSwapY radians
|
|
97
97
|
rcp reflect refract reversebits round rsqrt saturate sign sin sincos
|
|
98
|
-
sinh smoothstep sqrt step tan tanh tex1D
|
|
99
|
-
tex1Dlod tex1Dproj tex2D
|
|
100
|
-
tex3D
|
|
98
|
+
sinh smoothstep sqrt step tan tanh tex1D tex1Dbias tex1Dgrad
|
|
99
|
+
tex1Dlod tex1Dproj tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj
|
|
100
|
+
tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj texCUBE
|
|
101
101
|
texCUBEbias texCUBEgrad texCUBElod texCUBEproj transpose trunc
|
|
102
102
|
WaveAllBitAnd WaveAllMax WaveAllMin WaveAllBitOr WaveAllBitXor
|
|
103
103
|
WaveAllEqual WaveAllProduct WaveAllSum WaveAllTrue WaveAnyTrue
|
data/lib/rouge/lexers/hocon.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
+
require_relative 'json'
|
|
5
|
+
|
|
4
6
|
module Rouge
|
|
5
7
|
module Lexers
|
|
6
|
-
load_lexer 'json.rb'
|
|
7
|
-
|
|
8
8
|
class HOCON < JSON
|
|
9
9
|
title 'HOCON'
|
|
10
10
|
desc "Human-Optimized Config Object Notation (https://github.com/lightbend/config)"
|
data/lib/rouge/lexers/hql.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
2
|
|
|
3
|
+
require_relative 'sql'
|
|
4
|
+
|
|
3
5
|
module Rouge
|
|
4
6
|
module Lexers
|
|
5
|
-
load_lexer 'sql.rb'
|
|
6
|
-
|
|
7
7
|
class HQL < SQL
|
|
8
8
|
title "HQL"
|
|
9
9
|
desc "Hive Query Language SQL dialect"
|
|
@@ -40,7 +40,7 @@ module Rouge
|
|
|
40
40
|
CURRENT_DATE CURRENT_TIMESTAMP CURSOR DATABASE DATE DECIMAL DELETE
|
|
41
41
|
DESCRIBE DISTINCT DOUBLE DROP ELSE END EXCHANGE EXISTS EXTENDED
|
|
42
42
|
EXTERNAL FALSE FETCH FLOAT FOLLOWING FOR FROM FULL FUNCTION GRANT
|
|
43
|
-
GROUP GROUPING HAVING
|
|
43
|
+
GROUP GROUPING HAVING IMPORT IN INNER INSERT INT INTERSECT
|
|
44
44
|
INTERVAL INTO IS JOIN LATERAL LEFT LESS LIKE LOCAL MACRO MAP MORE
|
|
45
45
|
NONE NOT NULL OF ON OR ORDER OUT OUTER OVER PARTIALSCAN PARTITION
|
|
46
46
|
PERCENT PRECEDING PRESERVE PROCEDURE RANGE READS REDUCE REVOKE RIGHT
|
|
@@ -50,7 +50,7 @@ module Rouge
|
|
|
50
50
|
|
|
51
51
|
AUTOCOMMIT ISOLATION LEVEL OFFSET SNAPSHOT TRANSACTION WORK WRITE
|
|
52
52
|
|
|
53
|
-
COMMIT ONLY
|
|
53
|
+
COMMIT ONLY ROLLBACK START
|
|
54
54
|
|
|
55
55
|
ABORT KEY LAST NORELY NOVALIDATE NULLS RELY VALIDATE
|
|
56
56
|
|
|
@@ -66,35 +66,31 @@ module Rouge
|
|
|
66
66
|
|
|
67
67
|
NAMED_STRUCT CREATE_UNION
|
|
68
68
|
|
|
69
|
-
ROUND BROUND
|
|
69
|
+
ROUND BROUND CEIL CEILING RAND EXP LN LOG10 LOG2 LOG POW POWER SQRT BIN
|
|
70
70
|
HEX UNHEX CONV ABS PMOD SIN ASIN COS ACOS TAN ATAN DEGREES RADIANS POSITIVE
|
|
71
71
|
NEGATIVE SIGN E PI FACTORIAL CBRT SHIFTLEFT SHIFTRIGHT SHIFTRIGHTUNSIGNED
|
|
72
|
-
GREATEST LEAST WIDTH_BUCKET SIZE
|
|
73
|
-
SORT_ARRAY
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
TRUNC MONTHS_BETWEEN DATE_FORMAT IF ISNULL ISNOTNULL NVL COALESCE CASE WHEN
|
|
72
|
+
GREATEST LEAST WIDTH_BUCKET SIZE MAP_KEYS MAP_VALUES ARRAY_CONTAINS
|
|
73
|
+
SORT_ARRAY FROM_UNIXTIME UNIX_TIMESTAMP TO_DATE DAYOFMONTH
|
|
74
|
+
WEEKOFYEAR DATEDIFF DATE_ADD DATE_SUB FROM_UTC_TIMESTAMP
|
|
75
|
+
TO_UTC_TIMESTAMP ADD_MONTHS LAST_DAY NEXT_DAY
|
|
76
|
+
TRUNC MONTHS_BETWEEN DATE_FORMAT ISNULL ISNOTNULL NVL COALESCE
|
|
78
77
|
then else end NULLIF ASSERT_TRUE ASCII BASE64 CHARACTER_LENGTH CHR CONCAT
|
|
79
|
-
CONTEXT_NGRAMS CONCAT_WS
|
|
78
|
+
CONTEXT_NGRAMS CONCAT_WS DECODE ELT ENCODE FIELD FIND_IN_SET
|
|
80
79
|
FORMAT_NUMBER GET_JSON_OBJECT IN_FILE INSTR LENGTH LOCATE LOWER LCASE LPAD LTRIM
|
|
81
|
-
NGRAMS OCTET_LENGTH PARSE_URL PRINTF REGEXP_EXTRACT REGEXP_REPLACE REPEAT
|
|
82
|
-
REPLACE REVERSE RPAD RTRIM SENTENCES SPACE SPLIT STR_TO_MAP SUBSTR SUBSTRING
|
|
80
|
+
NGRAMS OCTET_LENGTH PARSE_URL PRINTF REGEXP_EXTRACT REGEXP_REPLACE REPEAT REVERSE RPAD RTRIM SENTENCES SPACE SPLIT STR_TO_MAP SUBSTR SUBSTRING
|
|
83
81
|
SUBSTRING_INDEX TRANSLATE TRIM UNBASE64 UPPER UCASE INITCAP LEVENSHTEIN SOUNDEX
|
|
84
82
|
MASK MASK_FIRST_N MASK_LAST_N MASK_SHOW_FIRST_N MASK_SHOW_LAST_N MASK_HASH
|
|
85
83
|
JAVA_METHOD REFLECT HASH CURRENT_USER LOGGED_IN_USER CURRENT_DATABASE MD5 SHA1
|
|
86
84
|
SHA CRC32 SHA2 AES_ENCRYPT AES_DECRYPT VERSION COUNT SUM AVG MIN MAX VARIANCE
|
|
87
85
|
VAR_POP VAR_SAMP STDDEV_POP STDDEV_SAMP COVAR_POP COVAR_SAMP CORR PERCENTILE
|
|
88
|
-
PERCENTILE_APPROX
|
|
86
|
+
PERCENTILE_APPROX REGR_AVGX REGR_AVGY REGR_COUNT
|
|
89
87
|
REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY HISTOGRAM_NUMERIC
|
|
90
|
-
COLLECT_SET COLLECT_LIST NTILE EXPLODE
|
|
88
|
+
COLLECT_SET COLLECT_LIST NTILE EXPLODE POSEXPLODE INLINE STACK
|
|
91
89
|
|
|
92
90
|
JSON_TUPLE PARSE_URL_TUPLE
|
|
93
91
|
|
|
94
92
|
XPATH XPATH_SHORT XPATH_INT XPATH_LONG XPATH_FLOAT XPATH_DOUBLE
|
|
95
|
-
XPATH_NUMBER XPATH_STRING
|
|
96
|
-
|
|
97
|
-
PARSE_URL_TUPLE
|
|
93
|
+
XPATH_NUMBER XPATH_STRING
|
|
98
94
|
))
|
|
99
95
|
end
|
|
100
96
|
|