rouge 3.2.0 → 3.18.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 +5 -5
- data/Gemfile +17 -3
- data/bin/rougify +1 -0
- data/lib/rouge.rb +67 -43
- data/lib/rouge/cli.rb +84 -17
- data/lib/rouge/demos/ada +26 -0
- data/lib/rouge/demos/apex +9 -0
- data/lib/rouge/demos/armasm +12 -0
- data/lib/rouge/demos/batchfile +3 -0
- data/lib/rouge/demos/bbcbasic +6 -0
- data/lib/rouge/demos/bpf +7 -0
- data/lib/rouge/demos/brainfuck +5 -0
- data/lib/rouge/demos/clean +6 -0
- data/lib/rouge/demos/cmhg +8 -0
- data/lib/rouge/demos/csvs +8 -0
- data/lib/rouge/demos/cuda +11 -0
- data/lib/rouge/demos/cypher +5 -0
- data/lib/rouge/demos/cython +6 -0
- data/lib/rouge/demos/datastudio +21 -0
- data/lib/rouge/demos/ecl +18 -0
- data/lib/rouge/demos/eex +1 -0
- data/lib/rouge/demos/epp +4 -0
- data/lib/rouge/demos/escape +3 -0
- data/lib/rouge/demos/freefem +16 -0
- data/lib/rouge/demos/gdscript +18 -0
- data/lib/rouge/demos/ghc-cmm +23 -0
- data/lib/rouge/demos/ghc-core +26 -0
- data/lib/rouge/demos/haxe +5 -0
- data/lib/rouge/demos/hocon +8 -0
- data/lib/rouge/demos/hql +5 -0
- data/lib/rouge/demos/isbl +4 -0
- data/lib/rouge/demos/jsl +3 -0
- data/lib/rouge/demos/jsp +29 -0
- data/lib/rouge/demos/liquid +0 -1
- data/lib/rouge/demos/lustre +6 -0
- data/lib/rouge/demos/lutin +18 -0
- data/lib/rouge/demos/m68k +16 -0
- data/lib/rouge/demos/magik +6 -0
- data/lib/rouge/demos/mason +22 -0
- data/lib/rouge/demos/mathematica +8 -0
- data/lib/rouge/demos/minizinc +23 -0
- data/lib/rouge/demos/msgtrans +4 -0
- data/lib/rouge/demos/nasm +6 -6
- data/lib/rouge/demos/nesasm +11 -0
- data/lib/rouge/demos/objective_cpp +17 -0
- data/lib/rouge/demos/openedge +4 -0
- data/lib/rouge/demos/opentype_feature_file +6 -0
- data/lib/rouge/demos/plist +1 -132
- data/lib/rouge/demos/powershell +12 -48
- data/lib/rouge/demos/q +6 -0
- data/lib/rouge/demos/reasonml +12 -0
- data/lib/rouge/demos/rego +8 -0
- data/lib/rouge/demos/robot_framework +27 -0
- data/lib/rouge/demos/sas +13 -0
- data/lib/rouge/demos/slice +10 -0
- data/lib/rouge/demos/solidity +13 -0
- data/lib/rouge/demos/sparql +6 -0
- data/lib/rouge/demos/sqf +14 -0
- data/lib/rouge/demos/supercollider +11 -0
- data/lib/rouge/demos/terraform +0 -15
- data/lib/rouge/demos/ttcn3 +6 -0
- data/lib/rouge/demos/vcl +12 -0
- data/lib/rouge/demos/xojo +14 -0
- data/lib/rouge/demos/xpath +2 -0
- data/lib/rouge/demos/xquery +22 -0
- data/lib/rouge/demos/yang +17 -0
- data/lib/rouge/formatter.rb +39 -2
- data/lib/rouge/formatters/html.rb +21 -2
- data/lib/rouge/formatters/html_inline.rb +1 -0
- data/lib/rouge/formatters/html_legacy.rb +1 -0
- data/lib/rouge/formatters/html_line_table.rb +53 -0
- data/lib/rouge/formatters/html_linewise.rb +7 -11
- data/lib/rouge/formatters/html_pygments.rb +2 -0
- data/lib/rouge/formatters/html_table.rb +21 -31
- data/lib/rouge/formatters/null.rb +1 -0
- data/lib/rouge/formatters/terminal256.rb +23 -5
- data/lib/rouge/formatters/terminal_truecolor.rb +37 -0
- data/lib/rouge/formatters/tex.rb +92 -0
- data/lib/rouge/guesser.rb +2 -0
- data/lib/rouge/guessers/disambiguation.rb +35 -0
- data/lib/rouge/guessers/filename.rb +2 -0
- data/lib/rouge/guessers/glob_mapping.rb +3 -1
- data/lib/rouge/guessers/mimetype.rb +2 -0
- data/lib/rouge/guessers/modeline.rb +3 -1
- data/lib/rouge/guessers/source.rb +3 -1
- data/lib/rouge/guessers/util.rb +2 -0
- data/lib/rouge/lexer.rb +71 -15
- data/lib/rouge/lexers/abap.rb +13 -11
- data/lib/rouge/lexers/actionscript.rb +35 -34
- data/lib/rouge/lexers/ada.rb +162 -0
- data/lib/rouge/lexers/apache.rb +13 -15
- data/lib/rouge/lexers/apache/keywords.rb +15 -0
- data/lib/rouge/lexers/apex.rb +126 -0
- data/lib/rouge/lexers/apiblueprint.rb +2 -0
- data/lib/rouge/lexers/apple_script.rb +17 -14
- data/lib/rouge/lexers/armasm.rb +145 -0
- data/lib/rouge/lexers/awk.rb +26 -25
- data/lib/rouge/lexers/batchfile.rb +164 -0
- data/lib/rouge/lexers/bbcbasic.rb +112 -0
- data/lib/rouge/lexers/biml.rb +6 -4
- data/lib/rouge/lexers/bpf.rb +118 -0
- data/lib/rouge/lexers/brainfuck.rb +53 -0
- data/lib/rouge/lexers/bsl.rb +13 -12
- data/lib/rouge/lexers/c.rb +35 -57
- data/lib/rouge/lexers/ceylon.rb +7 -34
- data/lib/rouge/lexers/cfscript.rb +27 -26
- data/lib/rouge/lexers/clean.rb +156 -0
- data/lib/rouge/lexers/clojure.rb +15 -14
- data/lib/rouge/lexers/cmake.rb +16 -14
- data/lib/rouge/lexers/cmhg.rb +34 -0
- data/lib/rouge/lexers/coffeescript.rb +90 -49
- data/lib/rouge/lexers/common_lisp.rb +39 -38
- data/lib/rouge/lexers/conf.rb +7 -6
- data/lib/rouge/lexers/console.rb +92 -38
- data/lib/rouge/lexers/coq.rb +27 -23
- data/lib/rouge/lexers/cpp.rb +24 -13
- data/lib/rouge/lexers/crystal.rb +71 -70
- data/lib/rouge/lexers/csharp.rb +29 -29
- data/lib/rouge/lexers/css.rb +24 -23
- data/lib/rouge/lexers/csvs.rb +44 -0
- data/lib/rouge/lexers/cuda.rb +35 -0
- data/lib/rouge/lexers/cypher.rb +108 -0
- data/lib/rouge/lexers/cython.rb +151 -0
- data/lib/rouge/lexers/d.rb +64 -63
- data/lib/rouge/lexers/dart.rb +34 -33
- data/lib/rouge/lexers/datastudio.rb +138 -0
- data/lib/rouge/lexers/diff.rb +10 -4
- data/lib/rouge/lexers/digdag.rb +3 -1
- data/lib/rouge/lexers/docker.rb +12 -11
- data/lib/rouge/lexers/dot.rb +19 -18
- data/lib/rouge/lexers/ecl.rb +175 -0
- data/lib/rouge/lexers/eex.rb +52 -0
- data/lib/rouge/lexers/eiffel.rb +21 -20
- data/lib/rouge/lexers/elixir.rb +52 -36
- data/lib/rouge/lexers/elm.rb +30 -29
- data/lib/rouge/lexers/epp.rb +51 -0
- data/lib/rouge/lexers/erb.rb +5 -4
- data/lib/rouge/lexers/erlang.rb +1 -0
- data/lib/rouge/lexers/escape.rb +58 -0
- data/lib/rouge/lexers/factor.rb +41 -40
- data/lib/rouge/lexers/fortran.rb +34 -32
- data/lib/rouge/lexers/freefem.rb +240 -0
- data/lib/rouge/lexers/fsharp.rb +33 -31
- data/lib/rouge/lexers/gdscript.rb +171 -0
- data/lib/rouge/lexers/ghc_cmm.rb +340 -0
- data/lib/rouge/lexers/ghc_core.rb +151 -0
- data/lib/rouge/lexers/gherkin.rb +17 -14
- data/lib/rouge/lexers/gherkin/keywords.rb +2 -0
- data/lib/rouge/lexers/glsl.rb +2 -5
- data/lib/rouge/lexers/go.rb +3 -2
- data/lib/rouge/lexers/gradle.rb +1 -0
- data/lib/rouge/lexers/graphql.rb +78 -60
- data/lib/rouge/lexers/groovy.rb +24 -25
- data/lib/rouge/lexers/hack.rb +2 -1
- data/lib/rouge/lexers/haml.rb +26 -29
- data/lib/rouge/lexers/handlebars.rb +32 -20
- data/lib/rouge/lexers/haskell.rb +67 -65
- data/lib/rouge/lexers/haxe.rb +246 -0
- data/lib/rouge/lexers/hcl.rb +26 -25
- data/lib/rouge/lexers/hocon.rb +86 -0
- data/lib/rouge/lexers/hql.rb +139 -0
- data/lib/rouge/lexers/html.rb +33 -31
- data/lib/rouge/lexers/http.rb +10 -9
- data/lib/rouge/lexers/hylang.rb +15 -14
- data/lib/rouge/lexers/idlang.rb +34 -32
- data/lib/rouge/lexers/igorpro.rb +32 -31
- data/lib/rouge/lexers/ini.rb +13 -12
- data/lib/rouge/lexers/io.rb +10 -9
- data/lib/rouge/lexers/irb.rb +6 -5
- data/lib/rouge/lexers/isbl.rb +97 -0
- data/lib/rouge/lexers/isbl/builtins.rb +17 -0
- data/lib/rouge/lexers/java.rb +29 -25
- data/lib/rouge/lexers/javascript.rb +58 -61
- data/lib/rouge/lexers/jinja.rb +39 -22
- data/lib/rouge/lexers/jsl.rb +55 -0
- data/lib/rouge/lexers/json.rb +54 -11
- data/lib/rouge/lexers/json_doc.rb +8 -5
- data/lib/rouge/lexers/jsonnet.rb +19 -18
- data/lib/rouge/lexers/jsp.rb +120 -0
- data/lib/rouge/lexers/jsx.rb +18 -16
- data/lib/rouge/lexers/julia.rb +182 -58
- data/lib/rouge/lexers/kotlin.rb +78 -26
- data/lib/rouge/lexers/lasso.rb +54 -58
- data/lib/rouge/lexers/lasso/keywords.rb +14 -0
- data/lib/rouge/lexers/liquid.rb +116 -118
- data/lib/rouge/lexers/literate_coffeescript.rb +3 -2
- data/lib/rouge/lexers/literate_haskell.rb +6 -5
- data/lib/rouge/lexers/llvm.rb +66 -49
- data/lib/rouge/lexers/lua.rb +43 -4
- data/lib/rouge/lexers/lua/builtins.rb +2 -0
- data/lib/rouge/lexers/lustre.rb +79 -0
- data/lib/rouge/lexers/lutin.rb +33 -0
- data/lib/rouge/lexers/m68k.rb +143 -0
- data/lib/rouge/lexers/magik.rb +127 -0
- data/lib/rouge/lexers/make.rb +57 -34
- data/lib/rouge/lexers/markdown.rb +67 -39
- data/lib/rouge/lexers/mason.rb +110 -0
- data/lib/rouge/lexers/mathematica.rb +96 -0
- data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
- data/lib/rouge/lexers/matlab.rb +26 -17
- data/lib/rouge/lexers/matlab/builtins.rb +4 -4
- data/lib/rouge/lexers/minizinc.rb +87 -0
- data/lib/rouge/lexers/moonscript.rb +4 -3
- data/lib/rouge/lexers/mosel.rb +64 -63
- data/lib/rouge/lexers/msgtrans.rb +26 -0
- data/lib/rouge/lexers/mxml.rb +19 -18
- data/lib/rouge/lexers/nasm.rb +43 -169
- data/lib/rouge/lexers/nesasm.rb +78 -0
- data/lib/rouge/lexers/nginx.rb +15 -14
- data/lib/rouge/lexers/nim.rb +4 -2
- data/lib/rouge/lexers/nix.rb +44 -43
- data/lib/rouge/lexers/objective_c.rb +5 -178
- data/lib/rouge/lexers/objective_c/common.rb +184 -0
- data/lib/rouge/lexers/objective_cpp.rb +31 -0
- data/lib/rouge/lexers/ocaml.rb +29 -64
- data/lib/rouge/lexers/ocaml/common.rb +53 -0
- data/lib/rouge/lexers/openedge.rb +429 -0
- data/lib/rouge/lexers/opentype_feature_file.rb +113 -0
- data/lib/rouge/lexers/pascal.rb +6 -5
- data/lib/rouge/lexers/perl.rb +102 -67
- data/lib/rouge/lexers/php.rb +91 -53
- data/lib/rouge/lexers/php/builtins.rb +183 -174
- data/lib/rouge/lexers/plain_text.rb +2 -1
- data/lib/rouge/lexers/plist.rb +16 -14
- data/lib/rouge/lexers/pony.rb +21 -20
- data/lib/rouge/lexers/powershell.rb +190 -638
- data/lib/rouge/lexers/praat.rb +76 -75
- data/lib/rouge/lexers/prolog.rb +27 -19
- data/lib/rouge/lexers/prometheus.rb +32 -30
- data/lib/rouge/lexers/properties.rb +13 -12
- data/lib/rouge/lexers/protobuf.rb +23 -22
- data/lib/rouge/lexers/puppet.rb +33 -32
- data/lib/rouge/lexers/python.rb +124 -99
- data/lib/rouge/lexers/q.rb +17 -14
- data/lib/rouge/lexers/qml.rb +13 -12
- data/lib/rouge/lexers/r.rb +13 -13
- data/lib/rouge/lexers/racket.rb +47 -22
- data/lib/rouge/lexers/reasonml.rb +65 -0
- data/lib/rouge/lexers/rego.rb +45 -0
- data/lib/rouge/lexers/robot_framework.rb +249 -0
- data/lib/rouge/lexers/ruby.rb +88 -71
- data/lib/rouge/lexers/rust.rb +45 -44
- data/lib/rouge/lexers/sas.rb +563 -0
- data/lib/rouge/lexers/sass.rb +9 -8
- data/lib/rouge/lexers/sass/common.rb +41 -40
- data/lib/rouge/lexers/scala.rb +67 -40
- data/lib/rouge/lexers/scheme.rb +19 -18
- data/lib/rouge/lexers/scss.rb +4 -3
- data/lib/rouge/lexers/sed.rb +31 -30
- data/lib/rouge/lexers/shell.rb +67 -55
- data/lib/rouge/lexers/sieve.rb +10 -9
- data/lib/rouge/lexers/slice.rb +32 -0
- data/lib/rouge/lexers/slim.rb +27 -26
- data/lib/rouge/lexers/smalltalk.rb +34 -33
- data/lib/rouge/lexers/smarty.rb +20 -19
- data/lib/rouge/lexers/sml.rb +68 -67
- data/lib/rouge/lexers/solidity.rb +185 -0
- data/lib/rouge/lexers/sparql.rb +129 -0
- data/lib/rouge/lexers/sqf.rb +109 -0
- data/lib/rouge/lexers/sqf/commands.rb +15 -0
- data/lib/rouge/lexers/sql.rb +47 -26
- data/lib/rouge/lexers/supercollider.rb +116 -0
- data/lib/rouge/lexers/swift.rb +49 -44
- data/lib/rouge/lexers/tap.rb +22 -20
- data/lib/rouge/lexers/tcl.rb +28 -27
- data/lib/rouge/lexers/terraform.rb +37 -13
- data/lib/rouge/lexers/tex.rb +20 -19
- data/lib/rouge/lexers/toml.rb +59 -20
- data/lib/rouge/lexers/tsx.rb +1 -0
- data/lib/rouge/lexers/ttcn3.rb +119 -0
- data/lib/rouge/lexers/tulip.rb +38 -36
- data/lib/rouge/lexers/turtle.rb +36 -38
- data/lib/rouge/lexers/twig.rb +1 -0
- data/lib/rouge/lexers/typescript.rb +12 -0
- data/lib/rouge/lexers/typescript/common.rb +1 -0
- data/lib/rouge/lexers/vala.rb +19 -18
- data/lib/rouge/lexers/varnish.rb +168 -0
- data/lib/rouge/lexers/vb.rb +28 -27
- data/lib/rouge/lexers/verilog.rb +27 -28
- data/lib/rouge/lexers/vhdl.rb +12 -11
- data/lib/rouge/lexers/viml.rb +15 -14
- data/lib/rouge/lexers/viml/keywords.rb +2 -0
- data/lib/rouge/lexers/vue.rb +15 -10
- data/lib/rouge/lexers/wollok.rb +27 -26
- data/lib/rouge/lexers/xml.rb +18 -21
- data/lib/rouge/lexers/xojo.rb +61 -0
- data/lib/rouge/lexers/xpath.rb +332 -0
- data/lib/rouge/lexers/xquery.rb +145 -0
- data/lib/rouge/lexers/yaml.rb +64 -61
- data/lib/rouge/lexers/yang.rb +147 -0
- data/lib/rouge/plugins/redcarpet.rb +9 -2
- data/lib/rouge/regex_lexer.rb +27 -25
- data/lib/rouge/template_lexer.rb +1 -0
- data/lib/rouge/tex_theme_renderer.rb +132 -0
- data/lib/rouge/text_analyzer.rb +1 -0
- data/lib/rouge/theme.rb +5 -0
- data/lib/rouge/themes/base16.rb +1 -0
- data/lib/rouge/themes/bw.rb +41 -0
- data/lib/rouge/themes/colorful.rb +1 -0
- data/lib/rouge/themes/github.rb +1 -0
- data/lib/rouge/themes/gruvbox.rb +1 -0
- data/lib/rouge/themes/igor_pro.rb +1 -0
- data/lib/rouge/themes/magritte.rb +78 -0
- data/lib/rouge/themes/molokai.rb +1 -0
- data/lib/rouge/themes/monokai.rb +1 -0
- data/lib/rouge/themes/monokai_sublime.rb +4 -1
- data/lib/rouge/themes/pastie.rb +2 -1
- data/lib/rouge/themes/thankful_eyes.rb +2 -1
- data/lib/rouge/themes/tulip.rb +2 -1
- data/lib/rouge/token.rb +31 -22
- data/lib/rouge/util.rb +3 -2
- data/lib/rouge/version.rb +2 -1
- data/rouge.gemspec +6 -3
- metadata +130 -8
- data/lib/rouge/lexers/apache/keywords.yml +0 -764
- data/lib/rouge/lexers/lasso/keywords.yml +0 -446
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*- #
|
|
2
|
+
|
|
3
|
+
module Rouge
|
|
4
|
+
module Lexers
|
|
5
|
+
load_lexer 'sql.rb'
|
|
6
|
+
|
|
7
|
+
class HQL < SQL
|
|
8
|
+
title "HQL"
|
|
9
|
+
desc "Hive Query Language SQL dialect"
|
|
10
|
+
tag 'hql'
|
|
11
|
+
filenames '*.hql'
|
|
12
|
+
|
|
13
|
+
def self.keywords
|
|
14
|
+
# sources:
|
|
15
|
+
# https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL
|
|
16
|
+
# https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
|
|
17
|
+
@keywords ||= Set.new(%w(
|
|
18
|
+
ADD ADMIN AFTER ANALYZE ARCHIVE ASC BEFORE BUCKET BUCKETS CASCADE
|
|
19
|
+
CHANGE CLUSTER CLUSTERED CLUSTERSTATUS COLLECTION COLUMNS COMMENT
|
|
20
|
+
COMPACT COMPACTIONS COMPUTE CONCATENATE CONTINUE DATA DATABASES
|
|
21
|
+
DATETIME DAY DBPROPERTIES DEFERRED DEFINED DELIMITED DEPENDENCY DESC
|
|
22
|
+
DIRECTORIES DIRECTORY DISABLE DISTRIBUTE ELEM_TYPE ENABLE ESCAPED
|
|
23
|
+
EXCLUSIVE EXPLAIN EXPORT FIELDS FILE FILEFORMAT FIRST FORMAT FORMATTED
|
|
24
|
+
FUNCTIONS HOLD_DDLTIME HOUR IDXPROPERTIES IGNORE INDEX INDEXES INPATH
|
|
25
|
+
INPUTDRIVER INPUTFORMAT ITEMS JAR KEYS KEY_TYPE LIMIT LINES LOAD
|
|
26
|
+
LOCATION LOCK LOCKS LOGICAL LONG MAPJOIN MATERIALIZED METADATA MINUS
|
|
27
|
+
MINUTE MONTH MSCK NOSCAN NO_DROP OFFLINE OPTION OUTPUTDRIVER
|
|
28
|
+
OUTPUTFORMAT OVERWRITE OWNER PARTITIONED PARTITIONS PLUS PRETTY
|
|
29
|
+
PRINCIPALS PROTECTION PURGE READ READONLY REBUILD RECORDREADER
|
|
30
|
+
RECORDWRITER REGEXP RELOAD RENAME REPAIR REPLACE REPLICATION RESTRICT
|
|
31
|
+
REWRITE RLIKE ROLE ROLES SCHEMA SCHEMAS SECOND SEMI SERDE
|
|
32
|
+
SERDEPROPERTIES SERVER SETS SHARED SHOW SHOW_DATABASE SKEWED SORT
|
|
33
|
+
SORTED SSL STATISTICS STORED STREAMTABLE STRING STRUCT TABLES
|
|
34
|
+
TBLPROPERTIES TEMPORARY TERMINATED TINYINT TOUCH TRANSACTIONS UNARCHIVE
|
|
35
|
+
UNDO UNIONTYPE UNLOCK UNSET UNSIGNED URI USE UTC UTCTIMESTAMP
|
|
36
|
+
VALUE_TYPE VIEW WHILE YEAR IF
|
|
37
|
+
|
|
38
|
+
ALL ALTER AND ARRAY AS AUTHORIZATION BETWEEN BIGINT BINARY BOOLEAN
|
|
39
|
+
BOTH BY CASE CAST CHAR COLUMN CONF CREATE CROSS CUBE CURRENT
|
|
40
|
+
CURRENT_DATE CURRENT_TIMESTAMP CURSOR DATABASE DATE DECIMAL DELETE
|
|
41
|
+
DESCRIBE DISTINCT DOUBLE DROP ELSE END EXCHANGE EXISTS EXTENDED
|
|
42
|
+
EXTERNAL FALSE FETCH FLOAT FOLLOWING FOR FROM FULL FUNCTION GRANT
|
|
43
|
+
GROUP GROUPING HAVING IF IMPORT IN INNER INSERT INT INTERSECT
|
|
44
|
+
INTERVAL INTO IS JOIN LATERAL LEFT LESS LIKE LOCAL MACRO MAP MORE
|
|
45
|
+
NONE NOT NULL OF ON OR ORDER OUT OUTER OVER PARTIALSCAN PARTITION
|
|
46
|
+
PERCENT PRECEDING PRESERVE PROCEDURE RANGE READS REDUCE REVOKE RIGHT
|
|
47
|
+
ROLLUP ROW ROWS SELECT SET SMALLINT TABLE TABLESAMPLE THEN TIMESTAMP
|
|
48
|
+
TO TRANSFORM TRIGGER TRUE TRUNCATE UNBOUNDED UNION UNIQUEJOIN UPDATE
|
|
49
|
+
USER USING UTC_TMESTAMP VALUES VARCHAR WHEN WHERE WINDOW WITH
|
|
50
|
+
|
|
51
|
+
AUTOCOMMIT ISOLATION LEVEL OFFSET SNAPSHOT TRANSACTION WORK WRITE
|
|
52
|
+
|
|
53
|
+
COMMIT ONLY REGEXP RLIKE ROLLBACK START
|
|
54
|
+
|
|
55
|
+
ABORT KEY LAST NORELY NOVALIDATE NULLS RELY VALIDATE
|
|
56
|
+
|
|
57
|
+
CACHE CONSTRAINT FOREIGN PRIMARY REFERENCES
|
|
58
|
+
|
|
59
|
+
DETAIL DOW EXPRESSION OPERATOR QUARTER SUMMARY VECTORIZATION WEEK YEARS MONTHS WEEKS DAYS HOURS MINUTES SECONDS
|
|
60
|
+
|
|
61
|
+
DAYOFWEEK EXTRACT FLOOR INTEGER PRECISION VIEWS
|
|
62
|
+
|
|
63
|
+
TIMESTAMPTZ ZONE
|
|
64
|
+
|
|
65
|
+
TIME NUMERIC
|
|
66
|
+
|
|
67
|
+
NAMED_STRUCT CREATE_UNION
|
|
68
|
+
|
|
69
|
+
ROUND BROUND FLOOR CEIL CEILING RAND EXP LN LOG10 LOG2 LOG POW POWER SQRT BIN
|
|
70
|
+
HEX UNHEX CONV ABS PMOD SIN ASIN COS ACOS TAN ATAN DEGREES RADIANS POSITIVE
|
|
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
|
|
78
|
+
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
|
|
80
|
+
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
|
|
83
|
+
SUBSTRING_INDEX TRANSLATE TRIM UNBASE64 UPPER UCASE INITCAP LEVENSHTEIN SOUNDEX
|
|
84
|
+
MASK MASK_FIRST_N MASK_LAST_N MASK_SHOW_FIRST_N MASK_SHOW_LAST_N MASK_HASH
|
|
85
|
+
JAVA_METHOD REFLECT HASH CURRENT_USER LOGGED_IN_USER CURRENT_DATABASE MD5 SHA1
|
|
86
|
+
SHA CRC32 SHA2 AES_ENCRYPT AES_DECRYPT VERSION COUNT SUM AVG MIN MAX VARIANCE
|
|
87
|
+
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
|
|
89
|
+
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
|
|
91
|
+
|
|
92
|
+
JSON_TUPLE PARSE_URL_TUPLE
|
|
93
|
+
|
|
94
|
+
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
|
|
98
|
+
))
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def self.keywords_type
|
|
102
|
+
# source: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types
|
|
103
|
+
@keywords_type ||= Set.new(%w(
|
|
104
|
+
TINYINT SMALLINT INT INTEGER BIGINT FLOAT DOUBLE PRECISION DECIMAL NUMERIC
|
|
105
|
+
TIMESTAMP DATE INTERVAL
|
|
106
|
+
STRING VARCHAR CHAR
|
|
107
|
+
BOOLEAN BINARY
|
|
108
|
+
ARRAY MAP STRUCT UNIONTYPE
|
|
109
|
+
))
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
prepend :root do
|
|
113
|
+
# a double-quoted string is a string literal in Hive QL.
|
|
114
|
+
rule %r/"/, Str::Double, :double_string
|
|
115
|
+
|
|
116
|
+
# interpolation of variables through ${...}
|
|
117
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
prepend :single_string do
|
|
121
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
122
|
+
rule %r/[^\\'\$]+/, Str::Single
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
prepend :double_string do
|
|
126
|
+
rule %r/\$\{/, Name::Variable, :hive_variable
|
|
127
|
+
# double-quoted strings are string literals so need to change token
|
|
128
|
+
rule %r/"/, Str::Double, :pop!
|
|
129
|
+
rule %r/[^\\"\$]+/, Str::Double
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
state :hive_variable do
|
|
133
|
+
rule %r/\}/, Name::Variable, :pop!
|
|
134
|
+
rule %r/[^\}]+/, Name::Variable
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
data/lib/rouge/lexers/html.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Rouge
|
|
4
5
|
module Lexers
|
|
@@ -11,6 +12,7 @@ module Rouge
|
|
|
11
12
|
|
|
12
13
|
def self.detect?(text)
|
|
13
14
|
return true if text.doctype?(/\bhtml\b/i)
|
|
15
|
+
return false if text =~ /\A<\?xml\b/
|
|
14
16
|
return true if text =~ /<\s*html\b/
|
|
15
17
|
end
|
|
16
18
|
|
|
@@ -20,21 +22,21 @@ module Rouge
|
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
state :root do
|
|
23
|
-
rule /[^<&]+/m, Text
|
|
24
|
-
rule /&\S*?;/, Name::Entity
|
|
25
|
-
rule /<!DOCTYPE .*?>/im, Comment::Preproc
|
|
26
|
-
rule /<!\[CDATA\[.*?\]\]>/m, Comment::Preproc
|
|
27
|
-
rule /<!--/, Comment, :comment
|
|
28
|
-
rule /<\?.*?\?>/m, Comment::Preproc # php? really?
|
|
29
|
-
|
|
30
|
-
rule /<\s*script\s*/m do
|
|
25
|
+
rule %r/[^<&]+/m, Text
|
|
26
|
+
rule %r/&\S*?;/, Name::Entity
|
|
27
|
+
rule %r/<!DOCTYPE .*?>/im, Comment::Preproc
|
|
28
|
+
rule %r/<!\[CDATA\[.*?\]\]>/m, Comment::Preproc
|
|
29
|
+
rule %r/<!--/, Comment, :comment
|
|
30
|
+
rule %r/<\?.*?\?>/m, Comment::Preproc # php? really?
|
|
31
|
+
|
|
32
|
+
rule %r/<\s*script\s*/m do
|
|
31
33
|
token Name::Tag
|
|
32
34
|
@javascript.reset!
|
|
33
35
|
push :script_content
|
|
34
36
|
push :tag
|
|
35
37
|
end
|
|
36
38
|
|
|
37
|
-
rule /<\s*style\s*/m do
|
|
39
|
+
rule %r/<\s*style\s*/m do
|
|
38
40
|
token Name::Tag
|
|
39
41
|
@css.reset!
|
|
40
42
|
@lang = @css
|
|
@@ -42,8 +44,8 @@ module Rouge
|
|
|
42
44
|
push :tag
|
|
43
45
|
end
|
|
44
46
|
|
|
45
|
-
rule
|
|
46
|
-
rule /</, Name::Tag, :tag_start
|
|
47
|
+
rule %r(</), Name::Tag, :tag_end
|
|
48
|
+
rule %r/</, Name::Tag, :tag_start
|
|
47
49
|
|
|
48
50
|
rule %r(<\s*[a-zA-Z0-9:-]+), Name::Tag, :tag # opening tags
|
|
49
51
|
rule %r(<\s*/\s*[a-zA-Z0-9:-]+\s*>), Name::Tag # closing tags
|
|
@@ -51,21 +53,21 @@ module Rouge
|
|
|
51
53
|
|
|
52
54
|
state :tag_end do
|
|
53
55
|
mixin :tag_end_end
|
|
54
|
-
rule /[a-zA-Z0-9:-]+/ do
|
|
56
|
+
rule %r/[a-zA-Z0-9:-]+/ do
|
|
55
57
|
token Name::Tag
|
|
56
58
|
goto :tag_end_end
|
|
57
59
|
end
|
|
58
60
|
end
|
|
59
61
|
|
|
60
62
|
state :tag_end_end do
|
|
61
|
-
rule /\s+/, Text
|
|
62
|
-
rule />/, Name::Tag, :pop!
|
|
63
|
+
rule %r/\s+/, Text
|
|
64
|
+
rule %r/>/, Name::Tag, :pop!
|
|
63
65
|
end
|
|
64
66
|
|
|
65
67
|
state :tag_start do
|
|
66
|
-
rule /\s+/, Text
|
|
68
|
+
rule %r/\s+/, Text
|
|
67
69
|
|
|
68
|
-
rule /[a-zA-Z0-9:-]+/ do
|
|
70
|
+
rule %r/[a-zA-Z0-9:-]+/ do
|
|
69
71
|
token Name::Tag
|
|
70
72
|
goto :tag
|
|
71
73
|
end
|
|
@@ -74,41 +76,41 @@ module Rouge
|
|
|
74
76
|
end
|
|
75
77
|
|
|
76
78
|
state :comment do
|
|
77
|
-
rule /[^-]+/, Comment
|
|
78
|
-
rule /-->/, Comment, :pop!
|
|
79
|
-
rule /-/, Comment
|
|
79
|
+
rule %r/[^-]+/, Comment
|
|
80
|
+
rule %r/-->/, Comment, :pop!
|
|
81
|
+
rule %r/-/, Comment
|
|
80
82
|
end
|
|
81
83
|
|
|
82
84
|
state :tag do
|
|
83
|
-
rule /\s+/m, Text
|
|
84
|
-
rule /[a-zA-Z0-9_
|
|
85
|
-
rule /[a-zA-Z0-9_
|
|
85
|
+
rule %r/\s+/m, Text
|
|
86
|
+
rule %r/[a-zA-Z0-9_:\[\]()*.-]+\s*=\s*/m, Name::Attribute, :attr
|
|
87
|
+
rule %r/[a-zA-Z0-9_:#*-]+/, Name::Attribute
|
|
86
88
|
rule %r(/?\s*>)m, Name::Tag, :pop!
|
|
87
89
|
end
|
|
88
90
|
|
|
89
91
|
state :attr do
|
|
90
92
|
# TODO: are backslash escapes valid here?
|
|
91
|
-
rule /"/ do
|
|
93
|
+
rule %r/"/ do
|
|
92
94
|
token Str
|
|
93
95
|
goto :dq
|
|
94
96
|
end
|
|
95
97
|
|
|
96
|
-
rule /'/ do
|
|
98
|
+
rule %r/'/ do
|
|
97
99
|
token Str
|
|
98
100
|
goto :sq
|
|
99
101
|
end
|
|
100
102
|
|
|
101
|
-
rule /[^\s>]+/, Str, :pop!
|
|
103
|
+
rule %r/[^\s>]+/, Str, :pop!
|
|
102
104
|
end
|
|
103
105
|
|
|
104
106
|
state :dq do
|
|
105
|
-
rule /"/, Str, :pop!
|
|
106
|
-
rule /[^"]+/, Str
|
|
107
|
+
rule %r/"/, Str, :pop!
|
|
108
|
+
rule %r/[^"]+/, Str
|
|
107
109
|
end
|
|
108
110
|
|
|
109
111
|
state :sq do
|
|
110
|
-
rule /'/, Str, :pop!
|
|
111
|
-
rule /[^']+/, Str
|
|
112
|
+
rule %r/'/, Str, :pop!
|
|
113
|
+
rule %r/[^']+/, Str
|
|
112
114
|
end
|
|
113
115
|
|
|
114
116
|
state :script_content do
|
|
@@ -124,13 +126,13 @@ module Rouge
|
|
|
124
126
|
end
|
|
125
127
|
|
|
126
128
|
state :style_content do
|
|
127
|
-
rule /[^<]+/ do
|
|
129
|
+
rule %r/[^<]+/ do
|
|
128
130
|
delegate @lang
|
|
129
131
|
end
|
|
130
132
|
|
|
131
133
|
rule %r(<\s*/\s*style\s*>)m, Name::Tag, :pop!
|
|
132
134
|
|
|
133
|
-
rule /</ do
|
|
135
|
+
rule %r/</ do
|
|
134
136
|
delegate @lang
|
|
135
137
|
end
|
|
136
138
|
end
|
data/lib/rouge/lexers/http.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Rouge
|
|
4
5
|
module Lexers
|
|
@@ -25,8 +26,8 @@ module Rouge
|
|
|
25
26
|
# request
|
|
26
27
|
rule %r(
|
|
27
28
|
(#{HTTP.http_methods.join('|')})([ ]+) # method
|
|
28
|
-
([^ ]+)([ ]+)
|
|
29
|
-
(HTTPS?)(/)(
|
|
29
|
+
([^ ]+)([ ]+) # path
|
|
30
|
+
(HTTPS?)(/)(\d(?:\.\d)?)(\r?\n|$) # http version
|
|
30
31
|
)ox do
|
|
31
32
|
groups(
|
|
32
33
|
Name::Function, Text,
|
|
@@ -39,9 +40,9 @@ module Rouge
|
|
|
39
40
|
|
|
40
41
|
# response
|
|
41
42
|
rule %r(
|
|
42
|
-
(HTTPS?)(/)(
|
|
43
|
-
(\d{3})([ ]+)
|
|
44
|
-
([^\r\n]
|
|
43
|
+
(HTTPS?)(/)(\d(?:\.\d))([ ]+) # http version
|
|
44
|
+
(\d{3})([ ]+)? # status
|
|
45
|
+
([^\r\n]*)?(\r?\n|$) # status message
|
|
45
46
|
)x do
|
|
46
47
|
groups(
|
|
47
48
|
Keyword, Operator, Num, Text,
|
|
@@ -53,7 +54,7 @@ module Rouge
|
|
|
53
54
|
end
|
|
54
55
|
|
|
55
56
|
state :headers do
|
|
56
|
-
rule /([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)/ do |m|
|
|
57
|
+
rule %r/([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)/ do |m|
|
|
57
58
|
key = m[1]
|
|
58
59
|
value = m[5]
|
|
59
60
|
if key.strip.casecmp('content-type').zero?
|
|
@@ -63,15 +64,15 @@ module Rouge
|
|
|
63
64
|
groups Name::Attribute, Text, Punctuation, Text, Str, Text
|
|
64
65
|
end
|
|
65
66
|
|
|
66
|
-
rule /([^\r\n]+)(\r?\n|$)/ do
|
|
67
|
+
rule %r/([^\r\n]+)(\r?\n|$)/ do
|
|
67
68
|
groups Str, Text
|
|
68
69
|
end
|
|
69
70
|
|
|
70
|
-
rule /\r?\n/, Text, :content
|
|
71
|
+
rule %r/\r?\n/, Text, :content
|
|
71
72
|
end
|
|
72
73
|
|
|
73
74
|
state :content do
|
|
74
|
-
rule /.+/m do
|
|
75
|
+
rule %r/.+/m do
|
|
75
76
|
delegate(content_lexer)
|
|
76
77
|
end
|
|
77
78
|
end
|
data/lib/rouge/lexers/hylang.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
2
3
|
|
|
3
4
|
module Rouge
|
|
4
5
|
module Lexers
|
|
@@ -53,22 +54,22 @@ module Rouge
|
|
|
53
54
|
end
|
|
54
55
|
|
|
55
56
|
state :root do
|
|
56
|
-
rule /;.*?$/, Comment::Single
|
|
57
|
-
rule /\s+/m, Text::Whitespace
|
|
57
|
+
rule %r/;.*?$/, Comment::Single
|
|
58
|
+
rule %r/\s+/m, Text::Whitespace
|
|
58
59
|
|
|
59
|
-
rule /-?\d+\.\d+/, Num::Float
|
|
60
|
-
rule /-?\d+/, Num::Integer
|
|
61
|
-
rule /0x-?[0-9a-fA-F]+/, Num::Hex
|
|
60
|
+
rule %r/-?\d+\.\d+/, Num::Float
|
|
61
|
+
rule %r/-?\d+/, Num::Integer
|
|
62
|
+
rule %r/0x-?[0-9a-fA-F]+/, Num::Hex
|
|
62
63
|
|
|
63
|
-
rule /"(\\.|[^"])*"/, Str
|
|
64
|
-
rule /'#{keyword}/, Str::Symbol
|
|
65
|
-
rule /::?#{keyword}/, Name::Constant
|
|
66
|
-
rule /\\(.|[a-z]+)/i, Str::Char
|
|
64
|
+
rule %r/"(\\.|[^"])*"/, Str
|
|
65
|
+
rule %r/'#{keyword}/, Str::Symbol
|
|
66
|
+
rule %r/::?#{keyword}/, Name::Constant
|
|
67
|
+
rule %r/\\(.|[a-z]+)/i, Str::Char
|
|
67
68
|
|
|
68
69
|
|
|
69
|
-
rule /~@|[`\'#^~&@]/, Operator
|
|
70
|
+
rule %r/~@|[`\'#^~&@]/, Operator
|
|
70
71
|
|
|
71
|
-
rule /(\()(\s*)(#{identifier})/m do |m|
|
|
72
|
+
rule %r/(\()(\s*)(#{identifier})/m do |m|
|
|
72
73
|
token Punctuation, m[1]
|
|
73
74
|
token Text::Whitespace, m[2]
|
|
74
75
|
token(name_token(m[3]) || Name::Function, m[3])
|
|
@@ -79,13 +80,13 @@ module Rouge
|
|
|
79
80
|
end
|
|
80
81
|
|
|
81
82
|
# vectors
|
|
82
|
-
rule /[\[\]]/, Punctuation
|
|
83
|
+
rule %r/[\[\]]/, Punctuation
|
|
83
84
|
|
|
84
85
|
# maps
|
|
85
|
-
rule /[{}]/, Punctuation
|
|
86
|
+
rule %r/[{}]/, Punctuation
|
|
86
87
|
|
|
87
88
|
# parentheses
|
|
88
|
-
rule /[()]/, Punctuation
|
|
89
|
+
rule %r/[()]/, Punctuation
|
|
89
90
|
end
|
|
90
91
|
end
|
|
91
92
|
end
|
data/lib/rouge/lexers/idlang.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*- #
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
2
4
|
# vim: set ts=2 sw=2 et:
|
|
3
5
|
|
|
4
6
|
module Rouge
|
|
@@ -207,17 +209,17 @@ module Rouge
|
|
|
207
209
|
end
|
|
208
210
|
|
|
209
211
|
state :root do
|
|
210
|
-
rule
|
|
212
|
+
rule %r/\s+/, Text::Whitespace
|
|
211
213
|
# Normal comments
|
|
212
|
-
rule /;.*$/, Comment::Single
|
|
213
|
-
rule /\,\s*\,/, Error
|
|
214
|
-
rule /\!#{name}/, Name::Variable::Global
|
|
214
|
+
rule %r/;.*$/, Comment::Single
|
|
215
|
+
rule %r/\,\s*\,/, Error
|
|
216
|
+
rule %r/\!#{name}/, Name::Variable::Global
|
|
215
217
|
|
|
216
|
-
rule /[(),:\&\$]/, Punctuation
|
|
218
|
+
rule %r/[(),:\&\$]/, Punctuation
|
|
217
219
|
|
|
218
220
|
## Format statements are quite a strange beast.
|
|
219
221
|
## Better process them in their own state.
|
|
220
|
-
#rule /\b(FORMAT)(\s*)(\()/mi do |m|
|
|
222
|
+
#rule %r/\b(FORMAT)(\s*)(\()/mi do |m|
|
|
221
223
|
# token Keyword, m[1]
|
|
222
224
|
# token Text::Whitespace, m[2]
|
|
223
225
|
# token Punctuation, m[3]
|
|
@@ -233,25 +235,25 @@ module Rouge
|
|
|
233
235
|
(_#{kind_param})? # kind parameter
|
|
234
236
|
)xi, Num::Float
|
|
235
237
|
|
|
236
|
-
rule /\d+(B|S|U|US|LL|L|ULL|UL)?/i, Num::Integer
|
|
237
|
-
rule /"[0-7]+(B|O|U|ULL|UL|LL|L)?/i, Num::Oct
|
|
238
|
-
rule /'[0-9A-F]+'X(B|S|US|ULL|UL|U|LL|L)?/i, Num::Hex
|
|
239
|
-
rule /(#{kind_param}_)?'/, Str::Single, :string_single
|
|
240
|
-
rule /(#{kind_param}_)?"/, Str::Double, :string_double
|
|
238
|
+
rule %r/\d+(B|S|U|US|LL|L|ULL|UL)?/i, Num::Integer
|
|
239
|
+
rule %r/"[0-7]+(B|O|U|ULL|UL|LL|L)?/i, Num::Oct
|
|
240
|
+
rule %r/'[0-9A-F]+'X(B|S|US|ULL|UL|U|LL|L)?/i, Num::Hex
|
|
241
|
+
rule %r/(#{kind_param}_)?'/, Str::Single, :string_single
|
|
242
|
+
rule %r/(#{kind_param}_)?"/, Str::Double, :string_double
|
|
241
243
|
|
|
242
244
|
rule %r{\#\#|\#|\&\&|\|\||/=|<=|>=|->|\@|\?|[-+*/<=~^{}]}, Operator
|
|
243
245
|
# Structures and the like
|
|
244
|
-
rule /(#{name})(\.)([^\s,]*)/i do
|
|
246
|
+
rule %r/(#{name})(\.)([^\s,]*)/i do
|
|
245
247
|
groups Name, Operator, Name
|
|
246
248
|
#delegate IDLang, m[3]
|
|
247
249
|
end
|
|
248
250
|
|
|
249
|
-
rule /(function|pro)((?:\s|\$\s)+)/i do
|
|
251
|
+
rule %r/(function|pro)((?:\s|\$\s)+)/i do
|
|
250
252
|
groups Keyword, Text::Whitespace
|
|
251
253
|
push :funcname
|
|
252
254
|
end
|
|
253
255
|
|
|
254
|
-
rule /#{name}/m do |m|
|
|
256
|
+
rule %r/#{name}/m do |m|
|
|
255
257
|
match = m[0].upcase
|
|
256
258
|
if self.class.keywords.include? match
|
|
257
259
|
token Keyword
|
|
@@ -273,37 +275,37 @@ module Rouge
|
|
|
273
275
|
end
|
|
274
276
|
|
|
275
277
|
state :funcname do
|
|
276
|
-
rule /#{name}/, Name::Function
|
|
278
|
+
rule %r/#{name}/, Name::Function
|
|
277
279
|
|
|
278
|
-
rule /\s+/, Text::Whitespace
|
|
279
|
-
rule /(:+|\$)/, Operator
|
|
280
|
-
rule /;.*/, Comment::Single
|
|
280
|
+
rule %r/\s+/, Text::Whitespace
|
|
281
|
+
rule %r/(:+|\$)/, Operator
|
|
282
|
+
rule %r/;.*/, Comment::Single
|
|
281
283
|
|
|
282
284
|
# Be done with this state if we hit EOL or comma
|
|
283
|
-
rule /$/, Text::Whitespace, :pop!
|
|
284
|
-
rule /,/, Operator, :pop!
|
|
285
|
+
rule %r/$/, Text::Whitespace, :pop!
|
|
286
|
+
rule %r/,/, Operator, :pop!
|
|
285
287
|
end
|
|
286
288
|
|
|
287
289
|
state :string_single do
|
|
288
|
-
rule /[^']+/, Str::Single
|
|
289
|
-
rule /''/, Str::Escape
|
|
290
|
-
rule /'/, Str::Single, :pop!
|
|
290
|
+
rule %r/[^']+/, Str::Single
|
|
291
|
+
rule %r/''/, Str::Escape
|
|
292
|
+
rule %r/'/, Str::Single, :pop!
|
|
291
293
|
end
|
|
292
294
|
|
|
293
295
|
state :string_double do
|
|
294
|
-
rule /[^"]+/, Str::Double
|
|
295
|
-
rule /"/, Str::Double, :pop!
|
|
296
|
+
rule %r/[^"]+/, Str::Double
|
|
297
|
+
rule %r/"/, Str::Double, :pop!
|
|
296
298
|
end
|
|
297
299
|
|
|
298
300
|
state :format_spec do
|
|
299
|
-
rule /'/, Str::Single, :string_single
|
|
300
|
-
rule /"/, Str::Double, :string_double
|
|
301
|
-
rule /\(/, Punctuation, :format_spec
|
|
302
|
-
rule /\)/, Punctuation, :pop!
|
|
303
|
-
rule /,/, Punctuation
|
|
304
|
-
rule
|
|
301
|
+
rule %r/'/, Str::Single, :string_single
|
|
302
|
+
rule %r/"/, Str::Double, :string_double
|
|
303
|
+
rule %r/\(/, Punctuation, :format_spec
|
|
304
|
+
rule %r/\)/, Punctuation, :pop!
|
|
305
|
+
rule %r/,/, Punctuation
|
|
306
|
+
rule %r/\s+/, Text::Whitespace
|
|
305
307
|
# Edit descriptors could be seen as a kind of "format literal".
|
|
306
|
-
rule /[^\s'"(),]+/, Literal
|
|
308
|
+
rule %r/[^\s'"(),]+/, Literal
|
|
307
309
|
end
|
|
308
310
|
end
|
|
309
311
|
end
|