+ { LFUN_BUFFER_WRITE_ALL, "buffer-write-all", ReadOnly, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_WRITE_AS
+ * \li Action: Rename and save current buffer.
+ * \li Syntax: buffer-write-as <FILENAME>
+ * \li Params: <FILENAME>: New name of the buffer/file. A relative path
+ is with respect to the original location of the buffer/file.
+ * \endvar
+ */
+ { LFUN_BUFFER_WRITE_AS, "buffer-write-as", ReadOnly, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_WRITE_AS_TEMPLATE
+ * \li Action: Rename and save current buffer in the local templates directory.
+ * \li Syntax: buffer-write-as-template <FILENAME>
+ * \li Params: <FILENAME>: New name of the buffer/file. A relative path
+ is with respect to the original location of the buffer/file.
+ * \endvar
+ */
+ { LFUN_BUFFER_WRITE_AS_TEMPLATE, "buffer-write-as-template", ReadOnly, Buffer },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR
+ * \li Action: Clear the external modification flag on the current buffer.
+ * \li Syntax: buffer-external-modification-clear
+ * \li Origin: gm, 2 March 2017
+ * \endvar
+ */
+ { LFUN_BUFFER_EXTERNAL_MODIFICATION_CLEAR,
+ "buffer-external-modification-clear", ReadOnly, Buffer },
+
+/*!
+* \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM
+* \li Action: Sets the zoom of the screen fonts.
+* \li Syntax: buffer-zoom [<ZOOM>]
+* \li Params: <ZOOM>: The target zoom value in %;
+* the default is the default zoom as saved in preferences.
+* \li Origin: daniel, 28 Oct 2016
+* \endvar
+*/
+ { LFUN_BUFFER_ZOOM, "buffer-zoom", ReadOnly, Buffer },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM_IN
+ * \li Action: Increases the zoom of the screen fonts.
+ * \li Syntax: buffer-zoom-in [<ZOOM>]
+ * \li Params: <ZOOM>: The zoom value addition in % (neg. or pos.);
+ * the default is 10% of the default zoom as saved in preferences.
+ * \li Origin: vfr, 30 Mar 2009
+ * \endvar
+ */
+ { LFUN_BUFFER_ZOOM_IN, "buffer-zoom-in", ReadOnly, Buffer },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_ZOOM_OUT
+ * \li Action: Decreases the zoom of the screen fonts.
+ * \li Syntax: buffer-zoom-out [<ZOOM>]
+ * \li Params: <ZOOM>: The zoom value abstraction in % (neg. or pos.);
+ * the default is 10% of the default zoom as saved in preferences.
+ * \li Origin: vfr, 30 Mar 2009
+ * \endvar
+ */
+ { LFUN_BUFFER_ZOOM_OUT, "buffer-zoom-out", ReadOnly, Buffer },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUILD_PROGRAM
+ * \li Action: Generates the code (literate programming).
+ * \li Notion: Latex file with extension \literate_extension is generated.
+ Then LyX invokes \build_command (with a default of ``make'') to generate the code and
+ \build_error_filter to process the compilation error messages. \n
+ In case you want to process your literate file with a script, or some other program,
+ just insert in your lyxrc file an entry with:\n
+ \build_command "my_script my_arguments" \n
+ The \build_error_filter differs from the \literate_error_filter only in that the
+ former will identify error messages from your compiler.
+ * \li Syntax: build-program
+ * \endvar
+ */
+ { LFUN_BUILD_PROGRAM, "build-program", ReadOnly, Buffer },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CALL
+ * \li Action: Executes a command defined in a .def file.
+ * \li Notion: The definitions are by default read from lib/commands/default.def.\n
+ A .def file allows to define a command with \define "<NAME>" "<LFUN>"
+ where <NAME> is the name of the new command and <LFUN> is the lfun code
+ to be executed (see e.g. #LFUN_COMMAND_SEQUENCE).
+ \def_file "FileName" allows to include another .def file. \n
+ This is particularly useful in connection with toolbar buttons:
+ Since the name of the button image for this lfun is
+ lib/images/commands/<NAME>.png this is the way to assign an image
+ to a complex command-sequence.
+ * \li Syntax: call <NAME>
+ * \li Params: <NAME>: Name of the command that must be called.
+ * \li Origin: broider, 2 Oct 2007
+ * \endvar
+ */
+ { LFUN_CALL, "call", NoBuffer, System },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CANCEL
+ * \li Action: Cancels sequence prepared by #LFUN_META_PREFIX .
+ * \li Syntax: cancel
+ * \endvar
+ */
+ { LFUN_CANCEL, "cancel", NoBuffer, System },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CAPTION_INSERT
+ * \li Action: Inserts a caption inset.
+ * \li Syntax: caption-insert
+ * \li Origin: Lgb, 18 Jul 2000
+ * \endvar
+ */
+ { LFUN_CAPTION_INSERT, "caption-insert", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_BACKWARD
+ * \li Action: Moves the cursor to the previous cell inside the table.
+ * \li Syntax: cell-backward
+ * \li Origin: Jug, 22 May 2000
+ * \endvar
+ */
+ { LFUN_CELL_BACKWARD, "cell-backward", ReadOnly | NoUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_FORWARD
+ * \li Action: Moves the cursor to the next cell inside the table.
+ * \li Syntax: cell-forward
+ * \endvar
+ */
+ { LFUN_CELL_FORWARD, "cell-forward", ReadOnly | NoUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CELL_SPLIT
+ * \li Action: Splits cell and shifts right part to the next cell (inside the math grid).
+ * \li Syntax: cell-split
+ * \li Origin: Ale, 15 May 1997
+ * \endvar
+ */
+ { LFUN_CELL_SPLIT, "cell-split", Noop, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGES_MERGE
+ * \li Action: Open change tracking dialog for merging and moves the cursor
+ to the position of the next change.
+ * \li Syntax: changes-merge
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
+ { LFUN_CHANGES_MERGE, "changes-merge", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGES_OUTPUT
+ * \li Action: Toggles showing of change tracking in typeset output.
+ * \li Syntax: changes-output
+ * \li Origin: spitz, 21 Jan 2005
+ * \endvar
+ */
+ { LFUN_CHANGES_OUTPUT, "changes-output", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGES_TRACK
+ * \li Action: Toggles change tracking to on/off.
+ * \li Syntax: changes-track
+ * \li Origin: levon, 1 Oct 2002
+ * \endvar
+ */
+ { LFUN_CHANGES_TRACK, "changes-track", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_ACCEPT
+ * \li Action: Accepts tracked change inside the selection.
+ * \li Syntax: change-accept
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
+ { LFUN_CHANGE_ACCEPT, "change-accept", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_NEXT
+ * \li Action: Moves the cursor to the position of the next change
+ of the change tracking records.
+ * \li Syntax: change-next
+ * \li Origin: schmitt, 4 Oct 2006
+ * \endvar
+ */
+ { LFUN_CHANGE_NEXT, "change-next", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_PREVIOUS
+ * \li Action: Moves the cursor to the position of the previous change
+ of the change tracking records.
+ * \li Syntax: change-previous
+ * \li Origin: vfr, 4 Apr 2009
+ * \endvar
+ */
+ { LFUN_CHANGE_PREVIOUS, "change-previous", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHANGE_REJECT
+ * \li Action: Rejects tracked change inside the selection.
+ * \li Syntax: change-reject
+ * \li Origin: Levon, 16 Oct 2002
+ * \endvar
+ */
+ { LFUN_CHANGE_REJECT, "change-reject", Noop, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHARS_TRANSPOSE
+ * \li Action: Transposes the character at the cursor with the one before it.
+ * \li Syntax: chars-transpose
+ * \li Origin: Lgb, 25 Apr 2001
+ * \endvar
+ */
+ { LFUN_CHARS_TRANSPOSE, "chars-transpose", Noop, Edit },
+
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHAR_BACKWARD
+ * \li Action: Moves the cursor one position logically backwards.
+ * \li Notion: This is not the action which should be bound to the arrow keys,
+ because backwards may be left or right, depending on the
+ language. The arrow keys should be bound to #LFUN_CHAR_LEFT or
+ #LFUN_CHAR_RIGHT actions, which in turn may employ this one.
+ * \li Syntax: char-backward
+ * \endvar
+ */
+ { LFUN_CHAR_BACKWARD, "char-backward", ReadOnly | NoUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHAR_BACKWARD_SELECT
+ * \li Action: Moves the cursor one position logically backwards, adding
+ traversed position to the selection.
+ * \li Notion: See also #LFUN_CHAR_BACKWARD.
+ * \li Syntax: char-backward-select
+ * \endvar
+ */
+ { LFUN_CHAR_BACKWARD_SELECT, "char-backward-select", ReadOnly | SingleParUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHAR_DELETE_BACKWARD
+ * \li Action: Deletes one character in the backward direction (usually the "BackSpace" key).
+ * \li Syntax: char-delete-backward [force]
+ * \li Params: force: Delete big insets, do not only select them.
+ * \endvar
+ */
+ { LFUN_CHAR_DELETE_BACKWARD, "char-delete-backward", SingleParUpdate, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_CHAR_DELETE_FORWARD
+ * \li Action: Deletes one character in the backward direction (usually the "Delete" key).
+ * \li Syntax: char-delete-forward [force]
+ * \li Params: force: Delete big insets, do not only select them.
+ * \endvar
+ */
+ { LFUN_CHAR_DELETE_FORWARD, "char-delete-forward", SingleParUpdate, Edit },
+