MCPcopy Create free account
hub / github.com/dail8859/NotepadNext / readLangsModel

Method readLangsModel

src/NppImporter.cpp:194–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

192}
193
194void NppImporter::readLangsModel(const QString &filePath)
195{
196 QFile file(filePath);
197
198 if (file.open(QIODevice::ReadOnly)) {
199 QXmlStreamReader xml(&file);
200
201 xml.readNextStartElement();
202 while (xml.readNextStartElement()) {
203 if (xml.name() == QStringLiteral("Languages")) {
204 //qInfo(qUtf8Printable(xml.name().toString()));
205
206 while (xml.readNextStartElement()) {
207 auto attrs = xml.attributes();
208 if (!langNamesToLexer.contains(attrs.value("name").toString())) {
209 xml.skipCurrentElement();
210 continue;
211 }
212
213 Language language;
214 language.name = attrs.value("name").toString();
215 language.extensions = attrs.value("ext").toString().split(" ", Qt::SkipEmptyParts);
216 language.shortName = langNamesToLexer[language.name].shortName;
217 language.longDescription = langNamesToLexer[language.name].longName;
218 language.lexer_id = langNamesToLexer[language.name].lexer_id;
219 // TODO: read more
220 while (xml.readNextStartElement()) {
221 //qInfo(qUtf8Printable(language.name));
222 auto attrs = xml.attributes();
223 auto t = xml.readElementText();
224 //qInfo(qUtf8Printable(t));
225 language.keywords[keywordClassToIndex(attrs.value("name"))] = t;
226 //xml.skipCurrentElement();
227 }
228 languages.insert(language.name, language);
229 }
230 }
231 else {
232 xml.skipCurrentElement();
233 }
234 }
235 if (xml.hasError()) {
236 qWarning("%s", qUtf8Printable(xml.errorString()));
237 }
238 }
239}
240
241void NppImporter::readStylersModel(const QString &filePath)
242{

Callers

nothing calls this directly

Calls 2

keywordClassToIndexFunction · 0.85
toStringMethod · 0.80

Tested by

no test coverage detected