#include "Buffer.h"
#include "BufferParams.h"
+#include "Color.h"
#include "debug.h"
#include "gettext.h"
#include "Language.h"
#include "Length.h"
-#include <boost/regex.hpp>
-
-#include <algorithm>
-#include <config.h>
-
-#include "Color.h"
-
#include "frontends/FileDialog.h"
#include "frontends/alert.h"
+
#include "support/filetools.h"
#include "support/lstrings.h"
#include "support/Package.h"
#include "support/Systemcall.h"
#include <boost/cregex.hpp>
+#include <boost/regex.hpp>
+
+#include <algorithm>
#include <fstream>
+
using std::string;
using std::vector;
using std::pair;
docstring const familyName(docstring const & name)
{
+ if (name.empty())
+ return docstring();
+
// Very simple parser
docstring fname = name;
if (idx != docstring::npos)
return ltrim(fname.substr(0, idx));
idx = fname.rfind('.');
- if (idx != docstring::npos)
+ if (idx != docstring::npos && idx + 1 < fname.size())
fname = ltrim(fname.substr(idx + 1));
// test if we have a LaTeX Space in front
if (fname[0] == '\\')
}
};
+
+class ColorSorter
+{
+public:
+ bool operator()(Color::color const & lhs,
+ Color::color const & rhs) const {
+ return lcolor.getGUIName(lhs) < lcolor.getGUIName(rhs);
+ }
+};
+
} // namespace anon
return langs;
}
+
+vector<Color_color> const getSortedColors(vector<Color_color> colors)
+{
+ // sort the colors
+ std::sort(colors.begin(), colors.end(), ColorSorter());
+ return colors;
+}
+
} // namespace frontend
using support::addName;