1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
/*
* sourcehighlightutils.cpp
*
* Created on: May 19, 2009
* Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2008
* Copyright: See COPYING file that comes with this distribution
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "sourcehighlightutils.h"
#include "ioexception.h"
#include "fileutil.h"
#include "settings.h"
#include <stdio.h>
#ifndef USE_MSVC
// msvc does not provide this header
#include <dirent.h>
#else
#include <direct.h>
#define mkdir(path,mode) _mkdir (path)
#include <compat_dirent.h>
#endif
using namespace std;
namespace srchilite {
StringSet SourceHighlightUtils::getFileNames(const std::string path,
const std::string fileExtension) {
StringSet strings;
DIR *dp;
struct dirent *ep;
dp = opendir(path.c_str());
if (dp != NULL) {
while ((ep = readdir(dp))) {
const string name(ep->d_name);
if (get_file_extension(name) == fileExtension) {
strings.insert(name);
}
}
(void) closedir(dp);
} else {
throw IOException("Couldn't open the directory", path);
}
return strings;
}
StringSet SourceHighlightUtils::getStyleFileNames(const std::string _path) {
string path = _path;
if (path == "")
path = Settings::retrieveDataDir();
return getFileNames(path, "style");
}
StringSet SourceHighlightUtils::getCssStyleFileNames(const std::string _path) {
string path = _path;
if (path == "")
path = Settings::retrieveDataDir();
return getFileNames(path, "css");
}
StringSet SourceHighlightUtils::getLangFileNames(const std::string _path) {
string path = _path;
if (path == "")
path = Settings::retrieveDataDir();
return getFileNames(path, "lang");
}
StringSet SourceHighlightUtils::getOutLangFileNames(const std::string _path) {
string path = _path;
if (path == "")
path = Settings::retrieveDataDir();
return getFileNames(path, "outlang");
}
}
|