rouge 3.16.0 → 3.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/rougify +2 -2
- data/lib/rouge.rb +67 -53
- data/lib/rouge/demos/augeas +16 -0
- data/lib/rouge/demos/bibtex +12 -0
- data/lib/rouge/demos/brightscript +6 -0
- data/lib/rouge/demos/cypher +5 -0
- data/lib/rouge/demos/datastudio +21 -0
- data/lib/rouge/demos/ecl +18 -0
- data/lib/rouge/demos/ghc-cmm +23 -0
- data/lib/rouge/demos/hlsl +20 -0
- data/lib/rouge/demos/isbl +4 -0
- data/lib/rouge/demos/janet +3 -0
- data/lib/rouge/demos/livescript +15 -0
- data/lib/rouge/demos/rego +8 -0
- data/lib/rouge/demos/solidity +13 -0
- data/lib/rouge/demos/ssh +4 -0
- data/lib/rouge/demos/vcl +12 -0
- data/lib/rouge/demos/velocity +9 -0
- data/lib/rouge/demos/yang +17 -0
- data/lib/rouge/demos/zig +6 -0
- data/lib/rouge/lexer.rb +2 -1
- data/lib/rouge/lexers/apache.rb +22 -12
- data/lib/rouge/lexers/apache/keywords.rb +24 -0
- data/lib/rouge/lexers/augeas.rb +93 -0
- data/lib/rouge/lexers/batchfile.rb +1 -1
- data/lib/rouge/lexers/bibtex.rb +115 -0
- data/lib/rouge/lexers/brightscript.rb +147 -0
- data/lib/rouge/lexers/cmake.rb +1 -0
- data/lib/rouge/lexers/coffeescript.rb +47 -15
- data/lib/rouge/lexers/console.rb +53 -37
- data/lib/rouge/lexers/cpp.rb +21 -7
- data/lib/rouge/lexers/css.rb +3 -1
- data/lib/rouge/lexers/cypher.rb +108 -0
- data/lib/rouge/lexers/datastudio.rb +138 -0
- data/lib/rouge/lexers/diff.rb +1 -1
- data/lib/rouge/lexers/docker.rb +1 -1
- data/lib/rouge/lexers/ecl.rb +175 -0
- data/lib/rouge/lexers/fsharp.rb +1 -0
- data/lib/rouge/lexers/ghc_cmm.rb +340 -0
- data/lib/rouge/lexers/gherkin.rb +1 -1
- data/lib/rouge/lexers/gherkin/keywords.rb +9 -6
- data/lib/rouge/lexers/haskell.rb +27 -19
- data/lib/rouge/lexers/hlsl.rb +166 -0
- data/lib/rouge/lexers/html.rb +7 -7
- data/lib/rouge/lexers/isbl.rb +97 -0
- data/lib/rouge/lexers/isbl/builtins.rb +17 -0
- data/lib/rouge/lexers/janet.rb +217 -0
- data/lib/rouge/lexers/javascript.rb +4 -4
- data/lib/rouge/lexers/jinja.rb +22 -7
- data/lib/rouge/lexers/json.rb +3 -0
- data/lib/rouge/lexers/json_doc.rb +1 -0
- data/lib/rouge/lexers/jsx.rb +47 -59
- data/lib/rouge/lexers/julia.rb +4 -2
- data/lib/rouge/lexers/kotlin.rb +14 -2
- data/lib/rouge/lexers/lasso.rb +11 -12
- data/lib/rouge/lexers/lasso/keywords.rb +20 -0
- data/lib/rouge/lexers/livescript.rb +310 -0
- data/lib/rouge/lexers/llvm.rb +6 -33
- data/lib/rouge/lexers/llvm/keywords.rb +25 -0
- data/lib/rouge/lexers/lua.rb +2 -2
- data/lib/rouge/lexers/lua/keywords.rb +28 -0
- data/lib/rouge/lexers/markdown.rb +9 -5
- data/lib/rouge/lexers/mathematica.rb +2 -2
- data/lib/rouge/lexers/mathematica/keywords.rb +17 -0
- data/lib/rouge/lexers/matlab.rb +3 -4
- data/lib/rouge/lexers/matlab/builtins.rb +11 -0
- data/lib/rouge/lexers/matlab/keywords.rb +15 -0
- data/lib/rouge/lexers/nasm.rb +42 -168
- data/lib/rouge/lexers/opentype_feature_file.rb +27 -42
- data/lib/rouge/lexers/pascal.rb +1 -1
- data/lib/rouge/lexers/perl.rb +21 -3
- data/lib/rouge/lexers/php.rb +48 -33
- data/lib/rouge/lexers/php/keywords.rb +202 -0
- data/lib/rouge/lexers/powershell.rb +5 -3
- data/lib/rouge/lexers/python.rb +58 -57
- data/lib/rouge/lexers/racket.rb +24 -1
- data/lib/rouge/lexers/rego.rb +60 -0
- data/lib/rouge/lexers/ruby.rb +16 -3
- data/lib/rouge/lexers/sass/common.rb +1 -0
- data/lib/rouge/lexers/scala.rb +1 -1
- data/lib/rouge/lexers/solidity.rb +185 -0
- data/lib/rouge/lexers/sparql.rb +5 -4
- data/lib/rouge/lexers/sqf.rb +2 -2
- data/lib/rouge/lexers/sqf/keywords.rb +12 -0
- data/lib/rouge/lexers/ssh.rb +33 -0
- data/lib/rouge/lexers/terraform.rb +15 -0
- data/lib/rouge/lexers/tsx.rb +10 -3
- data/lib/rouge/lexers/turtle.rb +1 -1
- data/lib/rouge/lexers/twig.rb +4 -4
- data/lib/rouge/lexers/typescript.rb +1 -8
- data/lib/rouge/lexers/typescript/common.rb +18 -4
- data/lib/rouge/lexers/varnish.rb +53 -16
- data/lib/rouge/lexers/velocity.rb +71 -0
- data/lib/rouge/lexers/viml.rb +6 -38
- data/lib/rouge/lexers/viml/keywords.rb +11 -4
- data/lib/rouge/lexers/vue.rb +4 -1
- data/lib/rouge/lexers/xml.rb +5 -3
- data/lib/rouge/lexers/yaml.rb +5 -3
- data/lib/rouge/lexers/yang.rb +147 -0
- data/lib/rouge/lexers/zig.rb +139 -0
- data/lib/rouge/version.rb +1 -1
- metadata +47 -10
- data/lib/rouge/demos/varnish +0 -55
- data/lib/rouge/lexers/apache/keywords.yml +0 -764
- data/lib/rouge/lexers/lasso/keywords.yml +0 -446
- data/lib/rouge/lexers/lua/builtins.rb +0 -24
- data/lib/rouge/lexers/mathematica/builtins.rb +0 -13
- data/lib/rouge/lexers/matlab/builtins.yml +0 -3515
- data/lib/rouge/lexers/php/builtins.rb +0 -203
- data/lib/rouge/lexers/sqf/commands.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ef1072cc2523dba637a191d195865b0b2fb9f38c4f6d9961fb58748306f6cd1
|
4
|
+
data.tar.gz: 4cd1b0d5262fa8a1d4ddb564cf4e9a185d6e8043bee0261f119e7a8ccb81e1fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04a39cda7513ce8084b6cdddd3016e7ca679218688dfb2dcb6f6fd8a0e627ec189f38a31ba2c44bd2a8c5b16191e24d0f343f860db5dfbcbb7ca49b92aaff197
|
7
|
+
data.tar.gz: 50172d87860fa9fb4b187dee66c72954ce926e0d73f3e78e1a15a7f3437e749d48b2f935fa6ad08be457a6dd317a3c5c20340a7f7cc1621825b97887e82822c1
|
data/bin/rougify
CHANGED
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
require 'pathname'
|
5
5
|
ROOT_DIR = Pathname.new(__FILE__).dirname.parent
|
6
|
-
load ROOT_DIR.join('lib/rouge.rb')
|
7
|
-
load ROOT_DIR.join('lib/rouge/cli.rb')
|
6
|
+
Kernel::load ROOT_DIR.join('lib/rouge.rb')
|
7
|
+
Kernel::load ROOT_DIR.join('lib/rouge/cli.rb')
|
8
8
|
Signal.trap('PIPE', 'SYSTEM_DEFAULT') if Signal.list.include? 'PIPE'
|
9
9
|
|
10
10
|
begin
|
data/lib/rouge.rb
CHANGED
@@ -6,10 +6,14 @@ require 'pathname'
|
|
6
6
|
|
7
7
|
# The containing module for Rouge
|
8
8
|
module Rouge
|
9
|
+
# cache value in a constant since `__dir__` allocates a new string
|
10
|
+
# on every call.
|
11
|
+
LIB_DIR = __dir__.freeze
|
12
|
+
|
9
13
|
class << self
|
10
14
|
def reload!
|
11
|
-
Object
|
12
|
-
load __FILE__
|
15
|
+
Object::send :remove_const, :Rouge
|
16
|
+
Kernel::load __FILE__
|
13
17
|
end
|
14
18
|
|
15
19
|
# Highlight some text with a given lexer and formatter.
|
@@ -31,63 +35,73 @@ module Rouge
|
|
31
35
|
|
32
36
|
formatter.format(lexer.lex(text), &b)
|
33
37
|
end
|
34
|
-
end
|
35
|
-
end
|
36
38
|
|
37
|
-
#
|
38
|
-
|
39
|
-
|
40
|
-
|
39
|
+
# Load a file relative to the `lib/rouge` path.
|
40
|
+
#
|
41
|
+
# @api private
|
42
|
+
def load_file(path)
|
43
|
+
Kernel::load File.join(LIB_DIR, "rouge/#{path}.rb")
|
44
|
+
end
|
41
45
|
|
42
|
-
|
43
|
-
|
46
|
+
# Load the lexers in the `lib/rouge/lexers` directory.
|
47
|
+
#
|
48
|
+
# @api private
|
49
|
+
def load_lexers
|
50
|
+
# The trailing slash is necessary to avoid lexers being loaded multiple
|
51
|
+
# times by `Lexers.load_lexer`
|
52
|
+
lexer_dir = File.join(LIB_DIR, "rouge/lexers/")
|
53
|
+
Dir.glob(File.join(lexer_dir, '*.rb')).each do |f|
|
54
|
+
Lexers.load_lexer(f.sub(lexer_dir, ''))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
44
58
|
end
|
45
59
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
60
|
+
Rouge.load_file 'version'
|
61
|
+
Rouge.load_file 'util'
|
62
|
+
Rouge.load_file 'text_analyzer'
|
63
|
+
Rouge.load_file 'token'
|
50
64
|
|
51
|
-
|
52
|
-
|
53
|
-
|
65
|
+
Rouge.load_file 'lexer'
|
66
|
+
Rouge.load_file 'regex_lexer'
|
67
|
+
Rouge.load_file 'template_lexer'
|
54
68
|
|
55
|
-
|
69
|
+
Rouge.load_lexers
|
56
70
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
71
|
+
Rouge.load_file 'guesser'
|
72
|
+
Rouge.load_file 'guessers/util'
|
73
|
+
Rouge.load_file 'guessers/glob_mapping'
|
74
|
+
Rouge.load_file 'guessers/modeline'
|
75
|
+
Rouge.load_file 'guessers/filename'
|
76
|
+
Rouge.load_file 'guessers/mimetype'
|
77
|
+
Rouge.load_file 'guessers/source'
|
78
|
+
Rouge.load_file 'guessers/disambiguation'
|
65
79
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
80
|
+
Rouge.load_file 'formatter'
|
81
|
+
Rouge.load_file 'formatters/html'
|
82
|
+
Rouge.load_file 'formatters/html_table'
|
83
|
+
Rouge.load_file 'formatters/html_pygments'
|
84
|
+
Rouge.load_file 'formatters/html_legacy'
|
85
|
+
Rouge.load_file 'formatters/html_linewise'
|
86
|
+
Rouge.load_file 'formatters/html_line_table'
|
87
|
+
Rouge.load_file 'formatters/html_inline'
|
88
|
+
Rouge.load_file 'formatters/terminal256'
|
89
|
+
Rouge.load_file 'formatters/terminal_truecolor'
|
90
|
+
Rouge.load_file 'formatters/tex'
|
91
|
+
Rouge.load_file 'formatters/null'
|
78
92
|
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
93
|
+
Rouge.load_file 'theme'
|
94
|
+
Rouge.load_file 'tex_theme_renderer'
|
95
|
+
Rouge.load_file 'themes/thankful_eyes'
|
96
|
+
Rouge.load_file 'themes/colorful'
|
97
|
+
Rouge.load_file 'themes/base16'
|
98
|
+
Rouge.load_file 'themes/github'
|
99
|
+
Rouge.load_file 'themes/igor_pro'
|
100
|
+
Rouge.load_file 'themes/monokai'
|
101
|
+
Rouge.load_file 'themes/molokai'
|
102
|
+
Rouge.load_file 'themes/monokai_sublime'
|
103
|
+
Rouge.load_file 'themes/gruvbox'
|
104
|
+
Rouge.load_file 'themes/tulip'
|
105
|
+
Rouge.load_file 'themes/pastie'
|
106
|
+
Rouge.load_file 'themes/bw'
|
107
|
+
Rouge.load_file 'themes/magritte'
|
@@ -0,0 +1,16 @@
|
|
1
|
+
(*
|
2
|
+
This is a comment
|
3
|
+
*)
|
4
|
+
module Foo =
|
5
|
+
autoload xfm
|
6
|
+
|
7
|
+
let a = b | c . d
|
8
|
+
|
9
|
+
let lns = a*
|
10
|
+
|
11
|
+
let filter = incl "/path/to/file"
|
12
|
+
. incl "/path/to/other_file"
|
13
|
+
. Util.stdexcl
|
14
|
+
|
15
|
+
(* xmf is the transform *)
|
16
|
+
let xmf = transform lns filter
|
@@ -0,0 +1,12 @@
|
|
1
|
+
@article{Witten:1988hf,
|
2
|
+
author = "Witten, Edward",
|
3
|
+
title = "{Quantum Field Theory and the Jones Polynomial}",
|
4
|
+
journal = "Commun. Math. Phys.",
|
5
|
+
volume = "121",
|
6
|
+
year = "1989",
|
7
|
+
pages = "351-399",
|
8
|
+
doi = "10.1007/BF01217730",
|
9
|
+
note = "[,233(1988)]",
|
10
|
+
reportNumber = "IASSNS-HEP-88-33",
|
11
|
+
SLACcitation = "%%CITATION = CMPHA,121,351;%%"
|
12
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
Get_Variable("EUSER","ENV","USERNAME");
|
3
|
+
|
4
|
+
Message("Le Login Windows est : %EUSER%");
|
5
|
+
|
6
|
+
Get_Variable("st","JOB","FOLDER1.date_err.SYSTEM.STATUS");
|
7
|
+
|
8
|
+
|
9
|
+
AFFECT("filter1", '%%/"t"');
|
10
|
+
AFFECT("filter2", '%%/"pi"');
|
11
|
+
JSONTOSQL("%{jsonpath}%/file.json", "",
|
12
|
+
" JSONPATH like '%filter1%' ", "a = JSONVALUE",
|
13
|
+
" JSONPATH like '%filter2%' ", "b = JSONVALUE; output(json_data, a, b)");
|
14
|
+
|
15
|
+
|
16
|
+
Affect(VAR1,'%TEST%'); //Créer et affecter la variable VAR1 avec une chaîne
|
17
|
+
select * from TABLE1 where COL1 like %VAR1%; //utiliser la variable VAR1 dans une requête
|
18
|
+
|
19
|
+
select * from TEST_TABLE; //exécution d'une requête Select pour ramener des valeurs
|
20
|
+
Affect_LastColumns("TEST1"); //création du paramètre TEST1
|
21
|
+
|
data/lib/rouge/demos/ecl
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
/*
|
2
|
+
Example code - use without restriction.
|
3
|
+
*/
|
4
|
+
Layout_Person := RECORD
|
5
|
+
UNSIGNED1 PersonID;
|
6
|
+
STRING15 FirstName;
|
7
|
+
STRING25 LastName;
|
8
|
+
END;
|
9
|
+
|
10
|
+
allPeople := DATASET([ {1,'Fred','Smith'},
|
11
|
+
{2,'Joe','Blow'},
|
12
|
+
{3,'Jane','Smith'}],Layout_Person);
|
13
|
+
|
14
|
+
somePeople := allPeople(LastName = 'Smith');
|
15
|
+
|
16
|
+
// Outputs ---
|
17
|
+
somePeople;
|
18
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
[lvl_s4t3_entry() // [R1]
|
2
|
+
{ info_tbls: [(c4uB,
|
3
|
+
label: lvl_s4t3_info
|
4
|
+
rep: HeapRep 1 ptrs { Thunk }
|
5
|
+
srt: Nothing)]
|
6
|
+
stack_info: arg_space: 8 updfr_space: Just 8
|
7
|
+
}
|
8
|
+
{offset
|
9
|
+
c4uB: // global
|
10
|
+
if ((Sp + -32) < SpLim) (likely: False) goto c4uC; else goto c4uD;
|
11
|
+
c4uC: // global
|
12
|
+
R1 = R1;
|
13
|
+
call (stg_gc_enter_1)(R1) args: 8, res: 0, upd: 8;
|
14
|
+
c4uD: // global
|
15
|
+
I64[Sp - 16] = stg_upd_frame_info;
|
16
|
+
P64[Sp - 8] = R1;
|
17
|
+
R2 = P64[R1 + 16];
|
18
|
+
I64[Sp - 32] = stg_ap_p_info;
|
19
|
+
P64[Sp - 24] = Main.fib3_closure+1;
|
20
|
+
Sp = Sp - 32;
|
21
|
+
call GHC.Num.fromInteger_info(R2) args: 40, res: 0, upd: 24;
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
struct PSInput
|
2
|
+
{
|
3
|
+
float4 position : SV_POSITION;
|
4
|
+
float4 color : COLOR;
|
5
|
+
};
|
6
|
+
|
7
|
+
// Vertex shader
|
8
|
+
PSInput VSMain(float4 position : POSITION, float4 color : COLOR)
|
9
|
+
{
|
10
|
+
PSInput result;
|
11
|
+
result.position = position;
|
12
|
+
result.color = color;
|
13
|
+
return result;
|
14
|
+
}
|
15
|
+
|
16
|
+
// Pixel shader
|
17
|
+
float4 PSMain(PSInput input) : SV_TARGET
|
18
|
+
{
|
19
|
+
return input.color;
|
20
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
pragma solidity ~0.4.15;
|
2
|
+
|
3
|
+
interface IMirror {
|
4
|
+
function reflect() external payable returns(bool /* ain't I pretty?.. */);
|
5
|
+
}
|
6
|
+
|
7
|
+
contract Mirror is IMirror {
|
8
|
+
event logMessage(address indexed sender, uint256 value, uint256 gas, bytes data);
|
9
|
+
|
10
|
+
function () { // no funny stuff
|
11
|
+
revert();
|
12
|
+
}
|
13
|
+
}
|
data/lib/rouge/demos/ssh
ADDED
data/lib/rouge/demos/vcl
ADDED
data/lib/rouge/demos/zig
ADDED
data/lib/rouge/lexer.rb
CHANGED
@@ -505,12 +505,13 @@ module Rouge
|
|
505
505
|
end
|
506
506
|
|
507
507
|
module Lexers
|
508
|
+
BASE_DIR = "#{__dir__}/lexers".freeze
|
508
509
|
@_loaded_lexers = {}
|
509
510
|
|
510
511
|
def self.load_lexer(relpath)
|
511
512
|
return if @_loaded_lexers.key?(relpath)
|
512
513
|
@_loaded_lexers[relpath] = true
|
513
|
-
load File.join(
|
514
|
+
Kernel::load File.join(BASE_DIR, relpath)
|
514
515
|
end
|
515
516
|
end
|
516
517
|
end
|
data/lib/rouge/lexers/apache.rb
CHANGED
@@ -11,18 +11,28 @@ module Rouge
|
|
11
11
|
mimetypes 'text/x-httpd-conf', 'text/x-apache-conf'
|
12
12
|
filenames '.htaccess', 'httpd.conf'
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
# self-modifying method that loads the keywords file
|
15
|
+
def self.directives
|
16
|
+
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
|
17
|
+
directives
|
16
18
|
end
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
|
20
|
+
def self.sections
|
21
|
+
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
|
22
|
+
sections
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.values
|
26
|
+
Kernel::load File.join(Lexers::BASE_DIR, 'apache/keywords.rb')
|
27
|
+
values
|
22
28
|
end
|
23
29
|
|
24
|
-
def name_for_token(token,
|
25
|
-
if self.class.
|
30
|
+
def name_for_token(token, tktype)
|
31
|
+
if self.class.sections.include? token
|
32
|
+
tktype
|
33
|
+
elsif self.class.directives.include? token
|
34
|
+
tktype
|
35
|
+
elsif self.class.values.include? token
|
26
36
|
tktype
|
27
37
|
else
|
28
38
|
Text
|
@@ -38,12 +48,12 @@ module Rouge
|
|
38
48
|
mixin :whitespace
|
39
49
|
|
40
50
|
rule %r/(<\/?)(\w+)/ do |m|
|
41
|
-
groups Punctuation, name_for_token(m[2].downcase,
|
51
|
+
groups Punctuation, name_for_token(m[2].downcase, Name::Label)
|
42
52
|
push :section
|
43
53
|
end
|
44
54
|
|
45
55
|
rule %r/\w+/ do |m|
|
46
|
-
token name_for_token(m[0].downcase,
|
56
|
+
token name_for_token(m[0].downcase, Name::Class)
|
47
57
|
push :directive
|
48
58
|
end
|
49
59
|
end
|
@@ -65,7 +75,7 @@ module Rouge
|
|
65
75
|
mixin :whitespace
|
66
76
|
|
67
77
|
rule %r/\S+/ do |m|
|
68
|
-
token name_for_token(m[0],
|
78
|
+
token name_for_token(m[0].downcase, Literal::String::Symbol)
|
69
79
|
end
|
70
80
|
end
|
71
81
|
end
|