KSyntaxHighlighting
7 #include "contextswitch_p.h"
8 #include "definition.h"
9 #include "definition_p.h"
10 #include "highlightingdata_p.hpp"
11 #include "ksyntaxhighlighting_logging.h"
12 #include "repository.h"
16 void ContextSwitch::resolve(DefinitionData &def,
QStringView contextInstr)
18 HighlightingContextData::ContextSwitch ctx(contextInstr);
20 m_popCount = ctx.popCount();
21 m_isStay = !m_popCount;
23 auto contextName = ctx.contextName();
24 auto defName = ctx.defName();
26 if (contextName.isEmpty() && defName.isEmpty()) {
30 if (defName.isEmpty()) {
31 m_context = def.contextByName(contextName);
33 auto d = def.repo->definitionForName(defName.toString());
36 def.addImmediateIncludedDefinition(d);
38 if (contextName.isEmpty()) {
39 m_context = data->initialContext();
41 m_context = data->contextByName(contextName);
47 qCWarning(
Log) <<
"cannot find context" << contextName <<
"in" << def.name;
virtual QVariant get(ScriptableExtension *callerPrincipal, quint64 objId, const QString &propName)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sun Mar 26 2023 04:09:17 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.