MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / applyLanguage

Method applyLanguage

app/src/MQTT/PublisherScriptEditor.cpp:471–493  ·  view source on GitHub ↗

* @brief Switches the syntax highlighter and auto-completer for the language, releasing the * previous pair (the editor widget swaps without taking ownership). */

Source from the content-addressed store, hash-verified

469 * previous pair (the editor widget swaps without taking ownership).
470 */
471void MQTT::PublisherScriptEditor::applyLanguage(int language)
472{
473 m_language = language;
474
475 auto* old_completer = m_editor->completer();
476 auto* old_highlighter = m_editor->highlighter();
477
478 if (language == SerialStudio::Lua) {
479 m_editor->setHighlighter(new QLuaHighlighter());
480 m_editor->setLanguageHint(QCodeEditor::LanguageHint::Lua);
481 m_editor->setCompleter(new QLuaCompleter(m_editor));
482 } else {
483 m_editor->setHighlighter(new QJavascriptHighlighter());
484 m_editor->setLanguageHint(QCodeEditor::LanguageHint::JavaScript);
485 m_editor->setCompleter(nullptr);
486 }
487
488 if (old_completer)
489 old_completer->deleteLater();
490
491 if (old_highlighter)
492 old_highlighter->deleteLater();
493}
494
495/**
496 * @brief Returns the default editor placeholder comment for the language.

Callers

nothing calls this directly

Calls 5

completerMethod · 0.80
highlighterMethod · 0.80
setHighlighterMethod · 0.80
setLanguageHintMethod · 0.80
setCompleterMethod · 0.80

Tested by

no test coverage detected