davinci-text 1.0.0.1

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 (67) hide show
  1. checksums.yaml +7 -0
  2. data/.byebug_history +86 -0
  3. data/.circleci/config.yml +57 -0
  4. data/.gitignore +53 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/Gemfile.lock +50 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +91 -0
  10. data/REFERENCE.md +71 -0
  11. data/Rakefile +4 -0
  12. data/bin/davinci +16 -0
  13. data/controllers/atom_input_controller.rb +146 -0
  14. data/controllers/atom_output_controller.rb +107 -0
  15. data/controllers/cl_args_controller.rb +62 -0
  16. data/controllers/menu_controller.rb +148 -0
  17. data/controllers/sublime_input_controller.rb +97 -0
  18. data/controllers/sublime_output_controller.rb +62 -0
  19. data/davinci-text.gemspec +34 -0
  20. data/example_files/atom/atom-dark-syntax/CONTRIBUTING.md +1 -0
  21. data/example_files/atom/atom-dark-syntax/ISSUE_TEMPLATE.md +40 -0
  22. data/example_files/atom/atom-dark-syntax/LICENSE.md +20 -0
  23. data/example_files/atom/atom-dark-syntax/PULL_REQUEST_TEMPLATE.md +28 -0
  24. data/example_files/atom/atom-dark-syntax/README.md +9 -0
  25. data/example_files/atom/atom-dark-syntax/index.less +7 -0
  26. data/example_files/atom/atom-dark-syntax/output.less +384 -0
  27. data/example_files/atom/atom-dark-syntax/package.json +11 -0
  28. data/example_files/atom/atom-dark-syntax/styles/editor.less +50 -0
  29. data/example_files/atom/atom-dark-syntax/styles/syntax-variables.less +44 -0
  30. data/example_files/atom/atom-dark-syntax/styles/syntax.less +283 -0
  31. data/example_files/atom/loved-syntax/CONTRIBUTING.md +1 -0
  32. data/example_files/atom/loved-syntax/LICENSE.md +20 -0
  33. data/example_files/atom/loved-syntax/README.md +14 -0
  34. data/example_files/atom/loved-syntax/index.less +18 -0
  35. data/example_files/atom/loved-syntax/output.less +648 -0
  36. data/example_files/atom/loved-syntax/package.json +15 -0
  37. data/example_files/atom/loved-syntax/styles/colors.less +44 -0
  38. data/example_files/atom/loved-syntax/styles/editor.less +96 -0
  39. data/example_files/atom/loved-syntax/styles/syntax-variables.less +56 -0
  40. data/example_files/atom/loved-syntax/styles/syntax/_base.less +311 -0
  41. data/example_files/atom/loved-syntax/styles/syntax/c.less +5 -0
  42. data/example_files/atom/loved-syntax/styles/syntax/cpp.less +5 -0
  43. data/example_files/atom/loved-syntax/styles/syntax/cs.less +5 -0
  44. data/example_files/atom/loved-syntax/styles/syntax/css.less +13 -0
  45. data/example_files/atom/loved-syntax/styles/syntax/gfm.less +9 -0
  46. data/example_files/atom/loved-syntax/styles/syntax/go.less +5 -0
  47. data/example_files/atom/loved-syntax/styles/syntax/ini.less +5 -0
  48. data/example_files/atom/loved-syntax/styles/syntax/java.less +24 -0
  49. data/example_files/atom/loved-syntax/styles/syntax/javascript.less +17 -0
  50. data/example_files/atom/loved-syntax/styles/syntax/json.less +21 -0
  51. data/example_files/atom/loved-syntax/styles/syntax/python.less +9 -0
  52. data/example_files/atom/loved-syntax/styles/syntax/ruby.less +5 -0
  53. data/example_files/sublime/material.tmTheme +1011 -0
  54. data/example_files/sublime/monokai.tmTheme +432 -0
  55. data/lib/.byebug_history +3 -0
  56. data/lib/templates/atom/.gitignore +3 -0
  57. data/lib/templates/atom/LICENSE.md +20 -0
  58. data/lib/templates/atom/README.md +5 -0
  59. data/lib/templates/atom/index.less +1 -0
  60. data/lib/templates/atom/package.json +15 -0
  61. data/lib/templates/atom/styles/base.less +307 -0
  62. data/lib/templates/atom/styles/colors.less +15 -0
  63. data/lib/templates/atom/styles/syntax-variables.less +31 -0
  64. data/lib/templates/sublime/newTheme.tmTheme +438 -0
  65. data/lib/utility.rb +21 -0
  66. data/lib/version.rb +3 -0
  67. metadata +209 -0
@@ -0,0 +1,648 @@
1
+
2
+ // Palette -----------------------------------
3
+ @base03: hsl(206, 11%, 44%);
4
+ @base04: hsl(223, 11%, 69%);
5
+ @base05: hsl(219, 13%, 78%);
6
+ @base08: hsl(342, 74%, 69%);
7
+ @base09: hsl(27, 65%, 76%);
8
+ @base0A: hsl(13, 88%, 73%);
9
+ @base0B: hsl(96, 10%, 60%);
10
+ @base0C: hsl(180, 20%, 58%);
11
+ @base0D: hsl(210, 35%, 58%);
12
+ @base0E: hsl(300, 20%, 62%);
13
+ @base0F: hsl(15, 26%, 53%);
14
+
15
+ // Config -----------------------------------
16
+ @syntax-hue: 218;
17
+ @syntax-saturation: 35%;
18
+ @syntax-brightness: 14%;
19
+
20
+
21
+ // Monochrome -----------------------------------
22
+ @mono-1: @base05; // default text
23
+ @mono-2: @base04;
24
+ @mono-3: @base03;
25
+
26
+ // Colors -----------------------------------
27
+ @hue-1: @base0C;
28
+ @hue-2: @base0D;
29
+ @hue-3: @base0E;
30
+ @hue-4: @base0B;
31
+
32
+ @hue-5: @base08;
33
+ @hue-5-2: @base0F;
34
+
35
+ @hue-6: @base09;
36
+ @hue-6-2: @base0A;
37
+
38
+
39
+ // Base colors -----------------------------------
40
+ @syntax-fg: @mono-1;
41
+ @syntax-bg: hsl(@syntax-hue, @syntax-saturation, @syntax-brightness);
42
+ @syntax-gutter: darken(@syntax-fg, 26%);
43
+ @syntax-guide: fade(@syntax-fg, 15%);
44
+ @syntax-accent: hsl(342, 100%, 68% );
45
+ @import "colors.less";
46
+
47
+ // Official Syntax Variables -----------------------------------
48
+
49
+ // General colors
50
+ @syntax-text-color: @syntax-fg;
51
+ @syntax-cursor-color: @syntax-accent;
52
+ @syntax-selection-color: lighten(@syntax-background-color, 10%);
53
+ @syntax-selection-flash-color: @syntax-accent;
54
+ @syntax-background-color: @syntax-bg;
55
+
56
+ // Guide colors
57
+ @syntax-wrap-guide-color: @syntax-guide;
58
+ @syntax-indent-guide-color: @syntax-guide;
59
+ @syntax-invisible-character-color: @syntax-guide;
60
+
61
+ // For find and replace markers
62
+ @syntax-result-marker-color: fade(@syntax-accent, 24%);
63
+ @syntax-result-marker-color-selected: @syntax-accent;
64
+
65
+ // Gutter colors
66
+ @syntax-gutter-text-color: @syntax-gutter;
67
+ @syntax-gutter-text-color-selected: @syntax-fg;
68
+ @syntax-gutter-background-color: @syntax-bg; // unused
69
+ @syntax-gutter-background-color-selected: lighten(@syntax-bg, 2%);
70
+
71
+ // Git colors - For git diff info. i.e. in the gutter
72
+ @syntax-color-renamed: hsl(208, 100%, 60%);
73
+ @syntax-color-added: hsl(150, 60%, 54%);
74
+ @syntax-color-modified: hsl(40, 60%, 70%);
75
+ @syntax-color-removed: hsl(0, 70%, 60%);
76
+
77
+ // For language entity colors
78
+ @syntax-color-variable: @hue-5;
79
+ @syntax-color-constant: @hue-6;
80
+ @syntax-color-property: @syntax-fg;
81
+ @syntax-color-value: @syntax-fg;
82
+ @syntax-color-function: @hue-2;
83
+ @syntax-color-method: @hue-2;
84
+ @syntax-color-class: @hue-6-2;
85
+ @syntax-color-keyword: @hue-3;
86
+ @syntax-color-tag: @hue-5;
87
+ @syntax-color-attribute: @hue-6;
88
+ @syntax-color-import: @hue-3;
89
+ @syntax-color-snippet: @hue-4;
90
+
91
+
92
+ // Custom Syntax Variables -----------------------------------
93
+ // Don't use in packages
94
+
95
+ @syntax-cursor-line: hsla(@syntax-hue, 100%, 80%, .04); // needs to be semi-transparent to show serach results
96
+
97
+ @syntax-deprecated-fg: darken(@syntax-color-modified, 50%);
98
+ @syntax-deprecated-bg: @syntax-color-modified;
99
+ @syntax-illegal-fg: white;
100
+ @syntax-illegal-bg: @syntax-color-removed;
101
+
102
+ // Editor styles (background, gutter, guides)
103
+
104
+ atom-text-editor {
105
+ background-color: @syntax-background-color;
106
+ color: @syntax-text-color;
107
+
108
+ .line.cursor-line {
109
+ background-color: @syntax-cursor-line;
110
+ }
111
+
112
+ .invisible {
113
+ color: @syntax-text-color;
114
+ }
115
+
116
+ .cursor {
117
+ border-left: 2px solid @syntax-cursor-color;
118
+ }
119
+
120
+ .selection .region {
121
+ background-color: @syntax-selection-color;
122
+ }
123
+
124
+ .bracket-matcher .region {
125
+ border-bottom: 1px solid @syntax-cursor-color;
126
+ box-sizing: border-box;
127
+ }
128
+
129
+ .invisible-character {
130
+ color: @syntax-invisible-character-color;
131
+ }
132
+
133
+ .indent-guide {
134
+ color: @syntax-indent-guide-color;
135
+ }
136
+
137
+ .wrap-guide {
138
+ background-color: @syntax-wrap-guide-color;
139
+ }
140
+
141
+ // find + replace
142
+ .find-result .region.region.region,
143
+ .current-result .region.region.region {
144
+ border-radius: 2px;
145
+ background-color: @syntax-result-marker-color;
146
+ transition: border-color .4s;
147
+ }
148
+ .find-result .region.region.region {
149
+ border: 2px solid transparent;
150
+ }
151
+ .current-result .region.region.region {
152
+ border: 2px solid @syntax-result-marker-color-selected;
153
+ transition-duration: .1s;
154
+ }
155
+
156
+ .gutter {
157
+
158
+ .line-number {
159
+ color: @syntax-gutter-text-color;
160
+ -webkit-font-smoothing: antialiased;
161
+
162
+ &.cursor-line {
163
+ color: @syntax-gutter-text-color-selected;
164
+ background-color: @syntax-gutter-background-color-selected;
165
+ }
166
+ &.cursor-line-no-selection {
167
+ background-color: transparent;
168
+ }
169
+
170
+ .icon-right {
171
+ color: @syntax-text-color;
172
+ }
173
+ }
174
+
175
+ &:not(.git-diff-icon) .line-number.git-line-removed {
176
+ &.git-line-removed::before {
177
+ bottom: -3px;
178
+ }
179
+ &::after {
180
+ content: "";
181
+ position: absolute;
182
+ left: 0px;
183
+ bottom: 0px;
184
+ width: 25px;
185
+ border-bottom: 1px dotted fade(@syntax-color-removed, 50%);
186
+ pointer-events: none;
187
+ }
188
+ }
189
+ }
190
+
191
+ .gutter .line-number.folded,
192
+ .gutter .line-number:after,
193
+ .fold-marker:after {
194
+ color: @syntax-gutter-text-color-selected;
195
+ }
196
+ }
197
+ // Language syntax highlighting
198
+
199
+ .syntax--comment {
200
+ color: @mono-3;
201
+ font-style: italic;
202
+
203
+ .syntax--markup.syntax--link {
204
+ color: @mono-3;
205
+ }
206
+ }
207
+
208
+ .syntax--entity {
209
+
210
+ &.syntax--name.syntax--type {
211
+ color: @hue-6-2;
212
+ }
213
+
214
+ &.syntax--other.syntax--inherited-class {
215
+ color: @hue-4;
216
+ }
217
+ }
218
+
219
+ .syntax--keyword {
220
+ color: @hue-3;
221
+
222
+ &.syntax--control {
223
+ color: @hue-3;
224
+ }
225
+
226
+ &.syntax--operator {
227
+ color: @mono-1;
228
+ }
229
+
230
+ &.syntax--other.syntax--special-method {
231
+ color: @hue-2;
232
+ }
233
+
234
+ &.syntax--other.syntax--unit {
235
+ color: @hue-6;
236
+ }
237
+ }
238
+
239
+ .syntax--storage {
240
+ color: @hue-3;
241
+
242
+ &.syntax--type {
243
+ &.syntax--annotation,
244
+ &.syntax--primitive {
245
+ color: @hue-3;
246
+ }
247
+ }
248
+
249
+ &.syntax--modifier {
250
+ &.syntax--package,
251
+ &.syntax--import {
252
+ color: @mono-1;
253
+ }
254
+ }
255
+ }
256
+
257
+ .syntax--constant {
258
+ color: @hue-6;
259
+
260
+ &.syntax--variable {
261
+ color: @hue-6;
262
+ }
263
+
264
+ &.syntax--character.syntax--escape {
265
+ color: @hue-1;
266
+ }
267
+
268
+ &.syntax--numeric {
269
+ color: @hue-6;
270
+ .syntax--unit {
271
+ color: @hue-5-2;
272
+ }
273
+ }
274
+
275
+ &.syntax--other.syntax--color {
276
+ color: @hue-1;
277
+ }
278
+
279
+ &.syntax--other.syntax--symbol {
280
+ color: @hue-1;
281
+ }
282
+ }
283
+
284
+ .syntax--variable {
285
+ color: @hue-5;
286
+
287
+ &.syntax--interpolation {
288
+ color: @hue-5-2;
289
+ }
290
+
291
+ &.syntax--parameter {
292
+ color: @mono-1;
293
+ }
294
+ }
295
+
296
+ .syntax--string {
297
+ color: @hue-4;
298
+
299
+
300
+ &.syntax--regexp {
301
+ color: @hue-1;
302
+
303
+ .syntax--source.syntax--ruby.syntax--embedded {
304
+ color: @hue-6-2;
305
+ }
306
+ }
307
+
308
+ &.syntax--other.syntax--link {
309
+ color: @hue-5;
310
+ }
311
+ }
312
+
313
+ .syntax--punctuation {
314
+ &.syntax--definition {
315
+ &.syntax--comment {
316
+ color: @mono-3;
317
+ }
318
+
319
+ &.syntax--method-parameters,
320
+ &.syntax--function-parameters,
321
+ &.syntax--parameters,
322
+ &.syntax--separator,
323
+ &.syntax--seperator,
324
+ &.syntax--array {
325
+ color: @mono-1;
326
+ }
327
+
328
+ &.syntax--heading,
329
+ &.syntax--identity {
330
+ color: @hue-2;
331
+ }
332
+
333
+ &.syntax--bold {
334
+ color: @hue-6-2;
335
+ font-weight: bold;
336
+ }
337
+
338
+ &.syntax--italic {
339
+ color: @hue-3;
340
+ font-style: italic;
341
+ }
342
+ }
343
+
344
+ &.syntax--section {
345
+ &.syntax--embedded {
346
+ color: @hue-5-2;
347
+ }
348
+
349
+ &.syntax--method,
350
+ &.syntax--class,
351
+ &.syntax--inner-class {
352
+ color: @mono-1;
353
+ }
354
+ }
355
+ }
356
+
357
+ .syntax--support {
358
+ &.syntax--class {
359
+ color: @hue-6-2;
360
+ }
361
+
362
+ &.syntax--type {
363
+ color: @hue-1;
364
+ }
365
+
366
+ &.syntax--function {
367
+ color: @hue-1;
368
+
369
+ &.syntax--any-method {
370
+ color: @hue-2;
371
+ }
372
+ }
373
+ }
374
+
375
+ .syntax--entity {
376
+ &.syntax--name.syntax--function {
377
+ color: @hue-2;
378
+ }
379
+
380
+ &.syntax--name.syntax--class,
381
+ &.syntax--name.syntax--type.syntax--class {
382
+ color: @hue-6-2;
383
+ }
384
+
385
+ &.syntax--name.syntax--section {
386
+ color: @hue-2;
387
+ }
388
+
389
+ &.syntax--name.syntax--tag {
390
+ color: @hue-5;
391
+ }
392
+
393
+ &.syntax--other.syntax--attribute-name {
394
+ color: @hue-6;
395
+
396
+ &.syntax--id {
397
+ color: @hue-2;
398
+ }
399
+ }
400
+ }
401
+
402
+ .syntax--meta {
403
+ &.syntax--class {
404
+ color: @hue-6-2;
405
+
406
+ &.syntax--body {
407
+ color: @mono-1;
408
+ }
409
+ }
410
+
411
+ &.syntax--method-call,
412
+ &.syntax--method {
413
+ color: @mono-1;
414
+ }
415
+
416
+ &.syntax--definition {
417
+ &.syntax--variable {
418
+ color: @hue-5;
419
+ }
420
+ }
421
+
422
+ &.syntax--link {
423
+ color: @hue-6;
424
+ }
425
+
426
+ &.syntax--require {
427
+ color: @hue-2;
428
+ }
429
+
430
+ &.syntax--selector {
431
+ color: @hue-3;
432
+ }
433
+
434
+ &.syntax--separator {
435
+ background-color: #373b41;
436
+ color: @mono-1;
437
+ }
438
+
439
+ &.syntax--tag {
440
+ color: @mono-1;
441
+ }
442
+ }
443
+
444
+ .syntax--underline {
445
+ text-decoration: underline;
446
+ }
447
+
448
+ .syntax--none {
449
+ color: @mono-1;
450
+ }
451
+
452
+ .syntax--invalid {
453
+ &.syntax--deprecated {
454
+ color: @syntax-deprecated-fg !important;
455
+ background-color: @syntax-deprecated-bg !important;
456
+ }
457
+ &.syntax--illegal {
458
+ color: @syntax-illegal-fg !important;
459
+ background-color: @syntax-illegal-bg !important;
460
+ }
461
+ }
462
+
463
+ // Languages -------------------------------------------------
464
+
465
+ .syntax--markup {
466
+ &.syntax--bold {
467
+ color: @hue-6;
468
+ font-weight: bold;
469
+ }
470
+
471
+ &.syntax--changed {
472
+ color: @hue-3;
473
+ }
474
+
475
+ &.syntax--deleted {
476
+ color: @hue-5;
477
+ }
478
+
479
+ &.syntax--italic {
480
+ color: @hue-3;
481
+ font-style: italic;
482
+ }
483
+
484
+ &.syntax--heading {
485
+ color: @hue-5;
486
+
487
+ .syntax--punctuation.syntax--definition.syntax--heading {
488
+ color: @hue-2;
489
+ }
490
+ }
491
+
492
+ &.syntax--link {
493
+ color: @hue-1;
494
+ }
495
+
496
+ &.syntax--inserted {
497
+ color: @hue-4;
498
+ }
499
+
500
+ &.syntax--quote {
501
+ color: @hue-6;
502
+ }
503
+
504
+ &.syntax--raw {
505
+ color: @hue-4;
506
+ }
507
+ }
508
+ .syntax--source.syntax--c {
509
+ .syntax--keyword.syntax--operator {
510
+ color: @hue-3;
511
+ }
512
+ }
513
+ .syntax--source.syntax--cpp {
514
+ .syntax--keyword.syntax--operator {
515
+ color: @hue-3;
516
+ }
517
+ }
518
+ .syntax--source.syntax--cs {
519
+ .syntax--keyword.syntax--operator {
520
+ color: @hue-3;
521
+ }
522
+ }
523
+ .syntax--source.syntax--css {
524
+ // highlight properties/values if they are supported
525
+ .syntax--property-name,
526
+ .syntax--property-value {
527
+ color: @mono-2;
528
+ &.syntax--support {
529
+ color: @mono-1;
530
+ }
531
+ }
532
+ .syntax--property-value.syntax--support.syntax--constant {
533
+ color: @hue-5-2;
534
+ }
535
+ }
536
+ .syntax--source.syntax--gfm {
537
+ .syntax--markup {
538
+ -webkit-font-smoothing: auto;
539
+ }
540
+
541
+ .syntax--link .syntax--entity {
542
+ color: @hue-2;
543
+ }
544
+ }
545
+ .syntax--source.syntax--go {
546
+ .syntax--storage.syntax--type.syntax--string {
547
+ color: @hue-3
548
+ }
549
+ }
550
+ .syntax--source.syntax--ini {
551
+ .syntax--keyword.syntax--other.syntax--definition.syntax--ini {
552
+ color: @hue-5;
553
+ }
554
+ }
555
+ .syntax--source.syntax--java {
556
+ .syntax--storage {
557
+ &.syntax--modifier.syntax--import {
558
+ color: @hue-6-2;
559
+ }
560
+
561
+ &.syntax--type {
562
+ color: @hue-6-2;
563
+ }
564
+ }
565
+ .syntax--keyword.syntax--operator.syntax--instanceof {
566
+ color: @hue-3;
567
+ }
568
+ }
569
+
570
+ .syntax--source.syntax--java-properties {
571
+ .syntax--meta.syntax--key-pair {
572
+ color: @hue-5;
573
+
574
+ & > .syntax--punctuation {
575
+ color: @mono-1;
576
+ }
577
+ }
578
+ }
579
+ .syntax--source.syntax--js {
580
+ .syntax--keyword.syntax--operator {
581
+ color: @hue-1;
582
+
583
+ // keywords are definded in https://github.syntax--com/atom/language-javascript/blob/master/grammars/javascript.syntax--cson
584
+ // search "instanceof" for location
585
+ &.syntax--delete,
586
+ &.syntax--in,
587
+ &.syntax--of,
588
+ &.syntax--instanceof,
589
+ &.syntax--new,
590
+ &.syntax--typeof,
591
+ &.syntax--void {
592
+ color: @hue-3;
593
+ }
594
+ }
595
+ }
596
+ .syntax--source.syntax--json {
597
+ .syntax--meta.syntax--structure.syntax--dictionary.syntax--json {
598
+ & > .syntax--string.syntax--quoted.syntax--json {
599
+ & > .syntax--punctuation.syntax--string {
600
+ color: @hue-5;
601
+ }
602
+ color: @hue-5;
603
+ }
604
+ }
605
+
606
+ .syntax--meta.syntax--structure.syntax--dictionary.syntax--json, .syntax--meta.syntax--structure.syntax--array.syntax--json {
607
+ & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
608
+ & > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
609
+ color: @hue-4;
610
+ }
611
+
612
+ & > .syntax--constant.syntax--language.syntax--json {
613
+ color: @hue-1;
614
+ }
615
+ }
616
+ }
617
+ .syntax--source.syntax--ruby {
618
+ .syntax--constant.syntax--other.syntax--symbol > .syntax--punctuation {
619
+ color: inherit;
620
+ }
621
+ }
622
+ .syntax--source.syntax--python {
623
+ .syntax--keyword.syntax--operator.syntax--logical.syntax--python {
624
+ color: @hue-3;
625
+ }
626
+
627
+ .syntax--variable.syntax--parameter {
628
+ color: @hue-6;
629
+ }
630
+ }
631
+
632
+ @import "styles/syntax-variables.less";
633
+
634
+ @import "styles/editor.less";
635
+
636
+ @import "styles/syntax/_base.less";
637
+ @import "styles/syntax/c.less";
638
+ @import "styles/syntax/cpp.less";
639
+ @import "styles/syntax/cs.less";
640
+ @import "styles/syntax/css.less";
641
+ @import "styles/syntax/gfm.less";
642
+ @import "styles/syntax/go.less";
643
+ @import "styles/syntax/ini.less";
644
+ @import "styles/syntax/java.less";
645
+ @import "styles/syntax/javascript.less";
646
+ @import "styles/syntax/json.less";
647
+ @import "styles/syntax/ruby.less";
648
+ @import "styles/syntax/python.less";