search.cc: sort attribute names with std::map
				
					
				
			This commit is contained in:
		
							parent
							
								
									1ca8e95178
								
							
						
					
					
						commit
						0413aeb35d
					
				
					 1 changed files with 6 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -82,8 +82,6 @@ struct CmdSearch : SourceExprCommand, MixJSON
 | 
			
		|||
 | 
			
		||||
        auto state = getEvalState();
 | 
			
		||||
 | 
			
		||||
        bool first = true;
 | 
			
		||||
 | 
			
		||||
        auto jsonOut = json ? std::make_unique<JSONObject>(std::cout) : nullptr;
 | 
			
		||||
 | 
			
		||||
        auto sToplevel = state->symbols.create("_toplevel");
 | 
			
		||||
| 
						 | 
				
			
			@ -91,6 +89,8 @@ struct CmdSearch : SourceExprCommand, MixJSON
 | 
			
		|||
 | 
			
		||||
        bool fromCache = false;
 | 
			
		||||
 | 
			
		||||
        std::map<std::string, std::string> results;
 | 
			
		||||
 | 
			
		||||
        std::function<void(Value *, std::string, bool, JSONObject *)> doExpr;
 | 
			
		||||
 | 
			
		||||
        doExpr = [&](Value * v, std::string attrPath, bool toplevel, JSONObject * cache) {
 | 
			
		||||
| 
						 | 
				
			
			@ -138,10 +138,7 @@ struct CmdSearch : SourceExprCommand, MixJSON
 | 
			
		|||
                            jsonElem.attr("description", description);
 | 
			
		||||
 | 
			
		||||
                        } else {
 | 
			
		||||
                            if (!first) std::cout << "\n";
 | 
			
		||||
                            first = false;
 | 
			
		||||
 | 
			
		||||
                            std::cout << fmt(
 | 
			
		||||
                            results[attrPath] = fmt(
 | 
			
		||||
                                "Attribute name: %s\n"
 | 
			
		||||
                                "Package name: %s\n"
 | 
			
		||||
                                "Version: %s\n"
 | 
			
		||||
| 
						 | 
				
			
			@ -240,6 +237,9 @@ struct CmdSearch : SourceExprCommand, MixJSON
 | 
			
		|||
            if (rename(tmpFile.c_str(), jsonCacheFileName.c_str()) == -1)
 | 
			
		||||
                throw SysError("cannot rename '%s' to '%s'", tmpFile, jsonCacheFileName);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        for (auto el : results) std::cout << el.second << "\n";
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue