mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
Extensions: Added diagnostics in debug mode
This commit is contained in:
parent
dff7ba9065
commit
26ed5399d6
1 changed files with 29 additions and 1 deletions
|
@ -27,8 +27,10 @@
|
|||
#include <cmake.h>
|
||||
#include <Extensions.h>
|
||||
#include <FS.h>
|
||||
#include <Timer.h>
|
||||
#include <shared.h>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -64,14 +66,40 @@ int Extensions::callExtension (
|
|||
const std::vector <std::string>& input,
|
||||
std::vector <std::string>& output) const
|
||||
{
|
||||
if (_debug)
|
||||
{
|
||||
std::cout << "Extension: Calling " << script << "\n"
|
||||
<< "Extension: input";
|
||||
|
||||
for (auto& i : input)
|
||||
std::cout << " " << i << "\n";
|
||||
}
|
||||
|
||||
auto inputStr = join ("\n", input);
|
||||
|
||||
// Measure time for each hook if running in debug
|
||||
int status = 0;
|
||||
std::string outputStr;
|
||||
status = execute (script, {}, inputStr, outputStr);
|
||||
|
||||
if (_debug)
|
||||
{
|
||||
Timer t ("Extension: execute (" + script + ")");
|
||||
status = execute (script, {}, inputStr, outputStr);
|
||||
}
|
||||
else
|
||||
status = execute (script, {}, inputStr, outputStr);
|
||||
output = split (outputStr, '\n');
|
||||
|
||||
if (_debug)
|
||||
{
|
||||
std::cout << "Extension: output\n";
|
||||
for (auto& i : output)
|
||||
if (i != "")
|
||||
std::cout << " " << i << "\n";
|
||||
|
||||
std::cout << "Extension: Completed with status " << status << "\n";
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue