wxString TagsOptionsData::ToString() { wxString options(wxEmptyString); static wxString file_name; wxString file_content; if(file_name.IsEmpty()) { char* ctagsReplacement = getenv("CTAGS_REPLACEMENTS"); if(ctagsReplacement) { file_name = wxString(ctagsReplacement, wxConvUTF8).c_str(); } } DoUpdateTokensWxMap(); std::map<wxString, wxString> tokensMap = GetTokensWxMap(); std::map<wxString, wxString>::iterator iter = tokensMap.begin(); if(tokensMap.empty() == false) { for(; iter != tokensMap.end(); ++iter) { if(!iter->second.IsEmpty() || (iter->second.IsEmpty() && iter->first.Find(wxT("%0")) != wxNOT_FOUND)) { // Key = Value pair. Place this one in the output file file_content << iter->first << wxT("=") << iter->second << wxT("\n"); } else { if(options.IsEmpty()) options = wxT(" -I"); options << iter->first; options << wxT(","); } } if(options.IsEmpty() == false) options.RemoveLast(); options += wxT(" "); } // write the file content if(file_name.IsEmpty() == false) { wxFFile fp(file_name, wxT("w+b")); if(fp.IsOpened()) { fp.Write(file_content); fp.Close(); } } if(GetLanguages().IsEmpty() == false) { options += wxT(" --language-force="); options += GetLanguages().Item(0); options += wxT(" "); } return options; }
wxString TagsOptionsData::ToString() const { wxString options(wxEmptyString); wxString file_name, file_content; wxGetEnv(wxT("CTAGS_REPLACEMENTS"), &file_name); std::map<wxString, wxString> tokensMap = GetTokensWxMap(); std::map<wxString, wxString>::iterator iter = tokensMap.begin(); if(tokensMap.empty() == false) { options = wxT(" -I"); for(; iter != tokensMap.end(); iter++) { if(iter->second.IsEmpty() == false) { // Key = Value pair. Place this one in the output file file_content << iter->first << wxT("=") << iter->second << wxT("\n"); } else { options << iter->first; options << wxT(","); } } options.RemoveLast(); options += wxT(" "); } // write the file content if (file_name.IsEmpty() == false) { wxFFile fp(file_name, wxT("w+b")); if (fp.IsOpened()) { fp.Write(file_content); fp.Close(); } } if (GetLanguages().IsEmpty() == false) { options += wxT(" --language-force="); options += GetLanguages().Item(0); options += wxT(" "); } return options; }