aboutsummaryrefslogtreecommitdiff
path: root/views/templates.pug
blob: cc3f50c72cf9097a187eb23c4ee9909c6f1cd678 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
.gl_keep.template

  #codeEditor
    .top-bar.btn-toolbar.bg-light(role="toolbar" aria-label="Editor toolbar" name="editor-btn-toolbar")
      include font-size.pug
      .btn-group.btn-group-sm(role="group" aria-label="Editor settings")
        button.btn.btn-sm.btn-light.load-save(title="Load or save text" aria-label="Load or save text")
          span.fa.fa-save
          span.hideable Save/Load
        button.dropdown-toggle.btn.btn-sm.btn-light.add-pane(type="button" title="Add a new pane" aria-label="Add a new pane" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false")
          span.fa.fa-plus
          span.hideable Add new...
        .dropdown-menu
          button.dropdown-item.btn.btn-sm.btn-light.add-compiler(title="Add a new compiler for this source" aria-label="New compiler")
            span.dropdown-icon.fa.fa-cogs
            | Compiler
          button.dropdown-item.btn.btn-sm.btn-light.add-executor(title="Add a new executor for this source" aria-label="New executor")
            span.dropdown-icon.fas.fa-microchip
            | Execution only
          button.dropdown-item.btn.btn-sm.btn-light.conformance(title="Add a new conformance view" aria-label="New conformance view")
            span.dropdown-icon.fa.fa-list
            | Conformance view
          button.dropdown-item.btn.btn-sm.btn-light.add-editor(title="Add a new source editor view" aria-label="New source editor")
            span.dropdown-icon.fa.fa-code
            | Source editor
        button#vim-flag.btn.btn-sm.btn-light(title="Toggle Vim Keybindings")
          span.fab.fa-vimeo-v
          span.hideable Vim
      if thirdPartyIntegrationEnabled
        .btn-group.btn-group-sm(role="group" aria-label="External Sites")
          a.btn.btn-sm.btn-light.open-in-cppinsights(href="https://cppinsights.io/" target="_blank" title="Open in Cppinsights" aria-label="Open in Cppinsights")
            svg(height="16" width="16")
              include resources/cppinsights.svg
            span.hideable CppInsights
          a.btn.btn-sm.btn-light.open-in-quickbench(href="http://quick-bench.com/" target="_blank" title="Open in Quick-bench" aria-label="Open in Quick-bench")
            svg(height="16" width="16")
              include resources/quickbench.svg
            span.hideable Quick-bench
      .btn-group.btn-group-sm.mx-auto
        button.btn.btn-sm.btn-outline-info.currentCursorPosition(disabled=true)
        button.btn.btn-sm.btn-outline-info.ctrlSNothing(disabled=true style="display: none")
          span.fas.fa-smile
      .btn-group.btn-group-sm.ml-auto(role="group" aria-label="Editor language")
        select.change-language(title="Change this editor's (and associated panels) language" placeholder="Language" disabled=embedded && readOnly)
    div#v-status
    .monaco-placeholder

  #compiler
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      .btn-group.btn-group-sm(role="group" aria-label="Compiler picker")
        .input-group
          .input-group-prepend
            .input-group
              select.compiler-picker
              .input-group-append
                button.btn.btn-sm.btn-light.input-group-text.prepend-options(data-trigger="click" style="cursor: pointer;" role="button" title="All compilation options")
                  span.status-icon
          input.options.form-control(type="text" placeholder="Compiler options..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
          .input-group-append.populararguments(title="Popular arguments")
            button.btn.btn-sm.btn-light.btn-outline-secondary.dropdown-toggle.dropdown-toggle-split.popular-arguments-btn(type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false")
              span.sr-only Popular arguments
            div.dropdown-menu.dropdown-menu-right
              button.dropdown-item.btn.btn-light.btn-sm
                .argmenuitem
                  span.argtitle Detailed Compiler Flags
                  span.argdescription Open a new window to edit verbose compiler flags
      include font-size
      .btn-group.btn-group-sm.filters(role="group")
        button.btn.btn-sm.btn-light.dropdown-toggle(type="button" title="Compiler output options" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Change how the compiler's output is generated")
          span.fas.fa-cog
          span.hideable Output...
        .dropdown-menu
          include options-output.pug
      .btn-group.btn-group-sm.filters(role="group")
        button.btn.btn-sm.btn-light.dropdown-toggle(type="button" title="Compiler output filters" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Change how the compiler output is filtered")
          span.fas.fa-filter
          span.hideable Filter...
        .dropdown-menu
          include options-filters.pug
      .btn-group.btn-group-sm(role="group" aria-label="Compiler additions")
        button.btn.btn-sm.btn-light.show-libs(title="Include libs" aria-label="Toggle libraries dropdown")
          span.fas.fa-book
          span.dp-text.hideable Libraries
      .btn-group.btn-group-sm(role="group")
        button.btn.btn-sm.btn-light.dropdown-toggle.add-pane(type="button" title="Add a new pane" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Add new element for this compiler")
          span.fas.fa-plus
          span.hideable Add new...
        .dropdown-menu.dropdown-menu-right
          button.dropdown-item.btn.btn-sm.btn-light.add-compiler(title="Clone this compiler window (click or drag)")
            span.dropdown-icon.far.fa-clone
            | Clone compiler
          button.dropdown-item.btn.btn-sm.btn-light.create-executor(title="Create executor from this compiler")
            span.dropdown-icon.fas.fa-microchip
            | Executor from this
          button.dropdown-item.btn.btn-sm.btn-light.view-optimization(title="Show optimization output")
            span.dropdown-icon.fas.fa-weight
            | Optimization output
          button.dropdown-item.btn.btn-sm.btn-light.view-ast(title="Show AST output")
            span.dropdown-icon.fas.fa-leaf
            | AST output
          button.dropdown-item.btn.btn-sm.btn-light.view-ir(title="Show LLVM Intermediate Representation")
            span.dropdown-icon.fas.fa-align-center
            | LLVM IR output
          button.dropdown-item.btn.btn-sm.btn-light.view-device(title="Show Device output")
            span.dropdown-icon.fas.fa-tv
            | Device output
          button.dropdown-item.btn.btn-sm.btn-light.view-rustmir(title="Show Rust Mid-level Intermediate Representation")
            span.dropdown-icon.fas.fa-water
            | Rust MIR output
          button.dropdown-item.btn.btn-sm.btn-light.view-rustmacroexp(title="Show Rust Macro Expansion")
            span.dropdown-icon.fas.fa-arrows-alt
            | Rust Macro Expansion output
          button.dropdown-item.btn.btn-sm.btn-light.view-rusthir(title="Show Rust HIR")
            span.dropdown-icon.fas.fa-arrows-alt
            | Rust HIR output
          button.dropdown-item.btn.btn-sm.btn-light.view-gccdump(title="Show Tree/RTL dump (GCC only)")
            span.dropdown-icon.fas.fa-tree
            | GCC Tree/RTL output
          button.dropdown-item.btn.btn-sm.btn-light.view-gnatdebugtree(title="Show GNAT Debug Tree")
              span.dropdown-icon.fas.fa-tree
              | GNAT Debug Tree
          button.dropdown-item.btn.btn-sm.btn-light.view-gnatdebug(title="Show GNAT Debug Expanded Code")
            span.dropdown-icon.fas.fa-tree
            | GNAT Debug Expanded Code
          button.dropdown-item.btn.btn-sm.btn-light.view-cfg(title="Show Graph Output")
            span.dropdown-icon.fas.fa-exchange-alt
            | Graph output
      .btn-group.btn-group-sm(role="group")
        button.btn.btn-sm.btn-light.dropdown-toggle.add-tool(type="button" title="Add tool" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Add tooling to this editor and compiler")
          span.fas.fa-screwdriver
          span.hideable Add tool...
        .dropdown-menu.dropdown-menu-right.toolsmenu
    .monaco-placeholder
    .bottom-bar.bg-light
      if !embedded
        .btn-group.btn-group-sm
          .input-group
            .input-group-prepend
              button.btn.btn-sm.btn-light.clear-cache(title="Clear cache & recompile")
                span.fas.fa-redo
            button.btn.btn-sm.btn-light.output-btn
              span.fas.fa-receipt.status-text
              |  Output
              span.output-count
                |  (
                span.text-count
                  | 0
                | /
                span.err-count
                  | 0
                | )
        span.short-compiler-name.mr-1
        button.btn.btn-sm.btn-light.full-compiler-name(data-trigger="click" style="cursor: pointer;" role="button")
          span.fas.fa-info
        span.compile-info.mr-1(title="Compilation info")
        button.btn.btn-sm.btn-light.full-timing-info(data-trigger="click" style="cursor: pointer;" role="button")
          span.fas.fa-chart-bar

  #executor
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
      .btn-group.btn-group-sm.options(role="group" aria-label="Output options")
        .button-checkbox
          button.btn.btn-sm.btn-light.wrap-lines(type="button" title="Wrap lines" data-bind="wrap" aria-pressed="false" aria-label="Wrap lines")
            span Wrap lines
          input.d-none(type="checkbox" checked=false)
        button.btn.btn-sm.btn-light.show-libs(title="Include libs" aria-label="Toggle libraries dropdown")
          span.fas.fa-book
          span.dp-text.hideable Libraries
      button.btn.btn-sm.btn-light.toggle-compilation.active
        span.fas.fa-cogs
        span.hideable Compilation
      button.btn.btn-sm.btn-light.toggle-args
        span.fas.fa-terminal
        span.hideable Arguments
      button.btn.btn-sm.btn-light.toggle-stdin
        span.fas.fa-sign-in-alt
        span.hideable Stdin
      button.btn.btn-sm.btn-light.toggle-compilerout.active
        span.fas.fa-sign-out-alt
        span.hideable Compiler output
      button.btn.btn-sm.btn-light.clear-cache(title="Clear cache & recompile")
        span.fas.fa-redo
    .top-bar.btn-toolbar.bg-light.panel-compilation(role="toolbar")
      .btn-group.btn-group-sm(role="group" aria-label="Compiler picker")
        .input-group
          .input-group-prepend
            .input-group
              select.compiler-picker
              .input-group-append
                button.btn.btn-sm.btn-light.input-group-text.prepend-options(data-trigger="click" style="cursor: pointer;" role="button" title="All compilation options")
                  span.btn.btn-sm.btn-light.status-icon
          input.compilation-options.form-control(type="text" placeholder="Compiler options..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
          // TODO: Maybe enable this in the future?
          //.input-group-append.populararguments(title="Popular arguments")
            button.btn.btn-sm.btn-light.btn-outline-secondary.dropdown-toggle.dropdown-toggle-split.popular-arguments-btn(type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false")
              span.sr-only Popular arguments
            div.dropdown-menu.dropdown-menu-right
              button.dropdown-item.btn.btn-light.btn-sm
                .argmenuitem
                  span.argtitle Detailed Compiler Flags
                  span.argdescription Open a new window to edit verbose compiler flags
    .top-bar.btn-toolbar.bg-light.panel-args.d-none(role="toolbar")
      input.execution-arguments.form-control(type="text" placeholder="Execution arguments..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
    .top-bar.btn-toolbar.bg-light.panel-stdin.d-none(role="toolbar")
      textarea.execution-stdin.form-control(placeholder="Execution stdin..." cols="1024" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" aria-multiline="false" style="resize: vertical")
    pre.content
      .execution-status
      .compiler-output
      .execution-output
    .bottom-bar.bg-light
      span.short-compiler-name
      button.btn.btn-sm.btn-light.fas.fa-info.full-compiler-name(data-trigger="click" style="cursor: pointer;" role="button")
      span.compile-time(title="Compilation time (Result size)")
      button.btn.btn-sm.btn-light.fas.fa-chart-bar.full-timing-info(data-trigger="click" style="cursor: pointer;" role="button")

  #compiler-output
    .top-bar.btn-toolbar.options-toolbar.bg-light(role="toolbar")
      include font-size
      .btn-group.btn-group-sm.options(role="group" aria-label="Output options")
        .button-checkbox
          button.btn.btn-sm.btn-light.wrap-lines(type="button" title="Wrap lines" data-bind="wrap" aria-pressed="false" aria-label="Wrap lines")
            span Wrap lines
          input.d-none(type="checkbox" checked=false)
    pre.content

  #tool-input
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
    .monaco-placeholder

  #tool-output
    .top-bar.bad-lang.bg-warning(role="toolbar" style="display: none")
      p The current language or compiler does not support this tool
    .top-bar.btn-toolbar.options-toolbar.bg-light(role="toolbar")
      include font-size
      .btn-group.btn-group-sm.options(role="group" aria-label="Tool options")
        .input-group.input-group-sm.mb-auto
          .button-checkbox
            button.btn.btn-sm.btn-light.wrap-lines(type="button" title="Wrap lines" data-bind="wrap" aria-pressed="false" aria-label="Wrap lines")
              span Wrap lines
            input.d-none(type="checkbox" checked=false)
        button.btn.btn-sm.btn-light.toggle-args
          span.fas.fa-terminal
          span.hideable Arguments
        button.btn.btn-sm.btn-light.toggle-stdin
          span.fas.fa-sign-in-alt
          span.hideable Stdin
    .top-bar.btn-toolbar.bg-light.panel-args.d-none(role="toolbar")
      input.options.form-control(type="text" placeholder="Tool arguments..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
    .top-bar.btn-toolbar.bg-light.panel-stdin.d-none(role="toolbar")
      textarea.tool-stdin.form-control(placeholder="Tool stdin..." cols="1024" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" aria-multiline="false" style="resize: vertical")
    pre.content
    .monaco-placeholder

  #diff
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
      .btn-group.btn-group-sm
        .input-group.input-group-sm.mb-auto
          .input-group-prepend
            label.input-group-text
              | Left: 
          select.diff-picker.lhs(placeholder="Select compiler...")
          select.difftype-picker.lhsdifftype(placeholder="...")
      .btn-group.btn-group-sm.ml-4
        .input-group.input-group-sm.mb-auto
          .input-group-prepend
            label.input-group-text
              | Right: 
          select.diff-picker.rhs(placeholder="Select compiler...")
          select.difftype-picker.rhsdifftype(placeholder="...")
    .monaco-placeholder

  #opt
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
    .monaco-placeholder

  #flags
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
    .monaco-placeholder

  #ast
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
    .monaco-placeholder

  #ir
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
    .monaco-placeholder

  #device
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size.pug
      .btn-group.btn-group-sm(role="group")
        select.change-device(placeholder="Select a device...")
    .monaco-placeholder

  #gnatdebugtree
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
    .monaco-placeholder

  #gnatdebug
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
    .monaco-placeholder

  #rustmir
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
    .monaco-placeholder

  #rustmacroexp
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
    .monaco-placeholder

  #rusthir
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
    .monaco-placeholder

  #gccdump
    .top-bar.btn-toolbar.bg-light(role="toolbar")
      include font-size
      .btn-group.btn-group-sm(role="group")
        select.gccdump-pass-picker(placeholder="Select a pass...")
      .btn-group.btn-group-sm.dump-filters
        button.btn.btn-sm.btn-light.dropdown-toggle(type="button" title="Dump passes" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Available dump passes")
          span.fas.fa-compass
          span.hideable Passes
        .dropdown-menu
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light.active(type="button" title="Show Tree passes" data-bind="treeDump" aria-pressed="true")
              span Tree pass
            input.d-none(type="checkbox" checked=true)
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light.active(type="button" title="Show RTL passes" data-bind="rtlDump" aria-pressed="true")
              span RTL pass
            input.d-none(type="checkbox" checked=true)
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light.active(type="button" title="Show IPA passes" data-bind="ipaDump" aria-pressed="false")
              span IPA pass
            input.d-none(type="checkbox")
      .btn-group.btn-group-sm.dump-filters
        button.btn.btn-sm.btn-light.dropdown-toggle(type="button" title="Dump pass options" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="Control the details of the dump")
          span.fas.fa-microchip
          span.hideable Options
        .dropdown-menu
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Print raw representation of the tree" data-bind="rawOption" aria-pressed="false")
              span Raw Dump
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Print condensed intermediate representations" data-bind="slimOption" aria-pressed="false")
              span Slim Dump
            input.d-none(type="checkbox")
          div.dropdown-divider
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Turn on all options (except raw, slim, and lineno)" data-bind="allOption" aria-pressed="false")
              span All Options
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable printing the address of each tree node" data-bind="addressOption" aria-pressed="true")
              span Addresses
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable showing basic block boundaries (disabled in raw dumps)" data-bind="blocksOption" aria-pressed="false")
              span Basic Blocks
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable showing line numbers" data-bind="linenoOption" aria-pressed="false")
              span Line Numbers
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable more detailed dumps (not honored by every dump option)" data-bind="detailsOption" aria-pressed="false")
              span Pass Details
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable dumping statistics (not honored by every dump option)" data-bind="statsOption" aria-pressed="false")
              span Pass Stats
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable showing variable UIDs" data-bind="uidOption" aria-pressed="false")
              span Unique IDs
            input.d-none(type="checkbox")
          .button-checkbox
            button.dropdown-item.btn.btn-sm.btn-light(type="button" title="Enable showing virtual operands" data-bind="vopsOption" aria-pressed="false")
              span Virtual Operands
            input.d-none(type="checkbox")
    .monaco-placeholder

  #cfg
    .top-bar.btn-toolbar.bg-light.cfg-toolbar(role="toolbar")
      .btn-group.btn-group-sm(role="group")
        select.function-picker
      .btn-group.btn-group-sm.options(role="group")
        .button-checkbox
          button.btn.btn-sm.btn-light.toggle-navigation(type="button" title="Toggle navigation buttons" aria-pressed="false" data-bind="navigation")
            span Nav
          input.d-none(type="checkbox")
        .button-checkbox
          button.btn.btn-sm.btn-light.toggle-physics(type="button" title="Toggle physics to nodes" aria-pressed="false" data-bind="physics")
            span Physics
          input.d-none(type="checkbox")
    .graph-placeholder

  #conformance
    .top-bar.btn-toolbar.options-toolbar.bg-light(role="toolbar")
      .btn-group.btn-group-sm(role="group")
        button.btn.btn-sm.btn-light.add-compiler(title="Add compiler")
          span.fas.fa-plus
          span.hideable Add compiler
        button.btn.btn-sm.btn-light.show-libs.dropdown-toggle(title="Include libs" aria-label="Toggle libraries dropdown" aria-pressed="false" aria-haspopup="true")
          span.fas.fa-book
          span.dp-text.hideable Libraries
    .conformance-wrapper
      table.compiler-list

  #compiler-selector
    .form-row
      .input-group
        .input-group-prepend
          .input-group
            select.compiler-picker
            .input-group-append
              button.btn.btn-sm.btn-light.input-group-text.prepend-options(tabindex="0" data-trigger="focus" style="cursor: pointer;" role="button" title="All compilation options")
                span.btn.btn-sm.btn-light.status-icon
        input.conformance-options.form-control(type="text" placeholder="Compiler options..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
        .input-group-append
          button.btn.btn-sm.fas.fa-receipt.d-none.compiler-out.compiler-selector-icon(disabled=true style="cursor: help;" title="This compiler has generated some output. Open its associated pane to read it.")
          button.btn.btn-sm.fas.fa-times.close.compiler-selector-icon(aria-label="Close" title="Close")
          button.btn.btn-sm.fas.fa-share.close.extract-compiler.compiler-selector-icon(aria-label="Pop compiler" title="Show compiler")

  #libs-dropdown
    .no-libs
      p No libs configured for this language yet.
      a(target="_blank" rel="noopener noreferrer" href="https://github.com/compiler-explorer/compiler-explorer/issues/new?assignees=&labels=request%2Cnew-libs&template=library_request.md&title=%5BLIB+REQUEST%5D+INSERT+LIB+NAME+HERE")
        | You can suggest us one at any time 
        sup.fas.fa-external-link-alt.opens-new-window(title="Opens in a new window")

  #libs-entry
    .input-group.input-group-sm
      .input-group-prepend
        label.input-group-text
      select.custom-select.custom-select-sm

  #share-item
    a.share-item(href="javascript:;" rel="noopener noreferrer" target="_blank")
      span.share-item-text

  #lib-selected-tpl
    div
      button.btn.btn-md.lib-name-and-version  
      button.btn.btn-sm.lib-remove
        span.fas.fa-trash

  #lib-favorite-tpl
    div.mb-1
      button.btn.btn-md.btn-outline-primary.lib-name-and-version

  #lib-search-result-tpl
    .card
      .card-header
        span
          b.lib-name  
        span.lib-version
          select.custom-select.custom-select-sm.lib-version-select
            option -
      .card-body
        p.lib-description  
        .lib-examples
        div
          span.lib-website
            a.lib-website-link(href='#' target='_blank' rel='noopener') Website
          span.lib-fav
            button.btn.btn-sm.lib-fav-button
              span.lib-fav-btn-icon.far.fa-star

  #tree
    .top-bar.btn-toolbar.bg-light.mainbar(role="toolbar")
      .btn-group.btn-group-sm.menu(role="group" aria-label="Menu")
        button.dropdown-toggle.btn.btn-sm.btn-light.file-menu(type="button" title="File" aria-label="File" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false")
          span.fa.fa-save
          span.hideable Project
        .dropdown-menu
          input.dropdown-item.btn.btn-sm.btn-light.load-project-from-file(type="file" title="Load project from ZIP" aria-label="Load project from ZIP")
          button.dropdown-item.btn.btn-sm.btn-light.save-project-to-file(type="file" title="Save project" aria-label="Save project")
            span.dropdown-icon.fa.fa-save
            | Save
      .btn-group.btn-group-sm.options(role="group" aria-label="Tree settings")
        button.dropdown-toggle.btn.btn-sm.btn-light.add-pane(type="button" title="Add a new pane" aria-label="Add a new pane" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false")
          span.fa.fa-plus
          span.hideable Add new...
        .dropdown-menu
          button.dropdown-item.btn.btn-sm.btn-light.add-editor(title="Add a new source editor view" aria-label="New source editor")
            span.dropdown-icon.fa.fa-code
            | Source editor
          button.dropdown-item.btn.btn-sm.btn-light.add-compiler(title="Add a new compiler for this source" aria-label="New compiler")
            span.dropdown-icon.fa.fa-cogs
            | Compiler
          button.dropdown-item.btn.btn-sm.btn-light.add-executor(title="Add a new executor for this source" aria-label="New executor")
            span.dropdown-icon.fas.fa-microchip
            | Execution only
        .button-checkbox
          button.btn.btn-sm.btn-light.cmake-project(type="button" title="CMake project" data-bind="isCMakeProject" aria-pressed="false" aria-label="CMake project")
            span CMake
          input.d-none(type="checkbox" checked=false)
      .btn-group.btn-group-sm.ml-auto(role="group" aria-label="Language")
        select.change-language(title="Change the language" placeholder="Language" disabled=embedded && readOnly)
    .top-bar.btn-toolbar.bg-light.panel-args.d-none(role="toolbar")
      input.cmake-arguments.form-control(type="text" placeholder="CMake arguments..." size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
    .top-bar.btn-toolbar.bg-light.panel-outputfile.d-none(role="toolbar")
      input.cmake-customOutputFilename.form-control(type="text" placeholder="output.s" size="256" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false")
    .tree.v-scroll
      ul.list-group
        li.root.list-group-item.far-fa-folder
          .group-header Included files
          ul.list-group.named-editors
        li.root.list-group-item.far-fa-folder
          .group-header Excluded files
          ul.list-group.unnamed-editors

  #tree-editor-tpl
    li.list-group-item.tree-editor-file.input-group-append
        span.filename someresource.txt
        button.btn.delete-file.fa.fa-trash(title="Remove this file" aria-label="Delete")
        button.btn.rename-file.fa.fa-tag(title="Rename this file" aria-label="Rename")
        button.btn.stage-file.fa.fa-plus(title="Include this file in the build" aria-label="Include")
        button.btn.unstage-file.fa.fa-minus(title="Exclude this file from the build" aria-label="Exclude")