using Foundation;
using System.Collections.Generic;
namespace Cauldron.Macos.SourceWriter;
public class LanguageFormatCommand : NSObject
{
#region Computed Properties
/// Gets or sets the title that will appear in the Formatting Menu.
/// The title.
public string Title { get; set; } = "";
///
/// Gets or sets the prefix that will be added to the start of the line (if no Postfix
/// has been defines), or that will be inserted to the start of the current selected text in the
/// document editor.
///
/// The prefix.
public string Prefix { get; set; } = "";
///
/// Gets or sets the postfix that will added to the end of the selected text in the document
/// editor. If empty (""), the Prefix will be inserted at the start of the line that the
/// cursor is on.
///
/// The postfix.
public string Postfix { get; set; } = "";
///
/// Gets or sets the sub commands that will be displayed
/// under this item in the Formatting Menu.
///
/// The sub commands.
public List SubCommands { get; set; }
= new List();
#endregion
#region Constructors
///
/// Initializes a new instance of the class.
///
public LanguageFormatCommand() { }
///
/// Initializes a new instance of the class.
///
/// The title for the menu item.
public LanguageFormatCommand(string title)
{
this.Title = title;
}
///
/// Initializes a new instance of the class.
///
/// The title for the menu item.
/// The prefix to insert.
public LanguageFormatCommand(string title, string prefix)
{
this.Title = title;
this.Prefix = prefix;
}
///
/// Initializes a new instance of the class.
///
/// The title for the menu item.
/// The prefix to insert.
/// The postfix to insert.
public LanguageFormatCommand(string title, string prefix, string postfix)
{
this.Title = title;
this.Prefix = prefix;
this.Postfix = postfix;
}
#endregion
}