Coverage Report

Created: 2026-02-26 07:48

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/syntax-highlighting/src/lib/repository_p.h
Line
Count
Source
1
/*
2
    SPDX-FileCopyrightText: 2016 Volker Krause <vkrause@kde.org>
3
4
    SPDX-License-Identifier: MIT
5
*/
6
7
#ifndef KSYNTAXHIGHLIGHTING_REPOSITORY_P_H
8
#define KSYNTAXHIGHLIGHTING_REPOSITORY_P_H
9
10
#include <QHash>
11
#include <QList>
12
#include <QString>
13
14
#include <map>
15
16
#include "dynamicregexpcache_p.h"
17
18
namespace KSyntaxHighlighting
19
{
20
class Definition;
21
class Repository;
22
class Theme;
23
24
class RepositoryPrivate
25
{
26
public:
27
16.6k
    RepositoryPrivate() = default;
28
29
    static RepositoryPrivate *get(Repository *repo);
30
31
    void load(Repository *repo);
32
    void loadSyntaxFolder(Repository *repo, const QString &path);
33
    bool loadSyntaxFolderFromIndex(Repository *repo, const QString &path);
34
    void computeAlternativeDefLists();
35
36
    void addDefinition(Definition &&def);
37
38
    void loadThemeFolder(const QString &path);
39
    void addTheme(const Theme &theme);
40
41
    int foldingRegionId(const QString &defName, const QString &foldName);
42
    int nextFormatId();
43
44
    QList<QString> m_customSearchPaths;
45
46
    // sorted map to have deterministic iteration order
47
    std::map<QString, Definition> m_defs;
48
    // flat version of m_defs for speed up iterations for e.g. definitionsForFileName
49
    QList<Definition> m_flatDefs;
50
51
    // map relating all names and alternative names, case insensitively to the correct definition.
52
    QHash<QString, Definition> m_fullDefs;
53
54
    // this vector is sorted by translated sections/names
55
    QList<Definition> m_sortedDefs;
56
57
    QList<Theme> m_themes;
58
59
    QHash<QPair<QString, QString>, int> m_foldingRegionIds;
60
    int m_foldingRegionId = 0;
61
    int m_formatId = 0;
62
63
    DynamicRegexpCache m_dynamicRegexpCache;
64
};
65
}
66
67
#endif