diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp index 337499083de..03fe7177f22 100644 --- a/src/plugins/nim/nimplugin.cpp +++ b/src/plugins/nim/nimplugin.cpp @@ -19,8 +19,6 @@ #include "project/nimbletaskstep.h" #include "settings/nimcodestylepreferencesfactory.h" #include "settings/nimcodestylesettingspage.h" -#include "settings/nimsettings.h" -#include "suggest/nimsuggestcache.h" #include #include @@ -39,15 +37,6 @@ namespace Nim { class NimPluginPrivate { public: - NimPluginPrivate() - { - Suggest::NimSuggestCache::instance().setExecutablePath(settings().nimSuggestPath()); - QObject::connect(&settings().nimSuggestPath, &StringAspect::changed, - &Suggest::NimSuggestCache::instance(), [this] { - Suggest::NimSuggestCache::instance().setExecutablePath(settings().nimSuggestPath()); - }); - } - NimEditorFactory editorFactory; NimBuildConfigurationFactory buildConfigFactory; NimbleBuildConfigurationFactory nimbleBuildConfigFactory; diff --git a/src/plugins/nim/suggest/nimsuggestcache.cpp b/src/plugins/nim/suggest/nimsuggestcache.cpp index 9fe869cdd55..e59f63a5525 100644 --- a/src/plugins/nim/suggest/nimsuggestcache.cpp +++ b/src/plugins/nim/suggest/nimsuggestcache.cpp @@ -36,6 +36,11 @@ NimSuggest *NimSuggestCache::get(const FilePath &filename) NimSuggestCache::NimSuggestCache() { + setExecutablePath(settings().nimSuggestPath()); + QObject::connect(&settings().nimSuggestPath, &StringAspect::changed, [this] { + setExecutablePath(settings().nimSuggestPath()); + }); + Core::EditorManager *editorManager = Core::EditorManager::instance(); connect(editorManager, &Core::EditorManager::editorOpened, this, &NimSuggestCache::onEditorOpened); @@ -60,14 +65,13 @@ void NimSuggestCache::setExecutablePath(const FilePath &path) } } -void Nim::Suggest::NimSuggestCache::onEditorOpened(Core::IEditor *editor) +void NimSuggestCache::onEditorOpened(Core::IEditor *editor) { - if (editor->document()->mimeType() == Constants::C_NIM_MIMETYPE) { + if (editor->document()->mimeType() == Constants::C_NIM_MIMETYPE) get(editor->document()->filePath()); - } } -void Nim::Suggest::NimSuggestCache::onEditorClosed(Core::IEditor *editor) +void NimSuggestCache::onEditorClosed(Core::IEditor *editor) { auto it = m_nimSuggestInstances.find(editor->document()->filePath()); if (it != m_nimSuggestInstances.end()) diff --git a/src/plugins/nim/suggest/nimsuggestcache.h b/src/plugins/nim/suggest/nimsuggestcache.h index 757118ba47b..51f65d9119b 100644 --- a/src/plugins/nim/suggest/nimsuggestcache.h +++ b/src/plugins/nim/suggest/nimsuggestcache.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include @@ -15,10 +15,8 @@ namespace Nim::Suggest { class NimSuggest; -class NimSuggestCache : public QObject +class NimSuggestCache final : public QObject { - Q_OBJECT - public: static NimSuggestCache &instance();