deep-cover-core 0.6.3.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +4 -0
  3. data/.rspec_all +3 -0
  4. data/.rubocop.yml +1 -0
  5. data/Gemfile +11 -0
  6. data/deep_cover_core.gemspec +46 -0
  7. data/lib/deep-cover.rb +3 -0
  8. data/lib/deep_cover/analyser/base.rb +104 -0
  9. data/lib/deep_cover/analyser/branch.rb +41 -0
  10. data/lib/deep_cover/analyser/covered_code_source.rb +21 -0
  11. data/lib/deep_cover/analyser/function.rb +14 -0
  12. data/lib/deep_cover/analyser/node.rb +54 -0
  13. data/lib/deep_cover/analyser/per_char.rb +38 -0
  14. data/lib/deep_cover/analyser/per_line.rb +41 -0
  15. data/lib/deep_cover/analyser/ruby25_like_branch.rb +211 -0
  16. data/lib/deep_cover/analyser/statement.rb +33 -0
  17. data/lib/deep_cover/analyser/stats.rb +54 -0
  18. data/lib/deep_cover/analyser/subset.rb +27 -0
  19. data/lib/deep_cover/analyser.rb +23 -0
  20. data/lib/deep_cover/auto_run.rb +71 -0
  21. data/lib/deep_cover/autoload_tracker.rb +215 -0
  22. data/lib/deep_cover/backports.rb +22 -0
  23. data/lib/deep_cover/base.rb +117 -0
  24. data/lib/deep_cover/basics.rb +22 -0
  25. data/lib/deep_cover/builtin_takeover.rb +10 -0
  26. data/lib/deep_cover/config.rb +104 -0
  27. data/lib/deep_cover/config_setter.rb +33 -0
  28. data/lib/deep_cover/core_ext/autoload_overrides.rb +112 -0
  29. data/lib/deep_cover/core_ext/coverage_replacement.rb +61 -0
  30. data/lib/deep_cover/core_ext/exec_callbacks.rb +27 -0
  31. data/lib/deep_cover/core_ext/instruction_sequence_load_iseq.rb +32 -0
  32. data/lib/deep_cover/core_ext/load_overrides.rb +19 -0
  33. data/lib/deep_cover/core_ext/require_overrides.rb +28 -0
  34. data/lib/deep_cover/coverage/analysis.rb +42 -0
  35. data/lib/deep_cover/coverage/persistence.rb +84 -0
  36. data/lib/deep_cover/coverage.rb +125 -0
  37. data/lib/deep_cover/covered_code.rb +145 -0
  38. data/lib/deep_cover/custom_requirer.rb +187 -0
  39. data/lib/deep_cover/flag_comment_associator.rb +68 -0
  40. data/lib/deep_cover/load.rb +66 -0
  41. data/lib/deep_cover/memoize.rb +48 -0
  42. data/lib/deep_cover/module_override.rb +39 -0
  43. data/lib/deep_cover/node/arguments.rb +51 -0
  44. data/lib/deep_cover/node/assignments.rb +273 -0
  45. data/lib/deep_cover/node/base.rb +155 -0
  46. data/lib/deep_cover/node/begin.rb +27 -0
  47. data/lib/deep_cover/node/block.rb +61 -0
  48. data/lib/deep_cover/node/branch.rb +32 -0
  49. data/lib/deep_cover/node/case.rb +113 -0
  50. data/lib/deep_cover/node/collections.rb +31 -0
  51. data/lib/deep_cover/node/const.rb +12 -0
  52. data/lib/deep_cover/node/def.rb +40 -0
  53. data/lib/deep_cover/node/empty_body.rb +32 -0
  54. data/lib/deep_cover/node/exceptions.rb +79 -0
  55. data/lib/deep_cover/node/if.rb +73 -0
  56. data/lib/deep_cover/node/keywords.rb +86 -0
  57. data/lib/deep_cover/node/literals.rb +100 -0
  58. data/lib/deep_cover/node/loops.rb +74 -0
  59. data/lib/deep_cover/node/mixin/can_augment_children.rb +65 -0
  60. data/lib/deep_cover/node/mixin/check_completion.rb +18 -0
  61. data/lib/deep_cover/node/mixin/child_can_be_empty.rb +27 -0
  62. data/lib/deep_cover/node/mixin/executed_after_children.rb +15 -0
  63. data/lib/deep_cover/node/mixin/execution_location.rb +66 -0
  64. data/lib/deep_cover/node/mixin/filters.rb +47 -0
  65. data/lib/deep_cover/node/mixin/flow_accounting.rb +71 -0
  66. data/lib/deep_cover/node/mixin/has_child.rb +145 -0
  67. data/lib/deep_cover/node/mixin/has_child_handler.rb +75 -0
  68. data/lib/deep_cover/node/mixin/has_tracker.rb +46 -0
  69. data/lib/deep_cover/node/mixin/is_statement.rb +20 -0
  70. data/lib/deep_cover/node/mixin/rewriting.rb +35 -0
  71. data/lib/deep_cover/node/mixin/wrapper.rb +15 -0
  72. data/lib/deep_cover/node/module.rb +66 -0
  73. data/lib/deep_cover/node/root.rb +20 -0
  74. data/lib/deep_cover/node/send.rb +161 -0
  75. data/lib/deep_cover/node/short_circuit.rb +42 -0
  76. data/lib/deep_cover/node/splat.rb +15 -0
  77. data/lib/deep_cover/node/variables.rb +16 -0
  78. data/lib/deep_cover/node.rb +23 -0
  79. data/lib/deep_cover/parser_ext/range.rb +21 -0
  80. data/lib/deep_cover/problem_with_diagnostic.rb +63 -0
  81. data/lib/deep_cover/reporter/base.rb +68 -0
  82. data/lib/deep_cover/reporter/html/base.rb +14 -0
  83. data/lib/deep_cover/reporter/html/index.rb +59 -0
  84. data/lib/deep_cover/reporter/html/site.rb +68 -0
  85. data/lib/deep_cover/reporter/html/source.rb +136 -0
  86. data/lib/deep_cover/reporter/html/template/assets/32px.png +0 -0
  87. data/lib/deep_cover/reporter/html/template/assets/40px.png +0 -0
  88. data/lib/deep_cover/reporter/html/template/assets/deep_cover.css +291 -0
  89. data/lib/deep_cover/reporter/html/template/assets/deep_cover.css.sass +336 -0
  90. data/lib/deep_cover/reporter/html/template/assets/jquery-3.2.1.min.js +4 -0
  91. data/lib/deep_cover/reporter/html/template/assets/jquery-3.2.1.min.map +1 -0
  92. data/lib/deep_cover/reporter/html/template/assets/jstree.css +1108 -0
  93. data/lib/deep_cover/reporter/html/template/assets/jstree.js +8424 -0
  94. data/lib/deep_cover/reporter/html/template/assets/jstreetable.js +1069 -0
  95. data/lib/deep_cover/reporter/html/template/assets/throbber.gif +0 -0
  96. data/lib/deep_cover/reporter/html/template/index.html.erb +75 -0
  97. data/lib/deep_cover/reporter/html/template/source.html.erb +35 -0
  98. data/lib/deep_cover/reporter/html.rb +15 -0
  99. data/lib/deep_cover/reporter/istanbul.rb +184 -0
  100. data/lib/deep_cover/reporter/text.rb +58 -0
  101. data/lib/deep_cover/reporter/tree/util.rb +86 -0
  102. data/lib/deep_cover/reporter.rb +10 -0
  103. data/lib/deep_cover/tools/blank.rb +25 -0
  104. data/lib/deep_cover/tools/builtin_coverage.rb +55 -0
  105. data/lib/deep_cover/tools/camelize.rb +13 -0
  106. data/lib/deep_cover/tools/content_tag.rb +11 -0
  107. data/lib/deep_cover/tools/covered.rb +9 -0
  108. data/lib/deep_cover/tools/execute_sample.rb +34 -0
  109. data/lib/deep_cover/tools/format.rb +18 -0
  110. data/lib/deep_cover/tools/format_char_cover.rb +19 -0
  111. data/lib/deep_cover/tools/format_generated_code.rb +27 -0
  112. data/lib/deep_cover/tools/indent_string.rb +26 -0
  113. data/lib/deep_cover/tools/merge.rb +16 -0
  114. data/lib/deep_cover/tools/number_lines.rb +22 -0
  115. data/lib/deep_cover/tools/our_coverage.rb +11 -0
  116. data/lib/deep_cover/tools/profiling.rb +68 -0
  117. data/lib/deep_cover/tools/render_template.rb +13 -0
  118. data/lib/deep_cover/tools/require_relative_dir.rb +12 -0
  119. data/lib/deep_cover/tools/scan_match_datas.rb +10 -0
  120. data/lib/deep_cover/tools/silence_warnings.rb +18 -0
  121. data/lib/deep_cover/tools/slice.rb +9 -0
  122. data/lib/deep_cover/tools/strip_heredoc.rb +18 -0
  123. data/lib/deep_cover/tools/truncate_backtrace.rb +32 -0
  124. data/lib/deep_cover/tools.rb +22 -0
  125. data/lib/deep_cover/tracker_bucket.rb +50 -0
  126. data/lib/deep_cover/tracker_hits_per_path.rb +35 -0
  127. data/lib/deep_cover/tracker_storage.rb +76 -0
  128. data/lib/deep_cover/tracker_storage_per_path.rb +34 -0
  129. data/lib/deep_cover/version.rb +5 -0
  130. data/lib/deep_cover.rb +22 -0
  131. metadata +329 -0
@@ -0,0 +1,291 @@
1
+ /*** This generated from a sass file, do not modify ***/
2
+
3
+ /* constant entity.name.constant variable.other.constant variable.language support meta.property-name support.constant support.variable meta.module-reference markup.raw meta.diff.header meta.output */
4
+ /* variable.parameter.function storage.modifier.package storage.modifier.import storage.type.java variable.other */
5
+ /* string */
6
+ /* punctuation.definition.string source.regexp string.regexp.character-class */
7
+ /* string punctuation.section.embedded source */
8
+ /* string.regexp */
9
+ /* string.regexp constant.character.escape */
10
+ /* string.regexp source.ruby.embedded */
11
+ /* variable */
12
+ /* markup.heading */
13
+ /* markup.heading entity.name */
14
+ html, body, div, span, applet, object, iframe,
15
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
16
+ a, abbr, acronym, address, big, cite, code,
17
+ del, dfn, em, img, ins, kbd, q, s, samp,
18
+ small, strike, strong, sub, sup, tt, var,
19
+ b, u, i, center,
20
+ dl, dt, dd, ol, ul, li,
21
+ fieldset, form, label, legend,
22
+ table, caption, tbody, tfoot, thead, tr, th, td,
23
+ article, aside, canvas, details, embed,
24
+ figure, figcaption, footer, header, hgroup,
25
+ menu, nav, output, ruby, section, summary,
26
+ time, mark, audio, video {
27
+ margin: 0;
28
+ padding: 0;
29
+ border: 0;
30
+ font-size: 100%;
31
+ vertical-align: baseline;
32
+ }
33
+
34
+ article, aside, details, figcaption, figure,
35
+ footer, header, hgroup, menu, nav, section {
36
+ display: block;
37
+ }
38
+
39
+ body {
40
+ line-height: 1;
41
+ }
42
+
43
+ ol, ul {
44
+ list-style: none;
45
+ }
46
+
47
+ blockquote, q {
48
+ quotes: none;
49
+ }
50
+
51
+ blockquote:before, blockquote:after,
52
+ q:before, q:after {
53
+ content: "";
54
+ content: none;
55
+ }
56
+
57
+ table {
58
+ border-collapse: collapse;
59
+ border-spacing: 0;
60
+ }
61
+
62
+ * {
63
+ box-sizing: border-box;
64
+ border-collapse: collapse;
65
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
66
+ }
67
+
68
+ body.source .stats table, body.source main table.source, body.source main table.source .icon, body.source main table.source .kind-empty > .empty-icon, body.source main table.source .fork-icon {
69
+ border: 1px solid #e1e4e8;
70
+ }
71
+
72
+ .fork-branch > .fork-icon {
73
+ display: none;
74
+ }
75
+
76
+ body.source main table.source .fork-whole:hover .fork-branch > .fork-icon, body.source.show-forks .fork-branch > .fork-icon {
77
+ display: inherit;
78
+ }
79
+
80
+ main, .overlay .center, header .content {
81
+ width: 980px;
82
+ margin: 0 auto 0 auto;
83
+ }
84
+
85
+ main {
86
+ padding-top: 10px;
87
+ }
88
+
89
+ .overlay {
90
+ width: 100%;
91
+ position: fixed;
92
+ top: 0;
93
+ z-index: 9999;
94
+ }
95
+ .overlay .center {
96
+ position: relative;
97
+ }
98
+
99
+ header {
100
+ width: 100%;
101
+ position: relative;
102
+ top: 0;
103
+ background: #24292e;
104
+ color: rgba(255, 255, 255, 0.75);
105
+ padding-bottom: 4px;
106
+ }
107
+ header .content {
108
+ position: relative;
109
+ }
110
+ header .content .info {
111
+ padding: 4px 0 4px 0;
112
+ color: #88d483;
113
+ }
114
+ header .content .info .deep-cover {
115
+ transition: opacity 0.4s;
116
+ opacity: 0.3;
117
+ font-size: 24px;
118
+ font-weight: 900;
119
+ }
120
+ header .content .info .deep-cover .deep {
121
+ color: #74b770;
122
+ }
123
+ header .content .info .version {
124
+ transition: opacity 0.4s;
125
+ opacity: 0.1;
126
+ font-size: 12px;
127
+ font-weight: lighter;
128
+ }
129
+ header .content .info:hover .deep-cover {
130
+ opacity: 0.8;
131
+ }
132
+ header .content .info:hover .version {
133
+ opacity: 0.6;
134
+ }
135
+ body.source header .content .nav a {
136
+ color: white;
137
+ }
138
+
139
+ body.source .stats {
140
+ position: absolute;
141
+ background: white;
142
+ right: 20px;
143
+ top: 15px;
144
+ color: #032f62;
145
+ }
146
+ body.source .stats th, body.source .stats td {
147
+ padding: 6px;
148
+ border-right: 1px solid #e1e4e8;
149
+ }
150
+ body.source .stats td {
151
+ padding-top: 0;
152
+ }
153
+ body.source .stats .ignored {
154
+ opacity: 0.7;
155
+ }
156
+ body.source .stats .ignored::before {
157
+ content: "[+";
158
+ }
159
+ body.source .stats .ignored::after {
160
+ content: "]";
161
+ }
162
+ body.source main {
163
+ white-space: pre;
164
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
165
+ font-size: 12px;
166
+ line-height: 20px;
167
+ }
168
+ body.source main table.source {
169
+ width: 100%;
170
+ color: #6a737d;
171
+ }
172
+ body.source main table.source td {
173
+ vertical-align: top;
174
+ }
175
+ body.source main table.source .nb {
176
+ color: rgba(27, 31, 35, 0.3);
177
+ text-align: right;
178
+ width: 50px;
179
+ padding-right: 10px;
180
+ padding-left: 10px;
181
+ }
182
+ body.source main table.source .run {
183
+ color: #032f62;
184
+ }
185
+ body.source main table.source .not-run {
186
+ background-color: #ffb3b3;
187
+ padding: 2px 0;
188
+ }
189
+ body.source main table.source .ignored {
190
+ background-color: #d9d9d9;
191
+ padding: 2px 0;
192
+ }
193
+ body.source main table.source .kind-keyword, body.source main table.source .kind-else {
194
+ color: #a419ea;
195
+ }
196
+ body.source main table.source .node-def.kind-name {
197
+ color: #3e920c;
198
+ }
199
+ body.source main table.source .kind-expression, body.source main table.source .node-const {
200
+ color: #005cc5;
201
+ }
202
+ body.source main table.source .node-send {
203
+ color: #25712b;
204
+ }
205
+ body.source main table.source .node-str {
206
+ color: #032f62;
207
+ }
208
+ body.source main table.source .icon-not-run, body.source main table.source .kind-empty.not-run > .empty-icon, body.source main table.source .fork-with-uncovered-branches.fork-not-run > .fork-icon {
209
+ background-color: #ffb3b3;
210
+ border-color: red;
211
+ }
212
+ body.source main table.source .icon-ignored, body.source main table.source .fork-with-uncovered-branches.fork-ignored > .fork-icon {
213
+ background-color: #d9d9d9;
214
+ border-color: #a6a6a6;
215
+ }
216
+ body.source main table.source .icon, body.source main table.source .kind-empty > .empty-icon, body.source main table.source .fork-icon {
217
+ width: 2ex;
218
+ height: 1.5em;
219
+ line-height: 1.5em;
220
+ text-align: center;
221
+ background-color: white;
222
+ padding: 0;
223
+ }
224
+ body.source main table.source .kind-empty {
225
+ position: relative;
226
+ }
227
+ body.source main table.source .kind-empty > .empty-icon {
228
+ left: -2.5ex;
229
+ width: 2.3ex;
230
+ }
231
+ body.source main table.source .fork {
232
+ position: relative;
233
+ }
234
+ body.source main table.source .fork-whole > .fork-icon {
235
+ z-index: 1;
236
+ }
237
+ body.source main table.source .fork-whole:hover {
238
+ background: #e1e4e8;
239
+ padding: 2px 0;
240
+ }
241
+ body.source.show-forks .fork-whole {
242
+ background: #e1e4e8;
243
+ }
244
+ body.source.show-forks .stats .branch {
245
+ background: #74b770;
246
+ }
247
+
248
+ .tree .jstree-table-cell {
249
+ padding-left: 0;
250
+ }
251
+ .tree .jstree-table-cell span {
252
+ padding-right: 4px;
253
+ }
254
+ .tree .jstree-table-header-cell {
255
+ padding-right: 17px;
256
+ font-style: italic;
257
+ }
258
+ .tree .jstree-table-sort-icon {
259
+ right: 4px;
260
+ top: 8px;
261
+ left: inherit;
262
+ }
263
+ .tree .jstree-table-separator {
264
+ border: none;
265
+ }
266
+ .tree .jstree-table-column {
267
+ text-align: right;
268
+ border: gray 1px #ddd;
269
+ }
270
+ .tree .jstree-table-column-0 {
271
+ text-align: left;
272
+ }
273
+ .tree .percent-100 {
274
+ color: green;
275
+ }
276
+ .tree .percent-90 {
277
+ color: blue;
278
+ }
279
+ .tree .percent-80 {
280
+ color: brown;
281
+ }
282
+ .tree .percent-60, .tree .percent-70 {
283
+ color: orange;
284
+ }
285
+ .tree .percent-00, .tree .percent-10, .tree .percent-20, .tree .percent-30, .tree .percent-40, .tree .percent-50 {
286
+ color: red;
287
+ }
288
+
289
+ footer {
290
+ display: none;
291
+ }
@@ -0,0 +1,336 @@
1
+ // Adapted from GitHub's scheme https://raw.githubusercontent.com/primer/github-syntax-light/master/lib/github-light.css
2
+ $pl-c: #6a737d /* comment punctuation.definition.comment string.comment */
3
+
4
+ /* constant entity.name.constant variable.other.constant variable.language support meta.property-name support.constant support.variable meta.module-reference markup.raw meta.diff.header meta.output */
5
+ $pl-c1: #005cc5 /* string variable */
6
+
7
+ $pl-en: #6f42c1 /* entity.name */
8
+
9
+ /* variable.parameter.function storage.modifier.package storage.modifier.import storage.type.java variable.other */
10
+ $pl-s1: #24292e /* string source */
11
+
12
+
13
+ $pl-ent: #22863a /* entity.name.tag markup.quote */
14
+
15
+
16
+ $pl-k: #d73a49 /* keyword storage storage.type */
17
+ $pl-k: #a419ea /* override */
18
+
19
+ /* string */
20
+ /* punctuation.definition.string source.regexp string.regexp.character-class */
21
+ /* string punctuation.section.embedded source */
22
+ /* string.regexp */
23
+ /* string.regexp constant.character.escape */
24
+ /* string.regexp source.ruby.embedded */
25
+ $pl-s: #032f62 /* string.regexp string.regexp.arbitrary-repitition */
26
+
27
+ /* variable */
28
+ $pl-v: #e36209 /* sublimelinter.mark.warning */
29
+
30
+ $pl-bu: #b31d28 /* invalid.broken invalid.deprecated invalid.unimplemented message.error brackethighlighter.unmatched sublimelinter.mark.error */
31
+
32
+ $pl-ii: #fafbfc /* invalid.illegal */
33
+ $pl-ii-background: #b31d28
34
+
35
+ $pl-sr: #22863a /* string.regexp constant.character.escape */
36
+
37
+ $pl-ml: #735c0f /* markup.list */
38
+
39
+ /* markup.heading */
40
+ /* markup.heading entity.name */
41
+ $pl-mh: #005cc5 /* meta.separator */
42
+
43
+ $pl-mi2: #f6f8fa /* markup.ignored markup.untracked */
44
+ $pl-mi2-background: #005cc5
45
+
46
+
47
+ // http://meyerweb.com/eric/tools/css/reset/
48
+ // v2.0 | 20110126
49
+ // License: none (public domain)
50
+
51
+
52
+ html, body, div, span, applet, object, iframe,
53
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
54
+ a, abbr, acronym, address, big, cite, code,
55
+ del, dfn, em, img, ins, kbd, q, s, samp,
56
+ small, strike, strong, sub, sup, tt, var,
57
+ b, u, i, center,
58
+ dl, dt, dd, ol, ul, li,
59
+ fieldset, form, label, legend,
60
+ table, caption, tbody, tfoot, thead, tr, th, td,
61
+ article, aside, canvas, details, embed,
62
+ figure, figcaption, footer, header, hgroup,
63
+ menu, nav, output, ruby, section, summary,
64
+ time, mark, audio, video
65
+ margin: 0
66
+ padding: 0
67
+ border: 0
68
+ font-size: 100%
69
+ // font: inherit
70
+ vertical-align: baseline
71
+
72
+ // HTML5 display-role reset for older browsers
73
+ article, aside, details, figcaption, figure,
74
+ footer, header, hgroup, menu, nav, section
75
+ display: block
76
+
77
+ body
78
+ line-height: 1
79
+
80
+ ol, ul
81
+ list-style: none
82
+
83
+ blockquote, q
84
+ quotes: none
85
+
86
+ blockquote:before, blockquote:after,
87
+ q:before, q:after
88
+ content: ''
89
+ content: none
90
+
91
+ table
92
+ border-collapse: collapse
93
+ border-spacing: 0
94
+
95
+
96
+ // Global settings
97
+ *
98
+ box-sizing: border-box
99
+ border-collapse: collapse
100
+ font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif
101
+
102
+ // *** DeepCover Source ***
103
+
104
+ $dark-green: #25712b
105
+ $light-green: #74b770
106
+ $light-gray: #e1e4e8
107
+
108
+ %light-border
109
+ border: 1px solid $light-gray
110
+
111
+ .fork-branch > .fork-icon
112
+ display: none
113
+ %show-fork-icon
114
+ .fork-branch > .fork-icon
115
+ display: inherit
116
+ %center
117
+ width: 980px
118
+ margin: 0 auto 0 auto
119
+
120
+ $toggled: $light-green
121
+ $not-run: hsl(hue(#f00), 100%, 85%)
122
+ $ignored: hsl(0, 0, 85%)
123
+
124
+ // *** Common template ***
125
+ main
126
+ @extend %center
127
+ padding-top: 10px
128
+ .overlay
129
+ width: 100%
130
+ position: fixed
131
+ top: 0
132
+ z-index: 9999
133
+ .center
134
+ position: relative
135
+ @extend %center
136
+
137
+ header
138
+ width: 100%
139
+ position: relative
140
+ top: 0
141
+ background: #24292e
142
+ color: rgba(255,255,255,0.75)
143
+ padding-bottom: 4px
144
+
145
+ .content
146
+ position: relative
147
+ @extend %center
148
+
149
+ .info
150
+ padding: 4px 0 4px 0
151
+ color: #88d483
152
+ .deep-cover
153
+ transition: opacity 0.4s
154
+ opacity: 0.3
155
+ font-size: 24px
156
+ font-weight: 900
157
+ .deep
158
+ color: #74b770
159
+ .version
160
+ transition: opacity 0.4s
161
+ opacity: 0.1
162
+ font-size: 12px
163
+ font-weight: lighter
164
+ &:hover
165
+ .deep-cover
166
+ opacity: 0.8
167
+ .version
168
+ opacity: 0.6
169
+
170
+ // *** DeepCover Source ***
171
+ body.source &
172
+ .nav
173
+ a
174
+ color: white
175
+ body.source
176
+ .stats
177
+ th, td
178
+ padding: 6px
179
+ border-right: 1px solid $light-gray
180
+ td
181
+ padding-top: 0
182
+ table
183
+ @extend %light-border
184
+ position: absolute
185
+ background: white
186
+ right: 20px
187
+ top: 15px
188
+ color: $pl-s
189
+ .ignored
190
+ opacity: 0.7
191
+ &::before
192
+ content: "[+"
193
+ &::after
194
+ content: "]"
195
+
196
+ main
197
+ white-space: pre
198
+ font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace
199
+ font-size: 12px
200
+ line-height: 20px
201
+
202
+ table.source
203
+ @extend %light-border
204
+ width: 100%
205
+
206
+ td
207
+ vertical-align: top
208
+
209
+ .nb
210
+ color: rgba(27,31,35,0.3)
211
+ text-align: right
212
+ width: 50px
213
+ padding-right: 10px
214
+ padding-left: 10px
215
+ // * Color scheme *
216
+
217
+ // Default color, for unexecutable code
218
+ color: $pl-c
219
+
220
+ // Executed code
221
+ .run
222
+ color: $pl-s
223
+
224
+ .not-run
225
+ background-color: $not-run
226
+ padding: 2px 0
227
+
228
+ .ignored
229
+ background-color: $ignored
230
+ padding: 2px 0
231
+
232
+ .kind-keyword, .kind-else
233
+ color: $pl-k
234
+
235
+ .node-def.kind-name
236
+ color: #3e920c
237
+
238
+ // Literals:
239
+ .kind-expression, .node-const
240
+ color: $pl-c1
241
+
242
+ .node-send
243
+ color: $dark-green
244
+
245
+ .node-str
246
+ color: $pl-s
247
+
248
+ // Icons
249
+ .icon-not-run
250
+ background-color: $not-run
251
+ border-color: red
252
+ .icon-ignored
253
+ background-color: $ignored
254
+ border-color: darken($ignored, 20%)
255
+ .icon
256
+ width: 2ex
257
+ height: 1.5em
258
+ line-height: 1.5em
259
+ text-align: center
260
+ background-color: white
261
+ padding: 0
262
+ @extend %light-border
263
+
264
+ .kind-empty
265
+ position: relative
266
+ & > .empty-icon
267
+ @extend .icon
268
+ left: -2.5ex
269
+ width: 2.3ex
270
+ &.not-run > .empty-icon
271
+ @extend .icon-not-run
272
+
273
+ // Branches
274
+ .fork
275
+ position: relative
276
+ .fork-icon
277
+ @extend .icon
278
+ .fork-whole
279
+ & > .fork-icon
280
+ z-index: 1
281
+ &:hover
282
+ @extend %show-fork-icon
283
+ background: $light-gray
284
+ padding: 2px 0
285
+
286
+ .fork-with-uncovered-branches
287
+ &.fork-not-run > .fork-icon
288
+ @extend .icon-not-run
289
+ &.fork-ignored > .fork-icon
290
+ @extend .icon-ignored
291
+
292
+ &.show-forks
293
+ @extend %show-fork-icon
294
+ .fork-whole
295
+ background: $light-gray
296
+ .stats .branch
297
+ background: $toggled
298
+
299
+ // *** Index ***
300
+
301
+ .tree
302
+ // Overrides
303
+ .jstree-table-cell
304
+ padding-left: 0
305
+ span
306
+ padding-right: 4px
307
+ .jstree-table-header-cell
308
+ // Leave space for sort arrows:
309
+ padding-right: 17px
310
+ font-style: italic
311
+ .jstree-table-sort-icon
312
+ right: 4px
313
+ top: 8px
314
+ left: inherit
315
+ .jstree-table-separator
316
+ border: none
317
+
318
+ .jstree-table-column
319
+ text-align: right
320
+ border: gray 1px #ddd
321
+ .jstree-table-column-0
322
+ text-align: left
323
+
324
+ .percent-100
325
+ color: green
326
+ .percent-90
327
+ color: blue
328
+ .percent-80
329
+ color: brown
330
+ .percent-60, .percent-70
331
+ color: orange
332
+ .percent-00, .percent-10, .percent-20, .percent-30, .percent-40, .percent-50
333
+ color: red
334
+
335
+ footer
336
+ display: none