- Extending Qt Creator Manual
- action.lua
- Extending Qt Creator Manual 17.0.2

# action.lua

     ---@meta Action
     local action = {}

     ---@module 'Utils'
     local Utils

     ---@enum CommandAttributes
     action.CommandAttribute = {
         ---Hide the command from the menu.
         CA_Hide = 1,
         ---Update the text of the command.
         CA_UpdateText = 2,
         ---Update the icon of the command.
         CA_UpdateIcon = 4,
         ---The command cannot be configured.
         CA_NonConfigurable = 8,
     }

     ---@class ActionOptions
     ---@field context? string The context in which the action is available.
     ---@field text? string The text to display for the action.
     ---@field icon? Utils.Icon|FilePath|string The icon to display for the action.
     ---@field iconText? string The icon text to display for the action.
     ---@field toolTip? string The toolTip to display for the action.
     ---@field onTrigger? function The callback to call when the action is triggered.
     ---@field commandAttributes? CommandAttributes The attributes of the action.
     ---@field commandDescription? string The description of the command.
     ---@field defaultKeySequence? string The default key sequence for the action.
     ---@field defaultKeySequences? string[] The default key sequences for the action.
     ---@field asModeAction? integer Register the action as a mode action with the given priority.
     ActionOptions = {}

     ---Creates a new Action.
     ---@param id string The id of the action.
     ---@param options ActionOptions
     ---@return Command command The created command.
     function action.create(id, options) end

     ---Triggers an Action.
     ---@param id string The id of the action.
     function action.trigger(id) end

     ---@class Command
     ---@field enabled boolean Whether the command is enabled or not.
     ---@field keySequences QKeySequence[] Current key sequences for the command.
     ---@field text string The text of the command. Make sure to specify `commandAttributes = CommandAttribute.CA_UpdateText` in the options.
     ---@field toolTip string The toolTip of the command. Make sure to specify `commandAttributes = CommandAttribute.CA_UpdateText` in the options.
     Command = {}

     ---return the module
     return action