MCPcopy Create free account
hub / github.com/GothenburgBitFactory/taskwarrior / execute

Method execute

src/commands/CmdLogo.cpp:51–120  ·  view source on GitHub ↗

///////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

49
50////////////////////////////////////////////////////////////////////////////////
51int CmdLogo::execute(std::string& output) {
52 static const char* data[] = {".........ABDEF",
53 ".......BDILNMM",
54 ".....ACJNLHFEE",
55 "....AFMMFDEEEE",
56 "...AFOIDEEEEDD",
57 "..AFOHDEEEDIOR",
58 "..DMIDEEEEOXXX",
59 ".BJMDEEEDMXXXX",
60 ".ENFEEEEFVXXXX",
61 "BILDEEEEJXXXXX",
62 "DLHEEEEDLXXXXX",
63 "GMFEEEEDKXXXXX",
64 "GMEEEEEEGTIKOR",
65 "GMEEEEEEETODDD",
66 "GMEEEEEEETXRGE",
67 "GMEEEEEEFVXXSE",
68 "ENFEEEEEHWXXUE",
69 "CLHEEEEDLXXXUE",
70 "AILDEEEDRXXXUE",
71 ".DNFEEEEPXXXUE",
72 ".BJMDEEEEPXXUE",
73 "..DMIDEEEDLXUE",
74 "..AFOHDEEEDHME",
75 "...AFOIDEEEEDE",
76 "....AFMMFDEEEE",
77 ".....ACJNLHFEE",
78 ".......BDILNMM",
79 ".........ABDEF",
80 ""};
81
82 if (!Context::getContext().color())
83 throw std::string("The logo command requires that color support is enabled.");
84
85 std::string indent(Context::getContext().config.getInteger("indent.report"), ' ');
86 output += optionalBlankLine();
87
88 for (int line = 0; data[line][0]; ++line) {
89 output += indent;
90
91 for (int c = 0; c < 14; ++c) {
92 int value = (int)data[line][c];
93 if (value == '.')
94 output += " ";
95 else {
96 value += 167;
97 char block[24];
98 snprintf(block, 24, "\033[48;5;%dm \033[0m", value);
99 output += block;
100 }
101 }
102
103 for (int c = 13; c >= 0; --c) {
104 int value = data[line][c];
105 if (value == '.')
106 output += " ";
107 else {
108 value += 167;

Callers

nothing calls this directly

Calls 2

optionalBlankLineFunction · 0.85
colorMethod · 0.80

Tested by

no test coverage detected