list_t View::chopList(list_t list, const string prefix) { if(list.empty()) return list; FOR_l(i,list) { string item = list[i]; // normal chop if(!item.compare(0,prefix.length(),prefix)) list.at(i) = item.substr(prefix.length()); else list.at(i) = "["+item+"]"; }
string View::formatList(list_t &list, const string d1, const string sep, const string d2,const unsigned int length) { string output = ""; if(list.empty()) return output; if(list.size()==1 && list.front().size()==0) return output; FOR_l(i,list) if(output.length() + list.at(i).length() + sep.length()*2 + d2.length()*2 + string("... ").length() > length) { output = output + sep + "... "; break; } else output = output + (i==0 ? "" : sep) + list.at(i);; return d1 + output + d2; }
string View::formatList(list_t &list, const string d1, const string sep, const string d2) { string output = ""; if(list.empty()) return output; FOR_l(i,list) output = output + (i==0 || is_dir(list[i-1]) || is_opt(list[i-1]) ? "" : sep) + list.at(i); return d1 + output + d2; }