// Copyright (c) 2012-2024 Wojciech Figat. All rights reserved. namespace FlaxEditor.Modules.SourceCodeEditing { /// /// Interface for source code editing plugins. /// public interface ISourceCodeEditor { /// /// Gets the editor name. Used to show in the UI. /// string Name { get; } /// /// Gets the custom arguments for the Flax.Build tool to add when generating project files for this code editor. Can be used to pick a different project files generator. Empty by default. /// string GenerateProjectCustomArgs { get; } /// /// Opens the solution file (source code project file). /// void OpenSolution(); /// /// Opens the source file. /// /// The file path to open. /// The line number to navigate to. Use 0 to not use it. void OpenFile(string path, int line); /// /// Called when source file gets added to the workspace. Can be used to automatically include new files into the project files. /// /// The path. void OnFileAdded(string path); /// /// Called when editor gets selected. /// /// The editor. void OnSelected(Editor editor); /// /// Called when editor gets deselected. /// /// The editor. void OnDeselected(Editor editor); /// /// Called when editor gets added. /// /// The editor. void OnAdded(Editor editor); /// /// Called when editor gets removed. /// /// The editor. void OnRemoved(Editor editor); } }