+ * \var lyx::FuncCode lyx::LFUN_FONT_UNDERWAVE
+ * \li Action: Toggles wavy underline in the font (selection-wise).
+ * \li Syntax: font-underwave
+ * \li Origin: sanda, 5 May 2009
+ * \endvar
+ */
+ { LFUN_FONT_UNDERWAVE, "font-underwave", Noop, Layout },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FOOTNOTE_INSERT
+ * \li Action: Inserts a footnote inset.
+ * \li Syntax: footnote-insert
+ * \li Origin: Jug, 7 Mar 2000
+ * \endvar
+ */
+ { LFUN_FOOTNOTE_INSERT, "footnote-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FORWARD_SEARCH
+ * \li Action: Sets the cursor position in the previewed (dvi/pdf) file based on the row
+ number in LyX window.
+ * \li Notion: The external program used for forward search call can be specified in
+ LyX Output preferences. See Additional manual for details of these
+ settings.
+ * \li Syntax: forward-search
+ * \li Origin: sanda, 14 Apr 2010
+ * \endvar
+ */
+ { LFUN_FORWARD_SEARCH, "forward-search", ReadOnly, System },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_HELP_OPEN
+ * \li Action: Open the given help file according to the language setting.
+ * \li Syntax: help-open <FILE>[.lyx]
+ * \li Params: <FILE>: any document from (/usr/share/)doc directory.
+ * \li Origin: Jug, 27 Jun 1999
+ * \endvar
+ */
+ { LFUN_HELP_OPEN, "help-open", NoBuffer | Argument, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_HREF_INSERT
+ * \li Action: Inserts hyperlinks into the document (clickable in pdf output).
+ * \li Notion: Hyperlink target can be set via selection + hyperlink-insert function.
+ * \li Syntax: href-insert [<TARGET>]
+ * \li Origin: CFO-G, 21 Nov 1997
+ * \endvar
+ */
+ { LFUN_HREF_INSERT, "href-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_ICON_SIZE
+ * \li Action: Sets icon size of toolbars.
+ * \li Syntax: icon-size [<SIZE>]
+ * \li Params: <SIZE> : the icon size in px or one of the logical settings
+ small|normal|big|huge|giant, the default is normal
+ (whose size in px is icon set dependent).
+ * \li Origin: 11 July 2016
+ * \endvar
+ */
+ { LFUN_ICON_SIZE, "icon-size", NoBuffer, Buffer },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IF_RELATIVES
+ * \li Action: Helper function for master-related actions
+ * \li Notion: In a buffer, the function will be disabled if the buffer
+ * has no master or children. It thus allows to enable
+ * actions only in documents with master/children
+ * \li Syntax: ifrelatives <ACTION>
+ * \li Origin: spitz, 2 January 2020
+ * \endvar
+ */
+ { LFUN_IF_RELATIVES, "ifrelatives", Noop, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INDEX_INSERT
+ * \li Action: Inserts Index entry.
+ * \li Notion: It automatically takes the word on the cursor position.
+ * \li Syntax: index-insert [<TYPE:Name>]
+ * \li Params: <TYPE:Name>: name of the index, if multiple indices are defined.
+ With an empty argument, the default index is selected.
+ * \li Origin: leeming, 3 Aug 2000
+ * \endvar
+ */
+ { LFUN_INDEX_INSERT, "index-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INDEX_PRINT
+ * \li Action: Inserts list of Index entries on a new page.
+ * \li Syntax: index-print [<TYPE:Name>]
+ * \li Params: <TYPE:Name>: name of the index, if multiple indices are defined.
+ With an empty argument, the default index is selected.
+ * \li Origin: Lgb, 27 Feb 1997
+ * \endvar
+ */
+ { LFUN_INDEX_PRINT, "index-print", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INFO_INSERT
+ * \li Action: Displays shortcuts, lyxrc, package and textclass availability and menu
+ information in a non-editable boxed InsetText.
+ * \li Notion: Apart from lfun arguments you can use the following method: \n
+ 1. input the type and argument of this inset, e.g. "menu paste", in
+ the work area.\n
+ 2. select the text and run info-insert lfun.
+ * \li Syntax: info-insert <TYPE> <ARG>
+ * \li Params: <TYPE>: date|moddate|fixdate|time|modtime|fixtime|shortcut|shortcuts|lyxrc|
+ * lyxinfo|package|textclass|menu|l7n|icon|buffer|vcs \n
+ <ARG>: argument for a given type. Look into InsetInfo.h for detailed
+ description. \n
+ date: current date (formatted and localized)\n
+ moddate: date of last modification (saving) (formatted and localized)\n
+ fixdate: a static date (formatted and localized)\n
+ time: current time (formatted and localized)\n
+ modtime: time of last modification (saving) (formatted and localized)\n
+ fixtime: a static time (formatted and localized)\n
+ shortcut[s]: name of lfun (e.g math-insert \alpha) \n
+ lyxrc: name of rc_entry (e.g. bind_file) \n
+ lyxinfo: "version" - used version of LyX \n
+ package: name of latex package (e.g. listings) \n
+ textclass: name of textclass (e.g. article) \n
+ menu: name of lfun used in menu \n
+ l7n: localizable string.\n
+ icon: icon of lfun used in toolbar or direct icon name\n
+ buffer: "name"|"name-noext"|"path"|"class"
+ vcs: "tree-revision"|"revision"|"author"|"date"|"time"
+ * \li Sample: command-sequence info-insert buffer path; info-insert buffer name
+ * \li Origin: bpeng, 7 Oct 2007
+ * \endvar
+ */
+ { LFUN_INFO_INSERT, "info-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_APPLY
+ * \li Action: Apply data for an inset.
+ * \li Notion: LFUN_INSET_APPLY is sent from the dialogs when the data should
+ be applied. This is either changed to #LFUN_INSET_MODIFY or
+ #LFUN_INSET_INSERT depending on the context where it is called.
+ * \li Syntax: inset-apply <ARGS>
+ * \li Params: See #LFUN_INSET_INSERT .
+ * \endvar
+ */
+ { LFUN_INSET_APPLY, "inset-apply", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_BEGIN
+ * \li Action: Move the cursor to the beginning of the current inset
+ if it is not already there. If the cursor is already at
+ the beginning of the current inset, move it to the
+ beginning of the enclosing inset or the main work area,
+ respectively, if there is no enclosing inset.
+ * \li Syntax: inset-begin
+ * \li Origin: lasgouttes, 16 Mar 2009
+ * \endvar
+ */
+ { LFUN_INSET_BEGIN, "inset-begin", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_BEGIN_SELECT
+ * \li Action: Move the cursor to the beginning of the current inset
+ if it is not already there. If the cursor is already at
+ the beginning of the current inset, move it to the
+ beginning of the enclosing inset or the main work area,
+ respectively, if there is no enclosing inset (adding the
+ traversed text to the selection).
+ * \li Syntax: inset-begin-select
+ * \li Origin: lasgouttes, 16 Mar 2009
+ * \endvar
+ */
+ { LFUN_INSET_BEGIN_SELECT, "inset-begin-select", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_COPY_AS
+ * \li Action: Copies the inset to the clipboard as a certain type.
+ * \li Notion: Currently used only for InsetInfo where its content is copied as a text.
+ * \li Syntax: inset-copy-as
+ * \li Origin: vfr, 18 Apr 2010
+ * \endvar
+ */
+ { LFUN_INSET_COPY_AS, "inset-copy-as", ReadOnly | NoUpdate | AtPoint, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_DIALOG_UPDATE
+ * \li Action: Updates the values inside the dialog from the inset.
+ * \li Notion: This is an internal LFUN, not to be used by users. Called internally
+ by #LFUN_DIALOG_UPDATE
+ * \li Params: <DIALOG-NAME>
+ * \li Origin: leeming, 25 Feb 2003
+ * \endvar
+ */
+ { LFUN_INSET_DIALOG_UPDATE, "", Noop, Hidden },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_DISSOLVE
+ * \li Action: Dissolve the current inset into text.
+ * \li Syntax: inset-dissolve [<INSET>]
+ * \li Params: <INSET>: this can be used to make sure the right kind of inset
+ is dissolved. For example "dissolve" entry in the charstyles
+ sub-menu should only dissolve the charstyle inset, even if the
+ cursor is inside several nested insets of different type.\n
+ For values see #lyx::InsetLayout::lyxtype_ .
+ * \li Origin: JSpitz, 7 Aug 2006
+ * \endvar
+ */
+ { LFUN_INSET_DISSOLVE, "inset-dissolve", AtPoint, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_EDIT
+ * \li Action: Edit the inset at cursor with an external application,
+ if one is attributed.
+ If the inset is file based, the referenced file is edited.
+ Otherwise, the inset contents is written to a temporary file,
+ the inset is locked, and the temporary file is edited.
+ In this case, #LFUN_INSET_END_EDIT must be called to overtake
+ the changes and unlock the inset after editing is finished.
+ * \li Syntax: inset-edit [<INSET_PARAMS>]
+ * \li Params: <INSET_PARAMS>: Parameters for the inset. \n
+ Currently only the filename will be considered.
+ * \li Origin: spitz, 27 Apr 2006
+ * \endvar
+ */
+ { LFUN_INSET_EDIT, "inset-edit", ReadOnly | AtPoint, Edit },
+
+
+ /*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_END_EDIT
+ * \li Action: End editing the inset at cursor with an external application.
+ * This replaces the inset contents with the contents of the
+ * temporary file, deletes the file and unlocks the inset.
+ * \li Syntax: inset-end-edit
+ * \li Origin: gb, 11 Oct 2015
+ * \endvar
+ */
+ { LFUN_INSET_END_EDIT, "inset-end-edit", ReadOnly | AtPoint, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_END
+ * \li Action: Move the cursor to the end of the current inset if it
+ is not already there. If the cursor is already at the
+ end of the current inset, move it to the end of the
+ enclosing inset or the main work area, respectively, if
+ there is no enclosing inset.
+ * \li Syntax: inset-end
+ * \li Origin: lasgouttes, 16 Mar 2009
+ * \endvar
+ */
+ { LFUN_INSET_END, "inset-end", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_END_SELECT
+ * \li Action: Move the cursor to the end of the current inset if it
+ is not already there. If the cursor is already at the
+ end of the current inset, move it to the end of the
+ enclosing inset or the main work area, respectively, if
+ there is no enclosing inset (adding the
+ traversed text to the selection).
+ * \li Syntax: inset-end-select
+ * \li Origin: lasgouttes, 16 Mar 2009
+ * \endvar
+ */
+ { LFUN_INSET_END_SELECT, "inset-end-select", ReadOnly, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_FORALL
+ * \li Action: Apply the given commands on insets of a given name.
+ * \li Notion: WARNING: use at your own risks; this function gives
+ you too many ways of shooting yourself in the foot.
+ A typical example is
+ inset-forall Note note-insert
+ which starts an infinite loop. This is mitigated by the fact
+ that the number of actions is arbitrarily limited to 100000.
+ Note also that inset-forall does not update metrics between
+ iterations, which can lead to bugs. This has to be eventually
+ fixed.
+ * \li Syntax: inset-forall <NAME> <LFUN-COMMAND> \n
+ <NAME>: Type of Inset. If <NAME> is *, all insets are matched.
+ The name is used like for InsetLayout in layout files: "Note"
+ matches all note insets, while "Note:Note" only matches LyX
+ yellow note insets.
+ * \li Sample: Remove all index insets: \n
+ inset-forall Index char-delete-forward force \n
+ Close all Notes (also works for a particular branch, for example): \n
+ inset-forall Note inset-toggle close \n
+ Transform all yellow notes to comments \n
+ inset-forall Note:Note inset-modify note Note Comment \n
+ Try to put LyX in an infinite loop if there is at least a Note: \n
+ inset-forall Note char-backward
+ * \li Origin: lasgouttes, 27 Nov 2009
+ * \endvar
+ */
+ { LFUN_INSET_FORALL, "inset-forall", ReadOnly, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_INSERT
+ * \li Action: Insert new inset (type given by the parameters).
+ * \li Syntax: inset-insert <INSET> <ARGS>
+ * \li Params: <INSET>: <bibitem|bibtex|citation|ert|listings|external|graphics|tabular|\n
+ hyperlink|include|index|label|line|nomencl|vspace|ref|toc|script>\n
+ <ARGS>: depends on the given inset. Use "lyx -dbg action" to explore.
+ * \li Sample: inset-insert ref LatexCommand <Format> reference "<label name>"\end_inset \n
+ where <label name> is the name of the referenced label and
+ <Format> is one of the following: \n
+ ref -- <reference> \n
+ eqref -- (<reference>) \n
+ pageref -- <page> \n
+ vpageref -- on <page> \n
+ vref -- <reference> on <page> \n
+ formatted -- Formatted reference
+ * \endvar
+ */
+ { LFUN_INSET_INSERT, "inset-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_MODIFY
+ * \li Action: Modify some properties of an inset.
+ * \li Notion: Used for argument, bibitem, bibtex, box, branch, caption, citation,
+ command, ert, external, float, graphics, include, index,
+ info, label, line, listings, newline, newpage, nomencl,
+ note, phantom, quotes, ref, script, separator, space,
+ tabular, vspace and wrap insets.
+ * \li Syntax: inset-modify <INSET> <ARGS> \n
+ inset-modify changetype <TYPE>
+ * \li Sample: Change a Note inset into a Comment inset: \n
+ inset-modify note Note Comment \n
+ Change a Box into an Ovalbox: \n
+ inset-modify changetype Ovalbox \n
+ Change a quotation mark to e[nglish style], l[eft side = opening], s[ingle = inner, secondary] \n
+ inset-modify changetype els \n
+ Change only the style of a quotation mark, maintaining the other aspects (. = wildcard) \n
+ inset-modify changetype e.. \n
+ * \endvar
+ */
+ { LFUN_INSET_MODIFY, "inset-modify", AtPoint, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_SELECT_ALL
+ * \li Action: Select all contents of an inset.
+ * \li Notion: There are 3 successive levels: select current cell,
+ * select all cells of inset, select the inset from outside
+ * (in the enclosing inset).
+ * \li Syntax: inset-select-all
+ * \li Origin: vfr, 22 Aug 2009; lasgouttes 1 Nov 2014
+ * \endvar
+ */
+ { LFUN_INSET_SELECT_ALL, "inset-select-all", ReadOnly, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_SETTINGS
+ * \li Action: Open the inset's properties dialog.
+ * \li Notion: Used for bibitem, bibtex, box, branch, citation, ert, external,
+ float, graphics, href, include, index, index_print, label, line,
+ listings, note, phantom, ref, space, tabular, vspace, wrap insets.
+ * \li Syntax: inset-settings <INSET>
+ * \li Params: <INSET>: <bibitem|bibtex|box|branch|citation|ert|external|float|\n
+ graphics|href|include|index|index_print|label|line|\n
+ listings|note|phantom|ref|space|tabular|vspace|wrap>.
+ * \endvar
+ */
+ { LFUN_INSET_SETTINGS, "inset-settings", ReadOnly | AtPoint, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_TOGGLE
+ * \li Action: Toggles the collapsible inset at cursor position,
+ or the inset we are currently in.
+ * \li Syntax: inset-toggle [<ARG>]
+ * \li Params: <ARG>: <open|close|toggle|assign>. \n
+ open/close/toggle are for collapsible insets. toggle is used when no argument is given.\n
+ assign synchronize the branch-inset with activation status of the branch.
+ Used for global toggling when changed activation.
+ * \li Origin: lasgouttes, 19 Jul 2001
+ * \endvar
+ */
+ { LFUN_INSET_TOGGLE, "inset-toggle", ReadOnly | AtPoint, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IN_IPA
+ * \li Action: Only active in IPA inset.
+ * \li Notion: Dummy function which is only active in a IPA inset.
+ It's used to toggle the IPA toolbar if the cursor moves
+ into an IPA inset.
+ * \li Syntax: in-ipa
+ * \li Origin: spitz, 20 May 2012
+ * \endvar
+ */
+ { LFUN_IN_IPA, "in-ipa", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IN_MATHMACROTEMPLATE
+ * \li Action: Only active in Math Macro definition.
+ * \li Notion: Dummy function which is only active in a Math Macro definition.
+ It's used to toggle the Math Macro toolbar if the cursor moves
+ into a Math Macro definition.
+ * \li Syntax: in-mathmacrotemplate
+ * \li Origin: sts, 06 January 2008
+ * \endvar
+ */
+ { LFUN_IN_MATHMACROTEMPLATE, "in-mathmacrotemplate", Noop, Math },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IPAMACRO_INSERT
+ * \li Action: Inserts special IPA macros into the document.
+ * \li Syntax: ipamacro-insert <CHAR>
+ * \li Params: <CHAR>: tone-falling, tone-rising, tone-high-rising, tone-low-rising,
+ * tone-high-rising-falling, deco bottomtiebar, deco toptiebar.
+ * \li Origin: spitz, 22 Aug 2012
+ * \endvar
+ */
+ { LFUN_IPAMACRO_INSERT, "ipamacro-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_IPA_INSERT
+ * \li Action: Inserts an IPA inset.
+ * \li Syntax: ipa-insert
+ * \li Origin: spitz, 05 Mar 2012
+ * \endvar
+ */
+ { LFUN_IPA_INSERT, "ipa-insert", Noop, Edit },
+