// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #include "Editor/Scripting/CodeEditor.h" /// /// Implementation of code editor utility that is using CLion from JetBrains. /// class CLionCodeEditor : public CodeEditor { private: String _execPath; String _execArgsPrefix; String _projectPath; String GetProcessArguments(const String& arguments) const; public: /// /// Initializes a new instance of the class. /// /// Executable file path /// Additional arguments to pass before CLion arguments. CLionCodeEditor(const String& execPath, const String& execArgsPrefix = String::Empty); public: /// /// Tries to find installed CLion instances. Adds them to the result list. /// /// The output editors. static void FindEditors(Array* output); public: // [CodeEditor] CodeEditorTypes GetType() const override; String GetName() const override; String GetGenerateProjectCustomArgs() const override; void OpenFile(const String& path, int32 line) override; void OpenSolution() override; void OnFileAdded(const String& path) override; };