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 519 of file aliases.cpp.

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

References g_aliasInfoMap.

Referenced by DocPara::handleCommand().

◆ readAliases()

void readAliases ( )

Definition at line 162 of file aliases.cpp.

163{
164 StringVector aliases = Config_getList(ALIASES);
165 // add aliases to a dictionary
166 for (const auto &al : aliases)
167 {
169 }
170 for (auto &[name,overloads] : g_aliasInfoMap)
171 {
172 for (auto &[numParams,aliasInfo] : overloads)
173 {
174 aliasInfo.value = expandAlias(name+":"+std::to_string(numParams),aliasInfo.value);
175 }
176 }
177 for (auto &[name,overloads] : g_aliasInfoMap)
178 {
179 for (auto &[numParams,aliasInfo] : overloads)
180 {
181 aliasInfo.value = escapeAlias(aliasInfo.value);
182 }
183 }
184}
static std::string expandAlias(std::string_view aliasName, std::string_view aliasValue)
Definition aliases.cpp:505
static void addValidAliasToMap(std::string_view alias)
Definition aliases.cpp:57
static std::string escapeAlias(std::string_view value)
Definition aliases.cpp:152
#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 495 of file aliases.cpp.

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

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

Referenced by replaceAliases().