void keymap::dump_config(std::vector<std::string>& config_output) { for (unsigned int i=1; contexts[i]!=nullptr; i++) { // TODO: optimize std::map<std::string,operation>& x = keymap_[contexts[i]]; for (auto keymap : x) { if (keymap.second < OP_INT_MIN) { std::string configline = "bind-key "; configline.append(utils::quote(keymap.first)); configline.append(" "); configline.append(getopname(keymap.second)); configline.append(" "); configline.append(contexts[i]); config_output.push_back(configline); } } } for (auto macro : macros_) { std::string configline = "macro "; configline.append(macro.first); configline.append(" "); unsigned int i=0; for (auto cmd : macro.second) { configline.append(getopname(cmd.op)); for (auto arg : cmd.args) { configline.append(" "); configline.append(utils::quote(arg)); } if (i < (macro.second.size()-1)) configline.append(" ; "); } config_output.push_back(configline); } }
void keymap::dump_config(std::vector<std::string>& config_output) { for (unsigned int i=1;contexts[i]!=NULL;i++) { // TODO: optimize std::map<std::string,operation>& x = keymap_[contexts[i]]; for (std::map<std::string,operation>::iterator it = x.begin();it!=x.end();it++) { if (it->second < OP_INT_MIN) { std::string configline = "bind-key "; configline.append(it->first); configline.append(" "); configline.append(getopname(it->second)); configline.append(" "); configline.append(contexts[i]); config_output.push_back(configline); } } } for (std::map<std::string,std::vector<macrocmd> >::iterator it=macros_.begin();it!=macros_.end();it++) { std::string configline = "macro "; configline.append(it->first); configline.append(" "); unsigned int i=0; for (std::vector<macrocmd>::iterator jt=it->second.begin();jt!=it->second.end();jt++,i++) { configline.append(getopname(jt->op)); for (std::vector<std::string>::iterator kt=jt->args.begin();kt!=jt->args.end();kt++) { configline.append(" "); configline.append(utils::quote(*kt)); } if (i < (it->second.size()-1)) configline.append(" ; "); } config_output.push_back(configline); } }