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