Doxygen
Loading...
Searching...
No Matches
aliases.h File Reference
#include <string>
#include <string_view>
Include dependency graph for aliases.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

std::string resolveAliasCmd (std::string_view aliasCmd)
bool isAliasCmd (std::string_view aliasCmd)
void readAliases ()

Function Documentation

◆ isAliasCmd()

bool isAliasCmd ( std::string_view aliasCmd)

Definition at line 518 of file aliases.cpp.

519{
520 return g_aliasInfoMap.find(std::string{aliasCmd}) != g_aliasInfoMap.end();
521}
static AliasInfoMap g_aliasInfoMap
Definition aliases.cpp:52

References g_aliasInfoMap.

Referenced by DocPara::handleCommand().

◆ readAliases()

void readAliases ( )

Definition at line 161 of file aliases.cpp.

162{
163 // add aliases to a dictionary
164 const StringVector &aliasList = Config_getList(ALIASES);
165 for (const auto &al : aliasList)
166 {
168 }
169 for (auto &[name,overloads] : g_aliasInfoMap)
170 {
171 for (auto &[numParams,aliasInfo] : overloads)
172 {
173 aliasInfo.value = expandAlias(name+":"+std::to_string(numParams),aliasInfo.value);
174 }
175 }
176 for (auto &[name,overloads] : g_aliasInfoMap)
177 {
178 for (auto &[numParams,aliasInfo] : overloads)
179 {
180 aliasInfo.value = escapeAlias(aliasInfo.value);
181 }
182 }
183}
static std::string expandAlias(std::string_view aliasName, std::string_view aliasValue)
Definition aliases.cpp:504
static void addValidAliasToMap(std::string_view alias)
Definition aliases.cpp:56
static std::string escapeAlias(std::string_view value)
Definition aliases.cpp:151
#define Config_getList(name)
Definition config.h:38
std::vector< std::string > StringVector
Definition containers.h:33

References addValidAliasToMap(), Config_getList, escapeAlias(), expandAlias(), and g_aliasInfoMap.

Referenced by adjustConfiguration().

◆ resolveAliasCmd()

std::string resolveAliasCmd ( std::string_view aliasCmd)

Definition at line 494 of file aliases.cpp.

495{
496 StringUnorderedSet aliasesProcessed;
497 //printf("Expanding: '%s'\n",qPrint(aliasCmd));
498 std::string result = expandAliasRec(aliasesProcessed,aliasCmd);
499 //printf("Expanding result: '%s'->'%s'\n",qPrint(aliasCmd),qPrint(result));
500 Debug::print(Debug::Alias,0,"Resolving alias: cmd='{}' result='{}'\n",std::string{aliasCmd},result);
501 return result;
502}
static std::string expandAliasRec(StringUnorderedSet &aliasesProcessed, std::string_view s, bool allowRecursion=FALSE)
Definition aliases.cpp:334
@ Alias
Definition debug.h:46
static void print(DebugMask mask, int prio, fmt::format_string< Args... > fmt, Args &&... args)
Definition debug.h:76
std::unordered_set< std::string > StringUnorderedSet
Definition containers.h:29

References Debug::Alias, expandAliasRec(), and Debug::print().

Referenced by replaceAliases().