summaryrefslogtreecommitdiff
path: root/tools/minicargo/main.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2017-08-24 12:14:25 +0800
committerJohn Hodge <tpg@mutabah.net>2017-08-24 12:14:25 +0800
commit4348c7573edc8112dc321f58326b6f243f049a12 (patch)
tree8b663eac8db359d9be28cdf0d5e3d9a22b13a126 /tools/minicargo/main.cpp
parentc6f0f7d3ed1d469e888a04bb4213fce86419550d (diff)
downloadmrust-4348c7573edc8112dc321f58326b6f243f049a12.tar.gz
minicargo debug - Support indenting
Diffstat (limited to 'tools/minicargo/main.cpp')
-rw-r--r--tools/minicargo/main.cpp29
1 files changed, 26 insertions, 3 deletions
diff --git a/tools/minicargo/main.cpp b/tools/minicargo/main.cpp
index decedd6a..30d7c95c 100644
--- a/tools/minicargo/main.cpp
+++ b/tools/minicargo/main.cpp
@@ -22,10 +22,11 @@ struct ProgramOptions
// Directory containing build script outputs
const char* override_directory = nullptr;
- const char* output_directory = nullptr;
-
+ // Directory containing "vendored" (packaged) copies of packages
const char* vendor_dir = nullptr;
+ const char* output_directory = nullptr;
+
int parse(int argc, const char* argv[]);
void usage() const;
};
@@ -59,13 +60,17 @@ int main(int argc, const char* argv[])
catch(const ::std::exception& e)
{
::std::cerr << "EXCEPTION: " << e.what() << ::std::endl;
+#if _WIN32
::std::cout << "Press enter to exit..." << ::std::endl;
::std::cin.get();
+#endif
return 1;
}
+#if _WIN32
::std::cout << "Press enter to exit..." << ::std::endl;
::std::cin.get();
+#endif
return 0;
}
@@ -131,10 +136,28 @@ void ProgramOptions::usage() const
;
}
-
+static int giIndentLevel = 0;
void Debug_Print(::std::function<void(::std::ostream& os)> cb)
{
+ for(auto i = giIndentLevel; i --; )
+ ::std::cout << " ";
cb(::std::cout);
::std::cout << ::std::endl;
}
+void Debug_EnterScope(const char* name, dbg_cb_t cb)
+{
+ for(auto i = giIndentLevel; i --; )
+ ::std::cout << " ";
+ ::std::cout << ">>> " << name << "(";
+ cb(::std::cout);
+ ::std::cout << ")" << ::std::endl;
+ giIndentLevel ++;
+}
+void Debug_LeaveScope(const char* name, dbg_cb_t cb)
+{
+ giIndentLevel --;
+ for(auto i = giIndentLevel; i --; )
+ ::std::cout << " ";
+ ::std::cout << "<<< " << name << ::std::endl;
+}