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.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +11 -4
  3. data/bin/rougify +3 -4
  4. data/lib/rouge/cli.rb +7 -10
  5. data/lib/rouge/demos/abap +30 -4
  6. data/lib/rouge/demos/dylan +8 -0
  7. data/lib/rouge/demos/kick_assembler +14 -0
  8. data/lib/rouge/demos/pdf +29 -0
  9. data/lib/rouge/demos/thrift +15 -0
  10. data/lib/rouge/demos/veryl +24 -0
  11. data/lib/rouge/eager.rb +3 -0
  12. data/lib/rouge/formatters/html.rb +8 -1
  13. data/lib/rouge/formatters/html_debug.rb +16 -0
  14. data/lib/rouge/formatters/html_legacy.rb +15 -1
  15. data/lib/rouge/formatters/html_legacy_table.rb +57 -0
  16. data/lib/rouge/formatters/html_line_highlighter.rb +11 -4
  17. data/lib/rouge/formatters/html_line_table.rb +8 -3
  18. data/lib/rouge/formatters/html_linewise.rb +11 -2
  19. data/lib/rouge/formatters/html_pygments.rb +6 -1
  20. data/lib/rouge/formatters/html_table.rb +47 -21
  21. data/lib/rouge/formatters/terminal256.rb +3 -3
  22. data/lib/rouge/formatters/tex.rb +1 -1
  23. data/lib/rouge/guesser.rb +1 -1
  24. data/lib/rouge/guessers/disambiguation.rb +2 -2
  25. data/lib/rouge/guessers/glob_mapping.rb +2 -2
  26. data/lib/rouge/guessers/modeline.rb +2 -2
  27. data/lib/rouge/lexer.rb +40 -21
  28. data/lib/rouge/lexers/abap/builtins.rb +187 -0
  29. data/lib/rouge/lexers/abap.rb +70 -178
  30. data/lib/rouge/lexers/ada.rb +1 -1
  31. data/lib/rouge/lexers/apache/keywords.rb +3 -11
  32. data/lib/rouge/lexers/apache.rb +25 -24
  33. data/lib/rouge/lexers/apex.rb +2 -2
  34. data/lib/rouge/lexers/apiblueprint.rb +2 -2
  35. data/lib/rouge/lexers/bicep.rb +2 -2
  36. data/lib/rouge/lexers/biml.rb +36 -9
  37. data/lib/rouge/lexers/brightscript.rb +3 -4
  38. data/lib/rouge/lexers/c.rb +9 -5
  39. data/lib/rouge/lexers/console.rb +11 -5
  40. data/lib/rouge/lexers/cpp.rb +10 -12
  41. data/lib/rouge/lexers/crystal.rb +1 -1
  42. data/lib/rouge/lexers/css.rb +21 -2
  43. data/lib/rouge/lexers/cuda.rb +4 -4
  44. data/lib/rouge/lexers/cython.rb +26 -50
  45. data/lib/rouge/lexers/dafny.rb +1 -1
  46. data/lib/rouge/lexers/dart.rb +2 -0
  47. data/lib/rouge/lexers/datastudio.rb +1 -1
  48. data/lib/rouge/lexers/digdag.rb +2 -3
  49. data/lib/rouge/lexers/dylan.rb +109 -0
  50. data/lib/rouge/lexers/ecl.rb +3 -3
  51. data/lib/rouge/lexers/elixir.rb +14 -9
  52. data/lib/rouge/lexers/escape.rb +1 -1
  53. data/lib/rouge/lexers/factor.rb +1 -1
  54. data/lib/rouge/lexers/freefem.rb +2 -2
  55. data/lib/rouge/lexers/ghc_cmm.rb +1 -1
  56. data/lib/rouge/lexers/ghc_core.rb +1 -1
  57. data/lib/rouge/lexers/gherkin/keywords.rb +10 -6
  58. data/lib/rouge/lexers/gherkin.rb +28 -26
  59. data/lib/rouge/lexers/gjs.rb +2 -2
  60. data/lib/rouge/lexers/glsl/builtins.rb +17 -0
  61. data/lib/rouge/lexers/glsl.rb +50 -113
  62. data/lib/rouge/lexers/go.rb +1 -1
  63. data/lib/rouge/lexers/gradle.rb +2 -2
  64. data/lib/rouge/lexers/groovy.rb +6 -0
  65. data/lib/rouge/lexers/gts.rb +2 -2
  66. data/lib/rouge/lexers/hack.rb +4 -6
  67. data/lib/rouge/lexers/haxe.rb +2 -2
  68. data/lib/rouge/lexers/hlsl.rb +6 -6
  69. data/lib/rouge/lexers/hocon.rb +2 -2
  70. data/lib/rouge/lexers/hql.rb +15 -19
  71. data/lib/rouge/lexers/idris.rb +1 -1
  72. data/lib/rouge/lexers/igorpro/builtins.rb +1530 -0
  73. data/lib/rouge/lexers/igorpro.rb +49 -520
  74. data/lib/rouge/lexers/irb.rb +3 -3
  75. data/lib/rouge/lexers/isbl.rb +7 -43
  76. data/lib/rouge/lexers/j.rb +1 -1
  77. data/lib/rouge/lexers/json5.rb +2 -2
  78. data/lib/rouge/lexers/json_doc.rb +2 -2
  79. data/lib/rouge/lexers/jsp.rb +119 -119
  80. data/lib/rouge/lexers/jsx.rb +2 -2
  81. data/lib/rouge/lexers/kick_assembler.rb +100 -0
  82. data/lib/rouge/lexers/kotlin.rb +5 -0
  83. data/lib/rouge/lexers/lasso/keywords.rb +6 -6
  84. data/lib/rouge/lexers/lasso.rb +9 -11
  85. data/lib/rouge/lexers/liquid.rb +5 -6
  86. data/lib/rouge/lexers/llvm/keywords.rb +3 -12
  87. data/lib/rouge/lexers/llvm.rb +5 -16
  88. data/lib/rouge/lexers/lua/keywords.rb +11 -13
  89. data/lib/rouge/lexers/lua.rb +8 -7
  90. data/lib/rouge/lexers/lutin.rb +5 -4
  91. data/lib/rouge/lexers/m68k.rb +3 -3
  92. data/lib/rouge/lexers/mason.rb +110 -110
  93. data/lib/rouge/lexers/mathematica/keywords.rb +1 -3
  94. data/lib/rouge/lexers/mathematica.rb +6 -7
  95. data/lib/rouge/lexers/matlab/keywords.rb +2 -2
  96. data/lib/rouge/lexers/matlab.rb +5 -5
  97. data/lib/rouge/lexers/meson.rb +1 -1
  98. data/lib/rouge/lexers/mojo.rb +6 -2
  99. data/lib/rouge/lexers/moonscript.rb +19 -17
  100. data/lib/rouge/lexers/nesasm.rb +6 -6
  101. data/lib/rouge/lexers/nial.rb +7 -8
  102. data/lib/rouge/lexers/nim.rb +3 -3
  103. data/lib/rouge/lexers/nix.rb +10 -8
  104. data/lib/rouge/lexers/objective_c.rb +3 -3
  105. data/lib/rouge/lexers/objective_cpp.rb +3 -2
  106. data/lib/rouge/lexers/ocaml.rb +2 -2
  107. data/lib/rouge/lexers/openedge.rb +9 -9
  108. data/lib/rouge/lexers/pdf.rb +109 -0
  109. data/lib/rouge/lexers/php/keywords.rb +136 -138
  110. data/lib/rouge/lexers/php.rb +58 -9
  111. data/lib/rouge/lexers/plsql.rb +8 -9
  112. data/lib/rouge/lexers/postscript.rb +1 -1
  113. data/lib/rouge/lexers/powershell.rb +1 -1
  114. data/lib/rouge/lexers/python.rb +110 -65
  115. data/lib/rouge/lexers/qml.rb +2 -2
  116. data/lib/rouge/lexers/reasonml.rb +2 -2
  117. data/lib/rouge/lexers/rego.rb +53 -53
  118. data/lib/rouge/lexers/rescript.rb +2 -2
  119. data/lib/rouge/lexers/robot_framework.rb +12 -12
  120. data/lib/rouge/lexers/{coq.rb → rocq.rb} +15 -6
  121. data/lib/rouge/lexers/ruby.rb +33 -7
  122. data/lib/rouge/lexers/rust.rb +1 -0
  123. data/lib/rouge/lexers/sas.rb +164 -165
  124. data/lib/rouge/lexers/sass/common.rb +1 -1
  125. data/lib/rouge/lexers/sass.rb +2 -2
  126. data/lib/rouge/lexers/scss.rb +2 -2
  127. data/lib/rouge/lexers/sed.rb +1 -1
  128. data/lib/rouge/lexers/shell.rb +5 -5
  129. data/lib/rouge/lexers/slice.rb +2 -2
  130. data/lib/rouge/lexers/sparql.rb +1 -1
  131. data/lib/rouge/lexers/sqf/keywords.rb +5 -3
  132. data/lib/rouge/lexers/sqf.rb +3 -4
  133. data/lib/rouge/lexers/stan.rb +9 -15
  134. data/lib/rouge/lexers/svelte.rb +2 -2
  135. data/lib/rouge/lexers/swift.rb +2 -2
  136. data/lib/rouge/lexers/tcl.rb +1 -1
  137. data/lib/rouge/lexers/terraform.rb +2 -2
  138. data/lib/rouge/lexers/thrift.rb +120 -0
  139. data/lib/rouge/lexers/tsx.rb +3 -3
  140. data/lib/rouge/lexers/ttcn3.rb +1 -1
  141. data/lib/rouge/lexers/twig.rb +2 -2
  142. data/lib/rouge/lexers/typescript.rb +3 -3
  143. data/lib/rouge/lexers/varnish.rb +8 -8
  144. data/lib/rouge/lexers/veryl.rb +109 -0
  145. data/lib/rouge/lexers/viml/keywords.rb +5 -7
  146. data/lib/rouge/lexers/viml.rb +8 -10
  147. data/lib/rouge/lexers/vue.rb +2 -2
  148. data/lib/rouge/lexers/xquery.rb +2 -1
  149. data/lib/rouge/lexers/yaml.rb +13 -1
  150. data/lib/rouge/lexers/yang.rb +42 -74
  151. data/lib/rouge/lexers/zig.rb +10 -10
  152. data/lib/rouge/plugins/redcarpet.rb +3 -2
  153. data/lib/rouge/regex_lexer.rb +25 -14
  154. data/lib/rouge/themes/gruvbox.rb +3 -0
  155. data/lib/rouge/token.rb +1 -1
  156. data/lib/rouge/util.rb +1 -1
  157. data/lib/rouge/version.rb +1 -1
  158. data/lib/rouge.rb +70 -59
  159. data/lib/rubocop/cop/rouge/no_building_alternation_pattern_in_regexp.rb +71 -0
  160. data/lib/rubocop/cop/rouge/no_huge_collections.rb +37 -0
  161. data/rouge.gemspec +8 -5
  162. metadata +40 -9
  163. data/lib/rouge/lexers/isbl/builtins.rb +0 -17
  164. data/lib/rouge/lexers/matlab/builtins.rb +0 -11
  165. /data/lib/rouge/demos/{coq → rocq} +0 -0
@@ -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
@@ -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
- load_lexer 'c.rb'
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
- def self.keywords
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
- def self.keywords_type
36
- @keywords_type ||= Set.new %w(
37
- float double int void bool true false
38
- lowp mediump highp
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
- def self.reserved
62
- @reserved ||= Set.new %w(
63
- common partition active
64
- asm
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
- def self.builtins
88
- @builtins ||= Set.new %w(
89
- gl_VertexID gl_InstanceID gl_PerVertex gl_Position gl_PointSize gl_ClipDistance
90
- gl_PrimitiveIDIn gl_InvocationID gl_PrimitiveID gl_Layer gl_ViewportIndex
91
- gl_MaxPatchVertices gl_PatchVerticesIn gl_TessLevelOuter gl_TessLevelInner
92
- gl_TessCoord gl_FragCoord gl_FrontFacing gl_PointCoord gl_SampleID gl_SamplePosition
93
- gl_FragColor gl_FragData gl_MaxDrawBuffers gl_FragDepth gl_SampleMask
94
- gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor
95
- gl_TexCoord gl_FogFragCoord gl_Color gl_SecondaryColor gl_Normal gl_VertexID
96
- gl_MultiTexCord0 gl_MultiTexCord1 gl_MultiTexCord2 gl_MultiTexCord3
97
- gl_MultiTexCord4 gl_MultiTexCord5 gl_MultiTexCord6 gl_MultiTexCord7
98
- gl_FogCoord gl_MaxVertexAttribs gl_MaxVertexUniformComponents
99
- gl_MaxVaryingFloats gl_MaxVaryingComponents gl_MaxVertexOutputComponents
100
- gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents
101
- gl_MaxFragmentInputComponents gl_MaxVertexTextureImageUnits
102
- gl_MaxCombinedTextureImageUnits gl_MaxTextureImageUnits
103
- gl_MaxFragmentUniformComponents gl_MaxClipDistances
104
- gl_MaxGeometryTextureImageUnits gl_MaxGeometryUniformComponents
105
- gl_MaxGeometryVaryingComponents gl_MaxTessControlInputComponents
106
- gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits
107
- gl_MaxTessControlUniformComponents gl_MaxTessControlTotalOutputComponents
108
- gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents
109
- gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents
110
- gl_MaxTessPatchComponents gl_MaxTessGenLevel gl_MaxViewports
111
- gl_MaxVertexUniformVectors gl_MaxFragmentUniformVectors gl_MaxVaryingVectors
112
- gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxClipPlanes gl_DepthRange
113
- gl_DepthRangeParameters gl_ModelViewMatrix gl_ProjectionMatrix
114
- gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix
115
- gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse
116
- gl_TextureMatrixInverse gl_ModelViewMatrixTranspose
117
- gl_ModelViewProjectionMatrixTranspose gl_TextureMatrixTranspose
118
- gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose
119
- gl_ModelViewProjectionMatrixInverseTranspose
120
- gl_TextureMatrixInverseTranspose gl_NormalScale gl_ClipPlane gl_PointParameters
121
- gl_Point gl_MaterialParameters gl_FrontMaterial gl_BackMaterial
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
@@ -127,7 +127,7 @@ module Rouge
127
127
  | rune | string | uint8
128
128
  | uint16 | uint32 | uint64
129
129
  | uintptr | uint
130
- )\b/x
130
+ )\b/x
131
131
 
132
132
  PREDECLARED_CONSTANTS = /\b(?:true|false|iota|nil)\b/
133
133
 
@@ -1,10 +1,10 @@
1
1
  # -*- coding: utf-8 -*- #
2
2
  # frozen_string_literal: true
3
3
 
4
+ require_relative 'groovy'
5
+
4
6
  module Rouge
5
7
  module Lexers
6
- load_lexer 'groovy.rb'
7
-
8
8
  class Gradle < Groovy
9
9
  title "Gradle"
10
10
  desc "A powerful build system for the JVM"
@@ -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
@@ -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"
@@ -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 /<\?hh/ =~ text
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
- @hh_keywords ||= super.merge Set.new %w(
23
+ @keywords ||= super.merge Set.new %w(
26
24
  type newtype enum
27
25
  as super
28
26
  async await Awaitable
@@ -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!
@@ -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 asuint atan
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 tex1D tex1Dbias tex1Dgrad
99
- tex1Dlod tex1Dproj tex2D tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj
100
- tex3D tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj texCUBE texCUBE
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
@@ -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)"
@@ -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 IF IMPORT IN INNER INSERT INT INTERSECT
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 REGEXP RLIKE ROLLBACK START
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 FLOOR CEIL CEILING RAND EXP LN LOG10 LOG2 LOG POW POWER SQRT BIN
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 SIZE MAP_KEYS MAP_VALUES ARRAY_CONTAINS
73
- SORT_ARRAY BINARY CAST FROM_UNIXTIME UNIX_TIMESTAMP UNIX_TIMESTAMP
74
- UNIX_TIMESTAMP TO_DATE YEAR QUARTER MONTH DAY DAYOFMONTH HOUR MINUTE SECOND
75
- WEEKOFYEAR EXTRACT DATEDIFF DATE_ADD DATE_SUB FROM_UTC_TIMESTAMP
76
- TO_UTC_TIMESTAMP CURRENT_DATE CURRENT_TIMESTAMP ADD_MONTHS LAST_DAY NEXT_DAY
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 CONCAT_WS DECODE ELT ENCODE FIELD FIND_IN_SET
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 PERCENTILE_APPROX REGR_AVGX REGR_AVGY REGR_COUNT
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 EXPLODE POSEXPLODE INLINE STACK
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 GET_JSON_OBJECT JSON_TUPLE
96
-
97
- PARSE_URL_TUPLE
93
+ XPATH_NUMBER XPATH_STRING
98
94
  ))
99
95
  end
100
96
 
@@ -112,7 +112,7 @@ module Rouge
112
112
 
113
113
  rule %r/\[\s*\]/, Keyword::Type
114
114
  rule %r/\(\s*\)/, Name::Builtin
115
-
115
+
116
116
  # Quasiquotations
117
117
  rule %r/(\[)([_a-z][\w']*)(\|)/ do |m|
118
118
  token Operator, m[1]