MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / updateDefinition

Method updateDefinition

src/plugins/chat/widgets/codeeditcomponent.cpp:106–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106void CodeEditComponent::updateDefinition(const QString &la)
107{
108 // 定义正则表达式,匹配 "```" 后面的字符串, codeGeex发送的代码中含有```。
109 QRegularExpression regex("```(\\w+)");
110 QRegularExpressionMatch match = regex.match(la);
111 auto language = la;
112
113 // 代码语言参数:
114 // 1.由codeGeex发送,格式为```language code ```,参数格式为```language,需要转换为kf5可用的字符
115 // 2.由codeGeex发送,但不含```,不截取,直接转换为kf5可用的字符
116 // 3.其他类直接调用,不转换,直接使用,但可能无效
117 if (match.hasMatch() && ideSyntaxNameMap::definitionName.value(language) != def.name()) {
118 language = match.captured(1);
119 def = rep.definitionForName(ideSyntaxNameMap::definitionName.value(language));
120 } else if (ideSyntaxNameMap::definitionName.keys().contains(language)) {
121 def = rep.definitionForName(ideSyntaxNameMap::definitionName.value(language));
122 } else {
123 def = rep.definitionForName(language);
124 }
125
126 if (def.isValid() && def.name() != highLighter->definition().name())
127 highLighter->setDefinition(def);
128}
129
130void CodeEditComponent::cleanFinalLine()
131{

Callers

nothing calls this directly

Calls 7

definitionMethod · 0.80
matchMethod · 0.45
valueMethod · 0.45
nameMethod · 0.45
containsMethod · 0.45
keysMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected