1 #include "colorschemer.h"
2
parsecolordef(const string sdef,int pair,colordef & d)3 void parsecolordef(const string sdef, int pair, colordef &d) {
4 int pos, i, npos;
5 string r, p;
6
7 r = sdef;
8
9 for(i = 0; i < 3; i++) {
10 if((pos = r.find_first_of(" \t")) == -1)
11 pos = r.size();
12
13 p = r.substr(0, pos);
14
15 if(pos != r.size()) {
16 npos = r.substr(pos+1).find_first_not_of(" \t");
17 if(npos == -1) npos = 0;
18 r.erase(0, pos+1+npos);
19 }
20
21 if(i == 0) {
22 d.name = p;
23
24 } else if(i == 1) {
25 if((pos = p.find("/")) != -1) {
26 init_pair(pair,
27 findcolor(p.substr(0, pos)),
28 findcolor(p.substr(pos+1)));
29
30 d.code = normalcolor(pair);
31 d.def = p;
32 }
33
34 } else if(i == 2) {
35 if(p == "bold") {
36 d.code = boldcolor(pair);
37 d.def += (string) "\t" + p;
38 }
39
40 }
41 }
42 }
43