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 <cmake.h>
|
||||||
#include <Extensions.h>
|
#include <Extensions.h>
|
||||||
#include <FS.h>
|
#include <FS.h>
|
||||||
|
#include <Timer.h>
|
||||||
#include <shared.h>
|
#include <shared.h>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
#include <iostream>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -64,14 +66,40 @@ int Extensions::callExtension (
|
||||||
const std::vector <std::string>& input,
|
const std::vector <std::string>& input,
|
||||||
std::vector <std::string>& output) const
|
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);
|
auto inputStr = join ("\n", input);
|
||||||
|
|
||||||
// Measure time for each hook if running in debug
|
// Measure time for each hook if running in debug
|
||||||
int status = 0;
|
int status = 0;
|
||||||
std::string outputStr;
|
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');
|
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;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue