rouge 2.0.7 → 2.1.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 (94) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +7 -9
  3. data/lib/rouge.rb +1 -0
  4. data/lib/rouge/cli.rb +20 -0
  5. data/lib/rouge/demos/awk +4 -0
  6. data/lib/rouge/demos/console +6 -0
  7. data/lib/rouge/demos/digdag +19 -0
  8. data/lib/rouge/demos/dot +5 -0
  9. data/lib/rouge/demos/graphql +17 -0
  10. data/lib/rouge/demos/hylang +10 -0
  11. data/lib/rouge/demos/igorpro +9 -0
  12. data/lib/rouge/demos/irb +4 -0
  13. data/lib/rouge/demos/irb_output +2 -0
  14. data/lib/rouge/demos/lasso +12 -0
  15. data/lib/rouge/demos/mosel +10 -0
  16. data/lib/rouge/demos/plist +142 -0
  17. data/lib/rouge/demos/pony +17 -0
  18. data/lib/rouge/demos/q +2 -0
  19. data/lib/rouge/demos/sieve +10 -0
  20. data/lib/rouge/demos/tsx +17 -0
  21. data/lib/rouge/demos/turtle +0 -0
  22. data/lib/rouge/demos/wollok +11 -0
  23. data/lib/rouge/formatters/html_inline.rb +9 -1
  24. data/lib/rouge/formatters/html_pygments.rb +2 -2
  25. data/lib/rouge/formatters/html_table.rb +1 -1
  26. data/lib/rouge/formatters/terminal256.rb +1 -1
  27. data/lib/rouge/lexer.rb +124 -37
  28. data/lib/rouge/lexers/abap.rb +2 -2
  29. data/lib/rouge/lexers/apache.rb +1 -1
  30. data/lib/rouge/lexers/awk.rb +161 -0
  31. data/lib/rouge/lexers/clojure.rb +2 -2
  32. data/lib/rouge/lexers/coffeescript.rb +1 -1
  33. data/lib/rouge/lexers/console.rb +136 -0
  34. data/lib/rouge/lexers/csharp.rb +26 -7
  35. data/lib/rouge/lexers/digdag.rb +72 -0
  36. data/lib/rouge/lexers/docker.rb +1 -1
  37. data/lib/rouge/lexers/dot.rb +68 -0
  38. data/lib/rouge/lexers/elixir.rb +52 -27
  39. data/lib/rouge/lexers/fortran.rb +56 -28
  40. data/lib/rouge/lexers/fsharp.rb +1 -1
  41. data/lib/rouge/lexers/gherkin/keywords.rb +4 -4
  42. data/lib/rouge/lexers/graphql.rb +243 -0
  43. data/lib/rouge/lexers/groovy.rb +5 -1
  44. data/lib/rouge/lexers/haml.rb +19 -24
  45. data/lib/rouge/lexers/html.rb +48 -4
  46. data/lib/rouge/lexers/hylang.rb +93 -0
  47. data/lib/rouge/lexers/igorpro.rb +407 -0
  48. data/lib/rouge/lexers/irb.rb +66 -0
  49. data/lib/rouge/lexers/javascript.rb +21 -10
  50. data/lib/rouge/lexers/json.rb +3 -2
  51. data/lib/rouge/lexers/json_doc.rb +6 -0
  52. data/lib/rouge/lexers/jsx.rb +2 -1
  53. data/lib/rouge/lexers/lasso.rb +217 -0
  54. data/lib/rouge/lexers/lasso/keywords.yml +446 -0
  55. data/lib/rouge/lexers/lua.rb +3 -0
  56. data/lib/rouge/lexers/lua/builtins.rb +1 -1
  57. data/lib/rouge/lexers/markdown.rb +2 -3
  58. data/lib/rouge/lexers/matlab/builtins.rb +1 -1
  59. data/lib/rouge/lexers/moonscript.rb +8 -4
  60. data/lib/rouge/lexers/mosel.rb +231 -0
  61. data/lib/rouge/lexers/ocaml.rb +9 -20
  62. data/lib/rouge/lexers/php.rb +40 -20
  63. data/lib/rouge/lexers/php/builtins.rb +27 -37
  64. data/lib/rouge/lexers/plain_text.rb +4 -3
  65. data/lib/rouge/lexers/plist.rb +49 -0
  66. data/lib/rouge/lexers/pony.rb +93 -0
  67. data/lib/rouge/lexers/powershell.rb +36 -0
  68. data/lib/rouge/lexers/properties.rb +2 -2
  69. data/lib/rouge/lexers/q.rb +124 -0
  70. data/lib/rouge/lexers/r.rb +2 -2
  71. data/lib/rouge/lexers/ruby.rb +26 -13
  72. data/lib/rouge/lexers/rust.rb +7 -5
  73. data/lib/rouge/lexers/sed.rb +4 -2
  74. data/lib/rouge/lexers/shell.rb +38 -16
  75. data/lib/rouge/lexers/sieve.rb +96 -0
  76. data/lib/rouge/lexers/sml.rb +3 -2
  77. data/lib/rouge/lexers/tsx.rb +19 -0
  78. data/lib/rouge/lexers/turtle.rb +0 -0
  79. data/lib/rouge/lexers/typescript.rb +3 -27
  80. data/lib/rouge/lexers/typescript/common.rb +33 -0
  81. data/lib/rouge/lexers/viml/keywords.rb +2 -2
  82. data/lib/rouge/lexers/wollok.rb +107 -0
  83. data/lib/rouge/lexers/xml.rb +1 -1
  84. data/lib/rouge/lexers/yaml.rb +4 -1
  85. data/lib/rouge/regex_lexer.rb +1 -0
  86. data/lib/rouge/template_lexer.rb +3 -5
  87. data/lib/rouge/theme.rb +14 -4
  88. data/lib/rouge/themes/igor_pro.rb +20 -0
  89. data/lib/rouge/themes/pastie.rb +69 -0
  90. data/lib/rouge/themes/thankful_eyes.rb +8 -5
  91. data/lib/rouge/version.rb +1 -1
  92. metadata +40 -6
  93. data/lib/rouge/demos/shell_session +0 -10
  94. data/lib/rouge/lexers/shell_session.rb +0 -29
@@ -0,0 +1,66 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ load_lexer 'console.rb'
6
+
7
+ class IRBLexer < ConsoleLexer
8
+ tag 'irb'
9
+ aliases 'pry'
10
+
11
+ desc 'Shell sessions in IRB or Pry'
12
+
13
+ # unlike the superclass, we do not accept any options
14
+ @option_docs = {}
15
+
16
+ def output_lexer
17
+ @output_lexer ||= IRBOutputLexer.new(@options)
18
+ end
19
+
20
+ def lang_lexer
21
+ @lang_lexer ||= Ruby.new(@options)
22
+ end
23
+
24
+ def prompt_regex
25
+ /^.*?(irb|pry).*?[>"*]/
26
+ end
27
+
28
+ def allow_comments?
29
+ true
30
+ end
31
+ end
32
+
33
+ load_lexer 'ruby.rb'
34
+ class IRBOutputLexer < Ruby
35
+ tag 'irb_output'
36
+
37
+ start do
38
+ push :stdout
39
+ end
40
+
41
+ state :has_irb_output do
42
+ rule %r(=>), Punctuation, :pop!
43
+ rule /.+?(\n|$)/, Generic::Output
44
+ end
45
+
46
+ state :irb_error do
47
+ rule /.+?(\n|$)/, Generic::Error
48
+ mixin :has_irb_output
49
+ end
50
+
51
+ state :stdout do
52
+ rule /\w+?(Error|Exception):.+?(\n|$)/, Generic::Error, :irb_error
53
+ mixin :has_irb_output
54
+ end
55
+
56
+ prepend :root do
57
+ rule /#</, Keyword::Type, :irb_object
58
+ end
59
+
60
+ state :irb_object do
61
+ rule />/, Keyword::Type, :pop!
62
+ mixin :root
63
+ end
64
+ end
65
+ end
66
+ end
@@ -97,22 +97,26 @@ module Rouge
97
97
 
98
98
  def self.keywords
99
99
  @keywords ||= Set.new %w(
100
- for in while do break return continue switch case default
100
+ for in of while do break return continue switch case default
101
101
  if else throw try catch finally new delete typeof instanceof
102
- void this yield
102
+ void this yield import export from as async super this
103
103
  )
104
104
  end
105
105
 
106
106
  def self.declarations
107
- @declarations ||= Set.new %w(var let with function)
107
+ @declarations ||= Set.new %w(
108
+ var let const with function class
109
+ extends constructor get set
110
+ )
108
111
  end
109
112
 
110
113
  def self.reserved
111
114
  @reserved ||= Set.new %w(
112
- abstract boolean byte char class const debugger double enum
113
- export extends final float goto implements import int interface
115
+ abstract boolean byte char debugger double enum
116
+ final float goto implements int interface
114
117
  long native package private protected public short static
115
- super synchronized throws transient volatile
118
+ synchronized throws transient volatile
119
+ eval arguments await
116
120
  )
117
121
  end
118
122
 
@@ -125,8 +129,13 @@ module Rouge
125
129
  Array Boolean Date Error Function Math netscape
126
130
  Number Object Packages RegExp String sun decodeURI
127
131
  decodeURIComponent encodeURI encodeURIComponent
128
- Error eval isFinite isNaN parseFloat parseInt document this
129
- window
132
+ Error eval isFinite isNaN parseFloat parseInt
133
+ document window navigator self global
134
+ Promise Set Map WeakSet WeakMap Symbol Proxy Reflect
135
+ Int8Array Uint8Array Uint8ClampedArray
136
+ Int16Array Uint16Array Uint16ClampedArray
137
+ Int32Array Uint32Array Uint32ClampedArray
138
+ Float32Array Float64Array DataView ArrayBuffer
130
139
  )
131
140
  end
132
141
 
@@ -138,7 +147,6 @@ module Rouge
138
147
 
139
148
  state :root do
140
149
  rule /\A\s*#!.*?\n/m, Comment::Preproc, :statement
141
- rule /\n/, Text, :statement
142
150
  rule %r((?<=\n)(?=\s|/|<!--)), Text, :expr_start
143
151
  mixin :comments_and_whitespace
144
152
  rule %r(\+\+ | -- | ~ | && | \|\| | \\(?=\n) | << | >>>? | ===
@@ -186,8 +194,11 @@ module Rouge
186
194
  end
187
195
 
188
196
  rule /[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?/, Num::Float
189
- rule /0x[0-9a-fA-F]+/, Num::Hex
197
+ rule /0x[0-9a-fA-F]+/i, Num::Hex
198
+ rule /0o[0-7][0-7_]*/i, Num::Oct
199
+ rule /0b[01][01_]*/i, Num::Bin
190
200
  rule /[0-9]+/, Num::Integer
201
+
191
202
  rule /"(\\[\\"]|[^"])*"/, Str::Double
192
203
  rule /'(\\[\\']|[^'])*'/, Str::Single
193
204
  rule /:/, Punctuation
@@ -3,6 +3,7 @@
3
3
  module Rouge
4
4
  module Lexers
5
5
  class JSON < RegexLexer
6
+ title 'JSON'
6
7
  desc "JavaScript Object Notation (json.org)"
7
8
  tag 'json'
8
9
  filenames '*.json'
@@ -14,8 +15,8 @@ module Rouge
14
15
  rule /"/, Str::Double, :string
15
16
  rule /(?:true|false|null)\b/, Keyword::Constant
16
17
  rule /[{},:\[\]]/, Punctuation
17
- rule /-?(?:0|[1-9]\d*)\.\d+(?:e[+-]\d+)?/i, Num::Float
18
- rule /-?(?:0|[1-9]\d*)(?:e[+-]\d+)?/i, Num::Integer
18
+ rule /-?(?:0|[1-9]\d*)\.\d+(?:e[+-]?\d+)?/i, Num::Float
19
+ rule /-?(?:0|[1-9]\d*)(?:e[+-]?\d+)?/i, Num::Integer
19
20
  end
20
21
 
21
22
  state :string do
@@ -9,6 +9,12 @@ module Rouge
9
9
  tag 'json-doc'
10
10
 
11
11
  prepend :root do
12
+ rule /([$\w]+)(\s*)(:)/ do
13
+ groups Name::Attribute, Text, Punctuation
14
+ end
15
+
16
+ rule %r(/[*].*?[*]/), Comment
17
+
12
18
  rule %r(//.*?$), Comment::Single
13
19
  rule /(\.\.\.)/, Comment::Single
14
20
  end
@@ -3,7 +3,8 @@ module Rouge
3
3
  load_lexer 'javascript.rb'
4
4
 
5
5
  class JSX < Javascript
6
- desc 'jsx'
6
+ title 'JSX'
7
+ desc 'React JSX (https://facebook.github.io/react/)'
7
8
  tag 'jsx'
8
9
  aliases 'jsx', 'react'
9
10
  filenames '*.jsx'
@@ -0,0 +1,217 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ require 'yaml'
4
+
5
+ module Rouge
6
+ module Lexers
7
+ class Lasso < TemplateLexer
8
+ title "Lasso"
9
+ desc "The Lasso programming language (lassosoft.com)"
10
+ tag 'lasso'
11
+ aliases 'lassoscript'
12
+ filenames '*.lasso', '*.lasso[89]'
13
+ mimetypes 'text/x-lasso', 'text/html+lasso', 'application/x-httpd-lasso'
14
+
15
+ option :start_inline, 'Whether to start inline instead of requiring <?lasso or ['
16
+
17
+ def self.analyze_text(text)
18
+ rv = 0.0
19
+ rv += 1 if text.shebang?('lasso9')
20
+ rv += 0.4 if text =~ /<\?(lasso(script)?|=)|no_square_brackets|noprocess/i
21
+ rv += 0.2 if text =~ /define(_tag|_type|\s)/i
22
+ return rv
23
+ end
24
+
25
+ def initialize(*)
26
+ super
27
+
28
+ @start_inline = bool_option(:start_inline)
29
+ end
30
+
31
+ def start_inline?
32
+ @start_inline
33
+ end
34
+
35
+ start do
36
+ push :lasso if start_inline?
37
+ end
38
+
39
+ class << self
40
+ attr_reader :keywords
41
+ end
42
+
43
+ # Load Lasso keywords from separate YML file
44
+ @keywords = ::YAML.load_file(Pathname.new(__FILE__).dirname.join('lasso/keywords.yml')).tap do |h|
45
+ h.each do |k,v|
46
+ h[k] = Set.new v
47
+ end
48
+ end
49
+
50
+ id = /[a-z_][\w.]*/i
51
+
52
+ state :root do
53
+ rule /^#![ \S]+lasso9\b/, Comment::Preproc, :lasso
54
+ rule(/(?=\[|<)/) { push :delimiters }
55
+ rule /\s+/, Text::Whitespace
56
+ rule(//) { push :delimiters; push :lassofile }
57
+ end
58
+
59
+ state :delimiters do
60
+ rule /\[no_square_brackets\]/, Comment::Preproc, :nosquarebrackets
61
+ rule /\[noprocess\]/, Comment::Preproc, :noprocess
62
+ rule /\[/, Comment::Preproc, :squarebrackets
63
+ rule /<\?(lasso(script)?|=)/i, Comment::Preproc, :anglebrackets
64
+ rule(/([^\[<]|<!--.*?-->|<(script|style).*?\2>|<(?!\?(lasso(script)?|=)))+/im) { delegate parent }
65
+ end
66
+
67
+ state :nosquarebrackets do
68
+ rule /\[noprocess\]/, Comment::Preproc, :noprocess
69
+ rule /<\?(lasso(script)?|=)/i, Comment::Preproc, :anglebrackets
70
+ rule(/([^\[<]|<!--.*?-->|<(script|style).*?\2>|<(?!\?(lasso(script)?|=))|\[(?!noprocess))+/im) { delegate parent }
71
+ end
72
+
73
+ state :noprocess do
74
+ rule %r(\[/noprocess\]), Comment::Preproc, :pop!
75
+ rule(%r(([^\[]|\[(?!/noprocess))+)i) { delegate parent }
76
+ end
77
+
78
+ state :squarebrackets do
79
+ rule /\]/, Comment::Preproc, :pop!
80
+ mixin :lasso
81
+ end
82
+
83
+ state :anglebrackets do
84
+ rule /\?>/, Comment::Preproc, :pop!
85
+ mixin :lasso
86
+ end
87
+
88
+ state :lassofile do
89
+ rule /\]|\?>/, Comment::Preproc, :pop!
90
+ mixin :lasso
91
+ end
92
+
93
+ state :whitespacecomments do
94
+ rule /\s+/, Text
95
+ rule %r(//.*?\n), Comment::Single
96
+ rule %r(/\*\*!.*?\*/)m, Comment::Doc
97
+ rule %r(/\*.*?\*/)m, Comment::Multiline
98
+ end
99
+
100
+ state :lasso do
101
+ mixin :whitespacecomments
102
+
103
+ # literals
104
+ rule /\d*\.\d+(e[+-]?\d+)?/i, Num::Float
105
+ rule /0x[\da-f]+/i, Num::Hex
106
+ rule /\d+/, Num::Integer
107
+ rule /(infinity|NaN)\b/i, Num
108
+ rule /'[^'\\]*(\\.[^'\\]*)*'/m, Str::Single
109
+ rule /"[^"\\]*(\\.[^"\\]*)*"/m, Str::Double
110
+ rule /`[^`]*`/m, Str::Backtick
111
+
112
+ # names
113
+ rule /\$#{id}/, Name::Variable
114
+ rule /#(#{id}|\d+\b)/, Name::Variable::Instance
115
+ rule /(\.\s*)('#{id}')/ do
116
+ groups Name::Builtin::Pseudo, Name::Variable::Class
117
+ end
118
+ rule /(self)(\s*->\s*)('#{id}')/i do
119
+ groups Name::Builtin::Pseudo, Operator, Name::Variable::Class
120
+ end
121
+ rule /(\.\.?\s*)(#{id}(=(?!=))?)/ do
122
+ groups Name::Builtin::Pseudo, Name::Other
123
+ end
124
+ rule /(->\\?\s*|&\s*)(#{id}(=(?!=))?)/ do
125
+ groups Operator, Name::Other
126
+ end
127
+ rule /(?<!->)(self|inherited|currentcapture|givenblock)\b/i, Name::Builtin::Pseudo
128
+ rule /-(?!infinity)#{id}/i, Name::Attribute
129
+ rule /::\s*#{id}/, Name::Label
130
+ rule /error_((code|msg)_\w+|adderror|columnrestriction|databaseconnectionunavailable|databasetimeout|deleteerror|fieldrestriction|filenotfound|invaliddatabase|invalidpassword|invalidusername|modulenotfound|noerror|nopermission|outofmemory|reqcolumnmissing|reqfieldmissing|requiredcolumnmissing|requiredfieldmissing|updateerror)/i, Name::Exception
131
+
132
+ # definitions
133
+ rule /(define)(\s+)(#{id})(\s*=>\s*)(type|trait|thread)\b/i do
134
+ groups Keyword::Declaration, Text, Name::Class, Operator, Keyword
135
+ end
136
+ rule %r((define)(\s+)(#{id})(\s*->\s*)(#{id}=?|[-+*/%]))i do
137
+ groups Keyword::Declaration, Text, Name::Class, Operator, Name::Function
138
+ push :signature
139
+ end
140
+ rule /(define)(\s+)(#{id})/i do
141
+ groups Keyword::Declaration, Text, Name::Function
142
+ push :signature
143
+ end
144
+ rule %r((public|protected|private|provide)(\s+)((#{id}=?|[-+*/%])(?=\s*\()))i do
145
+ groups Keyword, Text, Name::Function
146
+ push :signature
147
+ end
148
+ rule /(public|protected|private|provide)(\s+)(#{id})/i do
149
+ groups Keyword, Text, Name::Function
150
+ end
151
+
152
+ # keywords
153
+ rule /(true|false|none|minimal|full|all|void)\b/i, Keyword::Constant
154
+ rule /(local|var|variable|global|data(?=\s))\b/i, Keyword::Declaration
155
+ rule /(array|date|decimal|duration|integer|map|pair|string|tag|xml|null|boolean|bytes|keyword|list|locale|queue|set|stack|staticarray)\b/i, Keyword::Type
156
+ rule /(#{id})(\s+)(in)\b/i do
157
+ groups Name, Text, Keyword
158
+ end
159
+ rule /(let|into)(\s+)(#{id})/i do
160
+ groups Keyword, Text, Name
161
+ end
162
+
163
+ # other
164
+ rule /,/, Punctuation, :commamember
165
+ rule /(and|or|not)\b/i, Operator::Word
166
+ rule /(#{id})(\s*::\s*#{id})?(\s*=(?!=|>))/ do
167
+ groups Name, Name::Label, Operator
168
+ end
169
+
170
+ rule %r((/?)([\w.]+)) do |m|
171
+ name = m[2].downcase
172
+
173
+ if m[1] != ''
174
+ token Punctuation, m[1]
175
+ end
176
+
177
+ if name == 'namespace_using'
178
+ token Keyword::Namespace, m[2]
179
+ elsif self.class.keywords[:keywords].include? name
180
+ token Keyword, m[2]
181
+ elsif self.class.keywords[:types_traits].include? name
182
+ token Name::Builtin, m[2]
183
+ else
184
+ token Name::Other, m[2]
185
+ end
186
+ end
187
+
188
+ rule /(=)(n?bw|n?ew|n?cn|lte?|gte?|n?eq|n?rx|ft)\b/i do
189
+ groups Operator, Operator::Word
190
+ end
191
+ rule %r(:=|[-+*/%=<>&|!?\\]+), Operator
192
+ rule /[{}():;,@^]/, Punctuation
193
+ end
194
+
195
+ state :signature do
196
+ rule /\=>/, Operator, :pop!
197
+ rule /\)/, Punctuation, :pop!
198
+ rule /[(,]/, Punctuation, :parameter
199
+ mixin :lasso
200
+ end
201
+
202
+ state :parameter do
203
+ rule /\)/, Punctuation, :pop!
204
+ rule /-?#{id}/, Name::Attribute, :pop!
205
+ rule /\.\.\./, Name::Builtin::Pseudo
206
+ mixin :lasso
207
+ end
208
+
209
+ state :commamember do
210
+ rule %r((#{id}=?|[-+*/%])(?=\s*(\(([^()]*\([^()]*\))*[^\)]*\)\s*)?(::[\w.\s]+)?=>)), Name::Function, :signature
211
+ mixin :whitespacecomments
212
+ rule //, Text, :pop!
213
+ end
214
+
215
+ end
216
+ end
217
+ end
@@ -0,0 +1,446 @@
1
+ :keywords:
2
+ - "cache"
3
+ - "database_names"
4
+ - "database_schemanames"
5
+ - "database_tablenames"
6
+ - "define_tag"
7
+ - "define_type"
8
+ - "email_batch"
9
+ - "encode_set"
10
+ - "html_comment"
11
+ - "handle"
12
+ - "handle_error"
13
+ - "header"
14
+ - "if"
15
+ - "inline"
16
+ - "iterate"
17
+ - "ljax_target"
18
+ - "link"
19
+ - "link_currentaction"
20
+ - "link_currentgroup"
21
+ - "link_currentrecord"
22
+ - "link_detail"
23
+ - "link_firstgroup"
24
+ - "link_firstrecord"
25
+ - "link_lastgroup"
26
+ - "link_lastrecord"
27
+ - "link_nextgroup"
28
+ - "link_nextrecord"
29
+ - "link_prevgroup"
30
+ - "link_prevrecord"
31
+ - "log"
32
+ - "loop"
33
+ - "namespace_using"
34
+ - "output_none"
35
+ - "portal"
36
+ - "private"
37
+ - "protect"
38
+ - "records"
39
+ - "referer"
40
+ - "referrer"
41
+ - "repeating"
42
+ - "resultset"
43
+ - "rows"
44
+ - "search_args"
45
+ - "search_arguments"
46
+ - "select"
47
+ - "sort_args"
48
+ - "sort_arguments"
49
+ - "thread_atomic"
50
+ - "value_list"
51
+ - "while"
52
+ - "abort"
53
+ - "case"
54
+ - "else"
55
+ - "fail_if"
56
+ - "fail_ifnot"
57
+ - "fail"
58
+ - "if_empty"
59
+ - "if_false"
60
+ - "if_null"
61
+ - "if_true"
62
+ - "loop_abort"
63
+ - "loop_continue"
64
+ - "loop_count"
65
+ - "params"
66
+ - "params_up"
67
+ - "return"
68
+ - "return_value"
69
+ - "run_children"
70
+ - "soap_definetag"
71
+ - "soap_lastrequest"
72
+ - "soap_lastresponse"
73
+ - "tag_name"
74
+ - "ascending"
75
+ - "average"
76
+ - "by"
77
+ - "define"
78
+ - "descending"
79
+ - "do"
80
+ - "equals"
81
+ - "frozen"
82
+ - "group"
83
+ - "handle_failure"
84
+ - "import"
85
+ - "in"
86
+ - "into"
87
+ - "join"
88
+ - "let"
89
+ - "match"
90
+ - "max"
91
+ - "min"
92
+ - "on"
93
+ - "order"
94
+ - "parent"
95
+ - "protected"
96
+ - "provide"
97
+ - "public"
98
+ - "require"
99
+ - "returnhome"
100
+ - "skip"
101
+ - "split_thread"
102
+ - "sum"
103
+ - "take"
104
+ - "thread"
105
+ - "to"
106
+ - "trait"
107
+ - "type"
108
+ - "where"
109
+ - "with"
110
+ - "yield"
111
+ - "yieldhome"
112
+
113
+ :types_traits:
114
+ - "atbegin"
115
+ - "bson_iter"
116
+ - "bson"
117
+ - "bytes_document_body"
118
+ - "cache_server_element"
119
+ - "cache_server"
120
+ - "capture"
121
+ - "client_address"
122
+ - "client_ip"
123
+ - "component_container"
124
+ - "component_render_state"
125
+ - "component"
126
+ - "curl"
127
+ - "curltoken"
128
+ - "currency"
129
+ - "custom"
130
+ - "data_document"
131
+ - "database_registry"
132
+ - "dateandtime"
133
+ - "dbgp_packet"
134
+ - "dbgp_server"
135
+ - "debugging_stack"
136
+ - "delve"
137
+ - "dir"
138
+ - "dirdesc"
139
+ - "dns_response"
140
+ - "document_base"
141
+ - "document_body"
142
+ - "document_header"
143
+ - "dsinfo"
144
+ - "eacher"
145
+ - "email_compose"
146
+ - "email_parse"
147
+ - "email_pop"
148
+ - "email_queue_impl_base"
149
+ - "email_queue_impl"
150
+ - "email_smtp"
151
+ - "email_stage_impl_base"
152
+ - "email_stage_impl"
153
+ - "fastcgi_each_fcgi_param"
154
+ - "fastcgi_server"
155
+ - "fcgi_record"
156
+ - "fcgi_request"
157
+ - "file"
158
+ - "filedesc"
159
+ - "filemaker_datasource"
160
+ - "generateforeachkeyed"
161
+ - "generateforeachunkeyed"
162
+ - "generateseries"
163
+ - "hash_map"
164
+ - "html_atomic_element"
165
+ - "html_attr"
166
+ - "html_base"
167
+ - "html_binary"
168
+ - "html_br"
169
+ - "html_cdata"
170
+ - "html_container_element"
171
+ - "html_div"
172
+ - "html_document_body"
173
+ - "html_document_head"
174
+ - "html_eol"
175
+ - "html_fieldset"
176
+ - "html_form"
177
+ - "html_h1"
178
+ - "html_h2"
179
+ - "html_h3"
180
+ - "html_h4"
181
+ - "html_h5"
182
+ - "html_h6"
183
+ - "html_hr"
184
+ - "html_img"
185
+ - "html_input"
186
+ - "html_json"
187
+ - "html_label"
188
+ - "html_legend"
189
+ - "html_link"
190
+ - "html_meta"
191
+ - "html_object"
192
+ - "html_option"
193
+ - "html_raw"
194
+ - "html_script"
195
+ - "html_select"
196
+ - "html_span"
197
+ - "html_style"
198
+ - "html_table"
199
+ - "html_td"
200
+ - "html_text"
201
+ - "html_th"
202
+ - "html_tr"
203
+ - "http_document_header"
204
+ - "http_document"
205
+ - "http_error"
206
+ - "http_header_field"
207
+ - "http_server_connection_handler_globals"
208
+ - "http_server_connection_handler"
209
+ - "http_server_request_logger_thread"
210
+ - "http_server_web_connection"
211
+ - "http_server"
212
+ - "image"
213
+ - "include_cache"
214
+ - "inline_type"
215
+ - "java_jnienv"
216
+ - "jbyte"
217
+ - "jbytearray"
218
+ - "jchar"
219
+ - "jchararray"
220
+ - "jfieldid"
221
+ - "jfloat"
222
+ - "jint"
223
+ - "jmethodid"
224
+ - "jobject"
225
+ - "jshort"
226
+ - "json_decode"
227
+ - "json_encode"
228
+ - "json_literal"
229
+ - "json_object"
230
+ - "lassoapp_compiledsrc_appsource"
231
+ - "lassoapp_compiledsrc_fileresource"
232
+ - "lassoapp_content_rep_halt"
233
+ - "lassoapp_dirsrc_appsource"
234
+ - "lassoapp_dirsrc_fileresource"
235
+ - "lassoapp_installer"
236
+ - "lassoapp_livesrc_appsource"
237
+ - "lassoapp_livesrc_fileresource"
238
+ - "lassoapp_long_expiring_bytes"
239
+ - "lassoapp_manualsrc_appsource"
240
+ - "lassoapp_zip_file_server"
241
+ - "lassoapp_zipsrc_appsource"
242
+ - "lassoapp_zipsrc_fileresource"
243
+ - "ldap"
244
+ - "library_thread_loader"
245
+ - "list_node"
246
+ - "log_impl_base"
247
+ - "log_impl"
248
+ - "magick_image"
249
+ - "map_node"
250
+ - "memberstream"
251
+ - "memory_session_driver_impl_entry"
252
+ - "memory_session_driver_impl"
253
+ - "memory_session_driver"
254
+ - "mime_reader"
255
+ - "mongo_client"
256
+ - "mongo_collection"
257
+ - "mongo_cursor"
258
+ - "mustache_ctx"
259
+ - "mysql_session_driver_impl"
260
+ - "mysql_session_driver"
261
+ - "net_named_pipe"
262
+ - "net_tcp_ssl"
263
+ - "net_tcp"
264
+ - "net_udp_packet"
265
+ - "net_udp"
266
+ - "odbc_session_driver_impl"
267
+ - "odbc_session_driver"
268
+ - "opaque"
269
+ - "os_process"
270
+ - "pair_compare"
271
+ - "pairup"
272
+ - "pdf_barcode"
273
+ - "pdf_chunk"
274
+ - "pdf_color"
275
+ - "pdf_doc"
276
+ - "pdf_font"
277
+ - "pdf_hyphenator"
278
+ - "pdf_image"
279
+ - "pdf_list"
280
+ - "pdf_paragraph"
281
+ - "pdf_phrase"
282
+ - "pdf_read"
283
+ - "pdf_table"
284
+ - "pdf_text"
285
+ - "pdf_typebase"
286
+ - "percent"
287
+ - "portal_impl"
288
+ - "queriable_groupby"
289
+ - "queriable_grouping"
290
+ - "queriable_groupjoin"
291
+ - "queriable_join"
292
+ - "queriable_orderby"
293
+ - "queriable_orderbydescending"
294
+ - "queriable_select"
295
+ - "queriable_selectmany"
296
+ - "queriable_skip"
297
+ - "queriable_take"
298
+ - "queriable_thenby"
299
+ - "queriable_thenbydescending"
300
+ - "queriable_where"
301
+ - "raw_document_body"
302
+ - "regexp"
303
+ - "repeat"
304
+ - "scientific"
305
+ - "security_registry"
306
+ - "serialization_element"
307
+ - "serialization_object_identity_compare"
308
+ - "serialization_reader"
309
+ - "serialization_writer_ref"
310
+ - "serialization_writer_standin"
311
+ - "serialization_writer"
312
+ - "session_delete_expired_thread"
313
+ - "signature"
314
+ - "sourcefile"
315
+ - "sqlite_column"
316
+ - "sqlite_currentrow"
317
+ - "sqlite_db"
318
+ - "sqlite_results"
319
+ - "sqlite_session_driver_impl_entry"
320
+ - "sqlite_session_driver_impl"
321
+ - "sqlite_session_driver"
322
+ - "sqlite_table"
323
+ - "sqlite3_stmt"
324
+ - "sqlite3"
325
+ - "sys_process"
326
+ - "text_document"
327
+ - "tie"
328
+ - "timeonly"
329
+ - "tree_base"
330
+ - "tree_node"
331
+ - "tree_nullnode"
332
+ - "ucal"
333
+ - "usgcpu"
334
+ - "usgvm"
335
+ - "web_error_atend"
336
+ - "web_node_base"
337
+ - "web_node_content_representation_css_specialized"
338
+ - "web_node_content_representation_html_specialized"
339
+ - "web_node_content_representation_js_specialized"
340
+ - "web_node_content_representation_xhr_container"
341
+ - "web_node_echo"
342
+ - "web_node_root"
343
+ - "web_request_impl"
344
+ - "web_request"
345
+ - "web_response_impl"
346
+ - "web_response"
347
+ - "web_router"
348
+ - "websocket_handler"
349
+ - "worker_pool"
350
+ - "xml_attr"
351
+ - "xml_cdatasection"
352
+ - "xml_characterdata"
353
+ - "xml_comment"
354
+ - "xml_document"
355
+ - "xml_documentfragment"
356
+ - "xml_documenttype"
357
+ - "xml_domimplementation"
358
+ - "xml_element"
359
+ - "xml_entity"
360
+ - "xml_entityreference"
361
+ - "xml_namednodemap_attr"
362
+ - "xml_namednodemap_ht"
363
+ - "xml_namednodemap"
364
+ - "xml_node"
365
+ - "xml_nodelist"
366
+ - "xml_notation"
367
+ - "xml_processinginstruction"
368
+ - "xml_text"
369
+ - "xmlstream"
370
+ - "zip_file_impl"
371
+ - "zip_file"
372
+ - "zip_impl"
373
+ - "zip"
374
+ - "any"
375
+ - "formattingbase"
376
+ - "html_attributed"
377
+ - "html_element_coreattrs"
378
+ - "html_element_eventsattrs"
379
+ - "html_element_i18nattrs"
380
+ - "lassoapp_capabilities"
381
+ - "lassoapp_resource"
382
+ - "lassoapp_source"
383
+ - "queriable_asstring"
384
+ - "session_driver"
385
+ - "trait_array"
386
+ - "trait_asstring"
387
+ - "trait_backcontractible"
388
+ - "trait_backended"
389
+ - "trait_backexpandable"
390
+ - "trait_close"
391
+ - "trait_contractible"
392
+ - "trait_decompose_assignment"
393
+ - "trait_doubleended"
394
+ - "trait_each_sub"
395
+ - "trait_encodeurl"
396
+ - "trait_endedfullymutable"
397
+ - "trait_expandable"
398
+ - "trait_file"
399
+ - "trait_finite"
400
+ - "trait_finiteforeach"
401
+ - "trait_foreach"
402
+ - "trait_foreachtextelement"
403
+ - "trait_frontcontractible"
404
+ - "trait_frontended"
405
+ - "trait_frontexpandable"
406
+ - "trait_fullymutable"
407
+ - "trait_generator"
408
+ - "trait_generatorcentric"
409
+ - "trait_hashable"
410
+ - "trait_json_serialize"
411
+ - "trait_keyed"
412
+ - "trait_keyedfinite"
413
+ - "trait_keyedforeach"
414
+ - "trait_keyedmutable"
415
+ - "trait_list"
416
+ - "trait_map"
417
+ - "trait_net"
418
+ - "trait_pathcomponents"
419
+ - "trait_positionallykeyed"
420
+ - "trait_positionallysearchable"
421
+ - "trait_queriable"
422
+ - "trait_queriablelambda"
423
+ - "trait_readbytes"
424
+ - "trait_readstring"
425
+ - "trait_scalar"
426
+ - "trait_searchable"
427
+ - "trait_serializable"
428
+ - "trait_setencoding"
429
+ - "trait_setoperations"
430
+ - "trait_stack"
431
+ - "trait_treenode"
432
+ - "trait_writebytes"
433
+ - "trait_writestring"
434
+ - "trait_xml_elementcompat"
435
+ - "trait_xml_nodecompat"
436
+ - "web_connection"
437
+ - "web_node_container"
438
+ - "web_node_content_css_specialized"
439
+ - "web_node_content_document"
440
+ - "web_node_content_html_specialized"
441
+ - "web_node_content_js_specialized"
442
+ - "web_node_content_json_specialized"
443
+ - "web_node_content_representation"
444
+ - "web_node_content"
445
+ - "web_node_postable"
446
+ - "web_node"