File: sourcehighlightutils.cpp

package info (click to toggle)
source-highlight 3.1.8-1.2~deb9u1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 10,224 kB
  • sloc: sh: 11,709; cpp: 10,226; ansic: 9,521; makefile: 1,902; lex: 1,200; yacc: 1,021; php: 213; perl: 211; awk: 98; erlang: 94; lisp: 90; java: 75; ruby: 69; python: 61; asm: 43; ada: 36; ml: 29; haskell: 27; xml: 23; cs: 11; sql: 8; tcl: 7; sed: 4
file content (88 lines) | stat: -rw-r--r-- 2,010 bytes parent folder | download | duplicates (6)
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");
}

}