summaryrefslogtreecommitdiff
path: root/cpp/src/slice2confluence/Main.cpp
diff options
context:
space:
mode:
authorShawn Hussey <shawn@zeroc.com>2011-08-30 17:34:28 -0230
committerShawn Hussey <shawn@zeroc.com>2011-08-30 17:34:28 -0230
commit3c0b7e1fe299f1d3d84923c9dc4db0c9fb75c38e (patch)
tree642e8722bce74db931624e209e6672aa63abbd4b /cpp/src/slice2confluence/Main.cpp
parentFixed some Slice comment markup. (diff)
downloadice-3c0b7e1fe299f1d3d84923c9dc4db0c9fb75c38e.tar.bz2
ice-3c0b7e1fe299f1d3d84923c9dc4db0c9fb75c38e.tar.xz
ice-3c0b7e1fe299f1d3d84923c9dc4db0c9fb75c38e.zip
Fixed navigational and stylistic bugs and added confluence character escaping before comment markup parsing.
Added --sort-order param for sorting modules. Improvements and bugfixes for slice2confluence.
Diffstat (limited to 'cpp/src/slice2confluence/Main.cpp')
-rwxr-xr-xcpp/src/slice2confluence/Main.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/cpp/src/slice2confluence/Main.cpp b/cpp/src/slice2confluence/Main.cpp
index 54749aa53be..0a892318fca 100755
--- a/cpp/src/slice2confluence/Main.cpp
+++ b/cpp/src/slice2confluence/Main.cpp
@@ -47,6 +47,28 @@ Init init;
}
+static vector<string>
+splitCommas(string& str)
+{
+ vector<string> strings;
+ size_t oldPos = 0;
+ size_t commaPos = str.find(",");
+ string token;
+
+ while (commaPos != string::npos)
+ {
+ token = str.substr(oldPos, commaPos-oldPos);
+ strings.push_back(token);
+
+ oldPos = commaPos+1;
+ commaPos = str.find(",", oldPos);
+ }
+ token = str.substr(oldPos);
+ strings.push_back(token);
+
+ return strings;
+}
+
void
interruptedCallback(int signal)
{
@@ -69,6 +91,7 @@ usage(const char* n)
"-IDIR Put DIR in the include file search path.\n"
"-E Print preprocessor output on stdout.\n"
"--output-dir DIR Create files in the directory DIR.\n"
+ "--sort-order a,b,c Define the sorting order for module navigation.\n"
"--hdr FILE Use the contents of FILE as the header.\n"
"--ftr FILe Use the contents of FILE as the footer.\n"
"--indexhdr FILE Use the contents of FILE as the header of the index/toc page (default=--hdr).\n"
@@ -95,6 +118,7 @@ compile(int argc, char* argv[])
opts.addOpt("I", "", IceUtilInternal::Options::NeedArg, "", IceUtilInternal::Options::Repeat);
opts.addOpt("E");
opts.addOpt("", "output-dir", IceUtilInternal::Options::NeedArg, ".");
+ opts.addOpt("", "sort-order", IceUtilInternal::Options::NeedArg, ".");
opts.addOpt("", "hdr", IceUtilInternal::Options::NeedArg);
opts.addOpt("", "ftr", IceUtilInternal::Options::NeedArg);
opts.addOpt("", "indexhdr", IceUtilInternal::Options::NeedArg);
@@ -153,8 +177,11 @@ compile(int argc, char* argv[])
}
bool preprocess = opts.isSet("E");
-
+
string output = opts.optArg("output-dir");
+
+ string sortorderstring = opts.optArg("sort-order");
+ vector<string> sort_order = splitCommas(sortorderstring);
string header = opts.optArg("hdr");
@@ -268,7 +295,7 @@ compile(int argc, char* argv[])
try
{
Slice::generate(p, output, header, footer, indexHeader, indexFooter, imageDir, logoURL,
- searchAction, indexCount, summaryCount);
+ searchAction, indexCount, summaryCount, sort_order);
}
catch(const Slice::FileException& ex)
{