File Coverage

blib/lib/Term/ExtendedColor/Xresources/Colorscheme.pm
Criterion Covered Total %
statement 15 19 78.9
branch n/a
condition 0 2 0.0
subroutine 5 7 71.4
pod 2 2 100.0
total 22 30 73.3


line stmt bran cond sub pod time code
1             #!/usr/bin/perl
2             package Term::ExtendedColor::Xresources::Colorscheme;
3 1     1   56805 use strict;
  1         3  
  1         30  
4              
5             BEGIN {
6 1     1   4 use Exporter;
  1         3  
  1         32  
7 1     1   6 use vars qw($VERSION @ISA @EXPORT_OK);
  1         2  
  1         88  
8              
9 1     1   3 $VERSION = '0.016';
10 1         14 @ISA = qw(Exporter);
11 1         29 @EXPORT_OK = qw(
12             get_colorscheme
13             get_colorschemes
14             );
15             }
16              
17 1     1   416 use Term::ExtendedColor::Xresources qw(set_xterm_color);
  1         3191  
  1         1046  
18              
19             my %colorschemes = (
20             xterm => {
21             0 => '000000',
22             1 => 'cd0000',
23             2 => '00cd00',
24             3 => 'cdcd00',
25             4 => '0000cd',
26             5 => 'cd00cd',
27             6 => '00cdcd',
28             7 => 'e5e5e5',
29             8 => '4d4d4d',
30             9 => 'ff0000',
31             10 => '00ff00',
32             11 => 'ffff00',
33             12 => '0000ff',
34             13 => 'ff00ff',
35             14 => '00ffff',
36             15 => 'aabac8',
37             },
38             woldrich => {
39             0 => '030303',
40             1 => '1c1c1c',
41             2 => 'ff4747',
42             3 => 'ff6767',
43             4 => '2b4626',
44             5 => 'b03b31',
45             6 => 'ff8f00',
46             7 => 'bdf1ed',
47             8 => '1165e9',
48             9 => '5496ff',
49             10 => 'aef7af',
50             11 => 'b50077',
51             12 => 'cb1c13',
52             13 => '6be603',
53             14 => 'ffffff',
54             15 => 'aabac8',
55             },
56             matrix => {
57             0 => '121212',
58             1 => '021e00',
59             2 => '032d00',
60             3 => '043c00',
61             4 => '054b00',
62             5 => '065a00',
63             6 => '076900',
64             7 => 'ffffff',
65             8 => '098700',
66             9 => '0a9600',
67             10 => '0ba500',
68             11 => '0cb400',
69             12 => '0dc300',
70             13 => '0ed200',
71             14 => '0fe100',
72             15 => 'aabac8',
73             },
74              
75             purple => {
76             0 => '121212',
77             1 => '300a97',
78             2 => '430ac0',
79             3 => '830abf',
80             4 => '7b0ad2',
81             5 => '370ad3',
82             6 => '650a78',
83             7 => 'ffffff',
84             8 => '960ac9',
85             9 => '5a0a8b',
86             10 => '5d0ac8',
87             11 => '8a0afa',
88             12 => '7b0a73',
89             13 => '8b0a25',
90             14 => '500a98',
91             15 => 'aabac8',
92             },
93              
94             blue => {
95             0 => '121212',
96             1 => '141fe1',
97             2 => '1e2fd2',
98             3 => '283fc3',
99             4 => '324fb4',
100             5 => '3c5fa5',
101             6 => '466f96',
102             7 => 'ffffff',
103             8 => '5a8f78',
104             9 => '649f69',
105             10 => '6eaf5a',
106             11 => '78bf4b',
107             12 => '82cf3c',
108             13 => '8cdf2d',
109             14 => '96ef1e',
110             15 => 'aabac8',
111             },
112              
113             grey => {
114             0 => '121212',
115             1 => '888888',
116             2 => '444444',
117             3 => '242424',
118             4 => '2d2d2d',
119             5 => '363636',
120             6 => '3f3f3f',
121             7 => 'ffffff',
122             8 => '515151',
123             9 => '5a5a5a',
124             10 => '636363',
125             11 => '6c6c6c',
126             12 => '757575',
127             13 => '7e7e7e',
128             14 => '878787',
129             15 => 'aabac8',
130              
131             },
132              
133             rasta => {
134             0 => '121212',
135             1 => '3c8d0a',
136             2 => '8f0d0a',
137             3 => '33810a',
138             4 => '349e0a',
139             5 => '12a10a',
140             6 => '729a0a',
141             7 => 'ffffff',
142             8 => '104770',
143             9 => 'b3410a',
144             10 => 'f0120a',
145             11 => 'b63e0a',
146             12 => '774c0a',
147             13 => '5d450a',
148             14 => '56540a',
149             15 => 'aabac8',
150             },
151              
152             breeze => {
153             0 => '121212',
154             1 => '1043c1',
155             2 => '1865a2',
156             3 => '208783',
157             4 => '28a964',
158             5 => '30cb45',
159             6 => '38ed26',
160             7 => 'ffffff',
161             8 => '49210e',
162             9 => '51412c',
163             10 => '59614a',
164             11 => '618168',
165             12 => '69a186',
166             13 => '71c1a4',
167             14 => '79e1c2',
168             15 => 'aabac8',
169             },
170              
171             freakcode => {
172             0 => '000000',
173             1 => 'ff6565',
174             2 => '93d44f',
175             3 => 'eab93d',
176             4 => '204a87',
177             5 => 'ce5c00',
178             6 => '89b6e2',
179             7 => 'cccccc',
180             8 => '555753',
181             9 => 'ff8d8d',
182             10 => 'c8e7a8',
183             11 => 'ffc123',
184             12 => '3465a4',
185             13 => 'f57900',
186             14 => '46a4ff',
187             15 => 'ffffff',
188             },
189              
190             leosolaris => {
191             0 => '000000',
192             1 => 'a80000',
193             2 => '00a800',
194             3 => 'a85400',
195             4 => '0000a8',
196             5 => 'a800a8',
197             6 => '00a8a8',
198             7 => 'a8a8a8',
199             8 => '545054',
200             9 => 'f85450',
201             10 => '50fc50',
202             11 => 'f2fc50',
203             12 => '5054f8',
204             13 => 'f854f8',
205             14 => '50fcf8',
206             15 => 'f8fcf8',
207             },
208              
209             smurnjiff => {
210             0 => '2e3436',
211             8 => '555753',
212             1 => 'cc0000',
213             9 => 'ef2929',
214             2 => '00ff00',
215             10 => '66ff66',
216             3 => 'c4a000',
217             11 => 'fc394f',
218             4 => '3456a4',
219             12 => '729fcf',
220             5 => '75507b',
221             13 => 'ad7fa8',
222             6 => '418179',
223             14 => '34e2e2',
224             7 => 'd3d7cf',
225             15 => 'eeeeec',
226             },
227              
228             calcandcoffee => {
229             0 => 262729,
230             1 => 'f92671',
231             10 => 'a6e22e',
232             11 => 'fd971f',
233             12 => '66d9ef',
234             13 => '9e6ffe',
235             14 => 'a3babf',
236             15 => 'f8f8f2',
237             2 => 'a6e22e',
238             3 => 'fd971f',
239             4 => '66d9ef',
240             5 => '9e6ffe',
241             6 => '5e7175',
242             7 => 'f8f8f2',
243             8 => 554444,
244             9 => 'f92671'
245             },
246             daisuke2 => {
247             0 => '000000',
248             1 => 'ff6565',
249             10 => 'c8e7a8',
250             11 => 'ffc123',
251             12 => '3465a4',
252             13 => 'f57900',
253             14 => '46a4ff',
254             15 => 'ffffff',
255             2 => '93d44f',
256             3 => 'eab93d',
257             4 => '204a87',
258             5 => 'ce5c00',
259             6 => '89b6e2',
260             7 => 'cccccc',
261             8 => 555753,
262             9 => 'ff8d8d'
263             },
264             digerati => {
265             0 => 303030,
266             1 => 'c03000',
267             10 => 'a6cd07',
268             11 => 'b5c865',
269             12 => '4a7781',
270             13 => 'ff3b77',
271             14 => '4bb5c1',
272             15 => 'e2e2e5',
273             2 => 'b1d631',
274             3 => 'fecf35',
275             4 => 426870,
276             5 => '6d506d',
277             6 => '4bb5c1',
278             7 => 'e2e2e5',
279             8 => '5f5f5f',
280             9 => 'ff3a78'
281             },
282             longbow => {
283             0 => 222222,
284             1 => '9e5641',
285             10 => 'c4df90',
286             11 => 'ffe080',
287             12 => 'b8ddea',
288             13 => 'c18fcb',
289             14 => '6bc1d0',
290             15 => 'cdcdcd',
291             2 => '6c7e55',
292             3 => 'caaf2b',
293             4 => '7fb8d8',
294             5 => '956d9d',
295             6 => '4c8ea1',
296             7 => 808080,
297             8 => 454545,
298             9 => 'cc896d'
299             },
300             rasi => {
301             0 => 101010,
302             1 => 'f13a21',
303             10 => 'ffc005',
304             11 => '93ff00',
305             12 => '0071ff',
306             13 => 'ef0051',
307             14 => '4bb8fd',
308             15 => 'ffffff',
309             2 => '93f91d',
310             3 => 'ffd00a',
311             4 => '004f9e',
312             5 => 'ec0048',
313             6 => '2aa7e7',
314             7 => 'ffffff',
315             8 => '1d202f',
316             9 => 'ffffff'
317             },
318             reasons => {
319             0 => '1b1d1e',
320             1 => 'f92672',
321             10 => 'beed5f',
322             11 => 'e6db74',
323             12 => '66d9ef',
324             13 => '9e6ffe',
325             14 => 'a3babf',
326             15 => 'f8f8f2',
327             2 => 'a6e22e',
328             3 => 'fd971f',
329             4 => '66d9ef',
330             5 => '9e6ffe',
331             6 => '5e7175',
332             7 => 'ccccc6',
333             8 => 505354,
334             9 => 'ff669d'
335             },
336             square => {
337             0 => 171717,
338             1 => 'ea6868',
339             10 => '9ead72',
340             11 => 'e7db52',
341             12 => '66d9ef',
342             13 => 'ad7fa8',
343             14 => 'a3babf',
344             15 => 'e2e2e2',
345             2 => 'b6e77d',
346             3 => 'dbbb4b',
347             4 => '66d9ef',
348             5 => '75507b',
349             6 => '5e7175',
350             7 => 'f2f2f2',
351             8 => 554444,
352             9 => 'ff7272'
353             },
354             supertrain => {
355             0 => '1c1c1c',
356             1 => 'd81860',
357             10 => 'bde077',
358             11 => 'ffe863',
359             12 => 'aaccbb',
360             13 => 'bb4466',
361             14 => 'a3babf',
362             15 => '6c887a',
363             2 => 'b7ce42',
364             3 => 'fea63c',
365             4 => '66aabb',
366             5 => 'b7416e',
367             6 => '5e7175',
368             7 => 'ddeedd',
369             8 => '4d4d4d',
370             9 => 'f00060'
371             },
372             tango => {
373             0 => '2e3436',
374             1 => 'cc0000',
375             10 => '8ae234',
376             11 => 'fce94f',
377             12 => '729fcf',
378             13 => 'ad7fa8',
379             14 => '00f5e9',
380             15 => 'eeeeec',
381             2 => '4e9a06',
382             3 => 'c4a000',
383             4 => '00afff',
384             5 => '75507b',
385             6 => '0b939b',
386             7 => 'd3d7cf',
387             8 => 555753,
388             9 => 'ef2929'
389             },
390             tangoesque => {
391             0 => '000000',
392             1 => 'ff6565',
393             10 => 'c8e7a8',
394             11 => 'ffc123',
395             12 => '3465a4',
396             13 => 'f57900',
397             14 => '46a4ff',
398             15 => 'ffffff',
399             2 => '93d44f',
400             3 => 'eab93d',
401             4 => '204a87',
402             5 => 'ce5c00',
403             6 => '89b6e2',
404             7 => 'cccccc',
405             8 => 555753,
406             9 => 'ff8d8d'
407             },
408             taters => {
409             0 => '1c1c1c',
410             1 => 'd81860',
411             10 => 'bde077',
412             11 => 'ffe863',
413             12 => 'aaccbb',
414             13 => 'bb4466',
415             14 => 'a3babf',
416             15 => '6c887a',
417             2 => 'b7ce42',
418             3 => 'fea63c',
419             4 => '66aabb',
420             5 => 'b7416e',
421             6 => '5e7175',
422             7 => 'ddeedd',
423             8 => '4d4d4d',
424             9 => 'f00060'
425             },
426             thayer => {
427             0 => '1b1d1e',
428             1 => 'f92672',
429             10 => 'b6e354',
430             11 => 'feed6c',
431             12 => '8cedff',
432             13 => '9e6ffe',
433             14 => '899ca1',
434             15 => 'f8f8f2',
435             2 => '82b414',
436             3 => 'fd971f',
437             4 => '56c2d6',
438             5 => '8c54fe',
439             6 => 465457,
440             7 => 'ccccc6',
441             8 => 505354,
442             9 => 'ff5995'
443             },
444             b52 => {
445             0 => '1b1d1e',
446             1 => 'f92672',
447             10 => 'beed5f',
448             11 => 'e6db74',
449             12 => '66d9ef',
450             13 => '9e6ffe',
451             14 => 'a3babf',
452             15 => 'f8f8f2',
453             2 => 'a6e22e',
454             3 => 'fd971f',
455             4 => '66d9ef',
456             5 => '9e6ffe',
457             6 => '5e7175',
458             7 => 'ccccc6',
459             8 => 505354,
460             9 => 'ff669d'
461             },
462             c00kiez => {
463             0 => 222222,
464             1 => 'f60606',
465             10 => '93ff00',
466             11 => 'ffbf00',
467             12 => '0071ff',
468             13 => 'b18cfe',
469             14 => 'a3babf',
470             15 => 'ffffff',
471             2 => '72f91d',
472             3 => 'ff971f',
473             4 => '44a7ee',
474             5 => '9e6ffe',
475             6 => '5e7175',
476             7 => 'ffffff',
477             8 => 454545,
478             9 => 'f60606'
479             },
480             drkwolf => {
481             0 => 222222,
482             1 => 'ea6868',
483             10 => 'afd78a',
484             11 => 'ffa75d',
485             12 => '67cde9',
486             13 => 'ecaee9',
487             14 => '36fffc',
488             15 => 'ffffff',
489             2 => 'abcb8d',
490             3 => 'e8ae5b',
491             4 => '71c5f4',
492             5 => 'e2baf1',
493             6 => '21f1ea',
494             7 => 'f1f1f1',
495             8 => 554444,
496             9 => 'ff7272'
497             },
498             'freakcode' => {
499             0 => '000000',
500             1 => 'ff6565',
501             10 => 'c8e7a8',
502             11 => 'ffc123',
503             12 => '3465a4',
504             13 => 'f57900',
505             14 => '46a4ff',
506             15 => 'ffffff',
507             2 => '93d44f',
508             3 => 'eab93d',
509             4 => '204a87',
510             5 => 'ce5c00',
511             6 => '89b6e2',
512             7 => 'cccccc',
513             8 => 555753,
514             9 => 'ff8d8d'
515             },
516             jousi => {
517             0 => 262729,
518             1 => 'f90670',
519             10 => 'd9ff6d',
520             11 => 'e6db74',
521             12 => '66a7ff',
522             13 => 'b18cfe',
523             14 => 'a3babf',
524             15 => 'ffffff',
525             2 => 'beed5f',
526             3 => 'ff971f',
527             4 => '44a7ee',
528             5 => '9e6ffe',
529             6 => '88c9ff',
530             7 => 'ffffff',
531             8 => '3f3f3f',
532             9 => 'ff669d'
533             },
534             jstandler => {
535             0 => '000000',
536             1 => 'a80000',
537             10 => 'ed254f',
538             11 => 'ed254f',
539             12 => '5054f8',
540             13 => 'ed254f',
541             14 => '50fcf8',
542             15 => 'f8fcf8',
543             2 => 'ed254f',
544             3 => 'a85400',
545             4 => '020202',
546             5 => 'a800a8',
547             6 => '00a8a8',
548             7 => 'a8a8a8',
549             8 => 545054,
550             9 => 'f85450'
551             },
552             'leosolaris' => {
553             0 => '000000',
554             1 => 'a80000',
555             10 => '50fc50',
556             11 => 'f2fc50',
557             12 => '5054f8',
558             13 => 'f854f8',
559             14 => '50fcf8',
560             15 => 'f8fcf8',
561             2 => '00a800',
562             3 => 'a85400',
563             4 => '0000a8',
564             5 => 'a800a8',
565             6 => '00a8a8',
566             7 => 'a8a8a8',
567             8 => 545054,
568             9 => 'f85450'
569             },
570             librec00kiez => {
571             0 => 222222,
572             1 => 'c5000b',
573             10 => 'aecf00',
574             11 => 'ff950e',
575             12 => '0066cc',
576             13 => 'd11793',
577             14 => 'a3babf',
578             15 => 'ffffff',
579             2 => '579d1c',
580             3 => 'ff420e',
581             4 => '004586',
582             5 => '9932cc',
583             6 => '5e7175',
584             7 => 'ffffff',
585             8 => 454545,
586             9 => 'ff0000'
587             },
588             mattikus => {
589             0 => '1c1c1c',
590             1 => 'd81860',
591             10 => 'bde077',
592             11 => 'ffe863',
593             12 => 'aaccbb',
594             13 => 'bb4466',
595             14 => 'a3babf',
596             15 => '6c887a',
597             2 => 'b7ce42',
598             3 => 'fea63c',
599             4 => '66aabb',
600             5 => 'b7416e',
601             6 => '5e7175',
602             7 => 'ddeedd',
603             8 => '4d4d4d',
604             9 => 'f00060'
605             },
606             mmso2 => {
607             0 => '030303',
608             1 => 'ff4747',
609             10 => 'b2c470',
610             11 => 'efbd5c',
611             12 => '2a7cff',
612             13 => 'bd6cce',
613             14 => '7fc4a4',
614             15 => 'ffffff',
615             2 => 'a8e134',
616             3 => 'ffb400',
617             4 => '0066ee',
618             5 => 'd237ad',
619             6 => '18dfb0',
620             7 => 'dedede',
621             8 => '1c1c1c',
622             9 => 'ff6767'
623             },
624             sicpsnake => {
625             0 => 292929,
626             1 => 'de6951',
627             10 => '9dbf60',
628             11 => 'ec8a25',
629             12 => '5495dc',
630             13 => 'e41f66',
631             14 => '276cc2',
632             15 => 'ffffff',
633             2 => 'bcda55',
634             3 => 'e2a564',
635             4 => '2187f6',
636             5 => '875c8d',
637             6 => '4390b1',
638             7 => 'd2d2d2',
639             8 => '3d3d3d',
640             9 => 'c56a47'
641             },
642             'smurnjiff' => {
643             0 => '2e3436 ',
644             1 => 'cc0000 ',
645             10 => '66ff66 ',
646             11 => 'fc394f ',
647             12 => '729fcf ',
648             13 => 'ad7fa8 ',
649             14 => '34e2e2',
650             15 => 'eeeeec ',
651             2 => '00ff00 ',
652             3 => 'c4a000 ',
653             4 => '3456a4',
654             5 => '75507b',
655             6 => 418179,
656             7 => 'd3d7cf ',
657             8 => '555753 ',
658             9 => 'ef2929 '
659             },
660              
661             'square' => {
662             0 => '2e3436',
663             1 => 'cc0000',
664             10 => '8ae234',
665             11 => 'fce94f',
666             12 => '729fcf',
667             13 => 'ad7fa8',
668             14 => '00f5e9',
669             15 => 'eeeeec',
670             2 => '4e9a06',
671             3 => 'c4a000',
672             4 => '3465a4',
673             5 => '75507b',
674             6 => '0b939b',
675             7 => 'd3d7cf',
676             8 => 555753,
677             9 => 'ef2929'
678             },
679              
680             whordijk => {
681             0 => '1e2320',
682             1 => 705050,
683             10 => 'c3bf9f',
684             11 => 'f0dfaf',
685             12 => '94bff3',
686             13 => 'ec93d3',
687             14 => '93e0e3',
688             15 => 'ffffff',
689             2 => '60b48a',
690             3 => 'dfaf8f',
691             4 => 506070,
692             5 => 'dc8cc3',
693             6 => '8cd0d3',
694             7 => 'dcdccc',
695             8 => 709080,
696             9 => 'dca3a3'
697             },
698             facebook => {
699             0 => '003399',
700             1 => '5890ff',
701             10 => 'f25268',
702             11 => 'f0ba15',
703             12 => '9c87d1',
704             13 => 'f7714b',
705             14 => 'd3dae6',
706             15 => 'e9ebee',
707             2 => 'dddfe2',
708             3 => 'c0c0c0',
709             4 => 'bec2c9',
710             5 => '666666',
711             6 => 'c4d2e7',
712             7 => 'd3d8e8',
713             8 => '0e385f',
714             9 => '3b5998',
715             },
716             wikipedia => {
717             0 => 'b94a48',
718             1 => '555555',
719             10 => 'cdcdcd',
720             11 => 'ebebeb',
721             12 => 'd9d9d9',
722             13 => '00af89',
723             14 => '1900ab',
724             15 => '005946',
725             2 => '73100a',
726             3 => '19d11d',
727             4 => 'e9322d',
728             5 => '165c91',
729             6 => '18649e',
730             7 => '134e7b',
731             8 => '347bff',
732             9 => 'cad2d3',
733             },
734             c64 => {
735             0 => '000000',
736             1 => '880000',
737             10 => 'aaff66',
738             11 => 'dd8855',
739             12 => '0088ff',
740             13 => '777777',
741             14 => 'bbbbbb',
742             15 => '664400',
743             2 => '00cc55',
744             3 => 'eeee77',
745             4 => '0000aa',
746             5 => 'cc44cc',
747             6 => 'aaffee',
748             7 => '333333',
749             8 => 'ffffff',
750             9 => 'ff7777',
751             },
752             );
753              
754              
755             sub get_colorscheme {
756 0   0 0 1   my $name = shift || 'xterm';
757              
758 0           my $res = set_xterm_color( $colorschemes{$name} );
759              
760 0           return $res;
761              
762             }
763              
764 0     0 1   sub get_colorschemes { return keys %colorschemes; }
765              
766              
767              
768             1;
769              
770             __END__