*
* Doxygen template below. Some notes: Parameters should be set in uppercase
* and put in <BRACKETS>, [<PARAM>] means optional one.
+ *
+ * Use spaces for indentation (doxy -> .lyx generator is tab-sensitive).
*/
/*!
void LyXAction::newFunc(FuncCode action, string const & name,
- unsigned int attrib, LyXAction::func_type type)
+ unsigned int attrib, LyXAction::FuncType type)
{
lyx_func_map[name] = action;
FuncInfo tmpinfo;
// magnitudes faster.
static bool init;
- if (init) return;
+ if (init)
+ return;
struct ev_item {
FuncCode action;
char const * name;
unsigned int attrib;
- func_type type;
+ FuncType type;
};
ev_item const items[] = {
*/
{ LFUN_WRAP_INSERT, "wrap-insert", Noop, Edit },
/*!
- * \var lyx::FuncCode lyx::LFUN_OPTIONAL_INSERT
- * \li Action: Inserts an optional-argument (short title) inset.
- * \li Syntax: optional-insert
+ * \var lyx::FuncCode lyx::LFUN_ARGUMENT_INSERT
+ * \li Action: Inserts an argument (short title) inset.
+ * \li Syntax: argument-insert
* \li Origin: vermeer, 12 Aug 2002
* \endvar
*/
- { LFUN_OPTIONAL_INSERT, "optional-insert", Noop, Edit },
+ { LFUN_ARGUMENT_INSERT, "argument-insert", Noop, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_LINE_INSERT
* \li Action: Inserts a horizontal line.
* \endvar
*/
{ LFUN_LISTING_INSERT, "listing-insert", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_PREVIEW_INSERT
+ * \li Action: Inserts a new preview inset.
+ * \li Syntax: preview-insert
+ * \li Origin: vfr, 28 Mar 2010
+ * \endvar
+ */
+ { LFUN_PREVIEW_INSERT, "preview-insert", Noop, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_TAB_INSERT
* \li Action: Insert a tab into a listings inset.
the work area.\n
2. select the text and run info-insert lfun.
* \li Syntax: info-insert <TYPE> <ARG>
- * \li Params: <TYPE>: shortcut|lyxrc|package|textclass|menu|buffer \n
+ * \li Params: <TYPE>: shortcut[s]|lyxrc|lyxinfo|package|textclass|menu|buffer \n
<ARG>: argument for a given type. Look into InsetInfo.h for detailed
- description.
+ description. \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
+ icon: name of lfun used in toolbar \n
+ buffer: "name"|"path"|"class"|"vcs-tree-revision"|
+ "vcs-revision"|"vcs-author"|"vcs-date"|"vcs-time"
* \li Sample: command-sequence info-insert buffer path; info-insert buffer name
* \li Origin: bpeng, 7 Oct 2007
* \endvar
* \endvar
*/
{ LFUN_NOTE_NEXT, "note-next", ReadOnly, Edit },
-/*!
- * \var lyx::FuncCode lyx::LFUN_NOTES_MUTATE
- * \li Action: Changes all Note insets of a particular type (source)
- to a different type (target) fot the current document.
- * \li Syntax: notes-mutate <SOURCE> <TARGET>
- * \li Params: <SOURCE/TARGET>: Note|Comment|Greyedout
- * \li Origin: sanda, 18 Jun 2008
- * \endvar
- */
- { LFUN_NOTES_MUTATE, "notes-mutate", Argument, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_PHANTOM_INSERT
* \li Action: Inserts phantom on the current cursor postion,
/*!
* \var lyx::FuncCode lyx::LFUN_ESCAPE
* \li Action: Clears the selection. If no text is selected call #LFUN_FINISHED_FORWARD.
+ Inside math mode jumps out of the math inset.
* \li Syntax: escape
* \li Origin: Lgb, 17 May 2001
* \endvar
* \li Action: Replace a string in the document.
* \li Syntax: word-replace [<DATA>]
* \li Params: <DATA>: data is of the form
- "<search> \n
- <replace> \n
+ "<replace> \n
+ <search> \n
<casesensitive> <matchword> <all> <forward>"
* \li Origin: Andre, Jan 7 2004
* \endvar
* \li Origin: Tommaso, Nov 15 2007
* \endvar
*/
- { LFUN_WORD_FINDADV, "word-findadv", ReadOnly, Edit },
+ { LFUN_WORD_FINDADV, "word-findadv", ReadOnly | NoBuffer, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_WORD_FORWARD
* \li Action: Moves the cursor to the logically next beginning of a word.
* \endvar
*/
{ LFUN_WORD_LOWCASE, "word-lowcase", Noop, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SPELLING_ADD
+ * \li Action: Add the word under the cursor to the respective
+ * spell checker dictionary.
+ * \li Syntax: spelling-add [<STRING>] [<LANG>]
+ * \li Params: <WORD>: word to add
+ <LANG>: language name (see file languages)
+ * \li Origin: JSpitzm, 18 Jan 2010
+ * \endvar
+ */
+ { LFUN_SPELLING_ADD, "spelling-add", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SPELLING_IGNORE
+ * \li Action: Let the spell checker ignore the word under the cursor
+ * in the current session for the given language.
+ * \li Syntax: spelling-ignore [<WORD>] [<LANG>]
+ * \li Params: <WORD>: word to ignore
+ <LANG>: language name (see file languages)
+ * \li Origin: JSpitzm, 18 Jan 2010
+ * \endvar
+ */
+ { LFUN_SPELLING_IGNORE, "spelling-ignore", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SPELLING_REMOVE
+ * \li Action: Remove the word under the cursor from the respective
+ * spell checker dictionary.
+ * \li Syntax: spelling-remove [<STRING>] [<LANG>]
+ * \li Params: <WORD>: word to remove
+ <LANG>: language name (see file languages)
+ * \li Origin: SWitt, 28 July 2010
+ * \endvar
+ */
+ { LFUN_SPELLING_REMOVE, "spelling-remove", ReadOnly, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_THESAURUS_ENTRY
* \li Action: Look up thesaurus entries with respect to the word under the cursor.
*/
{ LFUN_INSET_END_SELECT, "inset-end-select", ReadOnly, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_INSET_SELECT_ALL
+ * \li Action: Selects all contents of an inset.
+ * \li Syntax: inset-select-all
+ * \li Origin: vfr, 22 Aug 2009
+ * \endvar
+ */
+ { LFUN_INSET_SELECT_ALL, "inset-select-all", ReadOnly, Edit },
+
+/*!
+ * \var lyx::FuncCode lyx::LFUN_SECTION_SELECT
+ * \li Action: Selects the whole section.
+ * \li Notion: The cursor should be in a section heading
+ before calling this lfun.
+ * \li Syntax: section-select
+ * \li Origin: vfr, 05 May 2009
+ * \endvar
+ */
+ { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_LINE_BEGIN
* \li Action: Move the cursor to the begining of the (screen) line.
* \li Syntax: undo
* \endvar
*/
- { LFUN_UNDO, "undo", Noop, Edit },
+ { LFUN_UNDO, "undo", ReadOnly, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_REDO
* \li Action: Redoes the last thing undone.
* \li Syntax: redo
* \endvar
*/
- { LFUN_REDO, "redo", Noop, Edit },
+ { LFUN_REDO, "redo", ReadOnly, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_REPEAT
* \li Action: Repeat the given command.
* \li Origin: rgh, 25 August 2007
* \endvar
*/
- { LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear", Noop, Layout },
+ { LFUN_LAYOUT_MODULES_CLEAR, "layout-modules-clear", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_LAYOUT_MODULE_ADD
* \li Action: Adds a module.
* \li Origin: rgh, 25 August 2007
* \endvar
*/
- { LFUN_LAYOUT_MODULE_ADD, "layout-module-add", Noop, Layout },
+ { LFUN_LAYOUT_MODULE_ADD, "layout-module-add", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_LAYOUT_RELOAD
* \li Action: Reloads layout information.
* \li Origin: rgh, 3 September 2007
* \endvar
*/
- { LFUN_LAYOUT_RELOAD, "layout-reload", Noop, Layout },
+ { LFUN_LAYOUT_RELOAD, "layout-reload", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_TEXTCLASS_APPLY
* \li Action: Sets the text class for the current buffer.
the filename, minus the ".layout" extension.
* \endvar
*/
- { LFUN_TEXTCLASS_APPLY, "textclass-apply", Noop, Layout },
+ { LFUN_TEXTCLASS_APPLY, "textclass-apply", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_TEXTCLASS_LOAD
* \li Action: Loads information for a textclass from disk.
the filename, minus the ".layout" extension.
* \endvar
*/
- { LFUN_TEXTCLASS_LOAD, "textclass-load", Noop, Layout },
+ { LFUN_TEXTCLASS_LOAD, "textclass-load", NoInternal, Layout },
/*!
* \var lyx::FuncCode lyx::LFUN_MARK_OFF
* \li Action: Inserts math objects and symbols.
* \li Syntax: math-insert <ARG>
* \li Params: <ARG>: Symbol or LaTeX code to be inserted.
+ * \li Notion: When <ARG> is a _single_ math inset with more than one cell
+ (such as "x_y^z" or "\frac{x}{y}"), the content of cell(0) is
+ replaced by the current selection (only works if the selection
+ is in mathed). As an example, if "abc" is selected in mathed,
+ "math-insert \frac{x}{y}" replaces "abc" with "\frac{abc}{y}",
+ and "math-insert x_y^z" replaces "abc" with "abc_y^z".
+ If nothing is selected (or the selection is not in mathed),
+ math-insert works as expected.
* \endvar
*/
{ LFUN_MATH_INSERT, "math-insert", Noop, Math },
* \endvar
*/
{ LFUN_MATH_MATRIX, "math-matrix", Noop, Math },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_MATH_AMS_MATRIX
+ * \li Action: Inserts a matrix.
+ * \li Syntax: math-matrix <COLS> <ROWS> [<DECORATION>]
+ * \li Params: <DECORATION>: Decoration determines the LaTeX name of the matrix
+ that should be created.
+ * \li Sample: math-ams-matrix 3 3 bmatrix
+ * \endvar
+ */
+ { LFUN_MATH_AMS_MATRIX, "math-ams-matrix", Noop, Math },
/*!
* \var lyx::FuncCode lyx::LFUN_MATH_MODE
* \li Action: In text mode enters math mode (i.e. puts math insets on the current
cursor position), in math mode enters text mode inside math expression.
* \li Notion: If there is some selected text, it puts the text inside created math box.
- * \li Syntax: math-mode [<ARG>]
- * \li Params: <ARG>: eventual argument (LaTeX code) is passed to #LFUN_MATH_INSERT .
+ * \li Syntax: math-mode [on|<ARG>]
+ * \li Params: <ARG>: eventual argument (LaTeX code) is passed to #LFUN_MATH_INSERT .\n
+ "on": allow only entering of math mode from text mode.
* \li Origin: Alejandro, 4 Jun 1996
* \endvar
*/
* \li Origin: Dekel, 26 Aug 2000
* \endvar
*/
- { LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly, Edit },
-/*!
- * \var lyx::FuncCode lyx::LFUN_BREAK_PARAGRAPH
- * \li Action: Breaks the current paragraph at the current location.
- * \li Syntax: break-paragraph
- * \endvar
- */
- { LFUN_PARAGRAPH_SPACING, "paragraph-spacing", Noop, Edit },
+ { LFUN_PARAGRAPH_GOTO, "paragraph-goto", ReadOnly | NoInternal, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_BREAK_PARAGRAPH
* \li Action: Breaks the current paragraph at the current location.
Note that the "leftindent" indent setting is deprecated.
* \li Syntax: paragraph-params [<INDENT>] [<SPACING>] [<ALIGN>] [<OTHERS>]
* \li Params: <INDENT>: \noindent|\indent|\indent-toggle|\leftindent LENGTH\n
- <SPACING>: \paragraph_spacing default|single|onehalf|double|other\n
+ <SPACING>: \paragraph_spacing default|single|onehalf|double|other SIZE \n
<ALIGN>: \align block|left|right|center|default\n
<OTHERS>: \labelwidthstring WIDTH|\start_of_appendix
* \li Origin: rgh, Aug 15 2007
* \endvar
*/
{ LFUN_OUTLINE_OUT, "outline-out", Noop, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_INSET_EDIT
* \li Action: Edit the inset at cursor with an external application,
* \li Origin: JSpitzm, 27 Apr 2006
* \endvar
*/
- { LFUN_INSET_EDIT, "inset-edit", ReadOnly, Edit },
+ { LFUN_INSET_EDIT, "inset-edit", ReadOnly | AtPoint, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_TABULAR_INSERT
* \li Action: Inserts table into the document.
+ * \li Notion: See #LFUN_INSET_MODIFY for some more details
+ about tabular modifications.
* \li Syntax: tabular-insert [<ROWS> <COLUMNS>]
* \li Params: In case no arguments are given show insert dialog.
* \li Origin: Jug, 12 Apr 2000
* \endvar
*/
{ LFUN_TABULAR_INSERT, "tabular-insert", Noop, Edit },
-/*!
- * \var lyx::FuncCode lyx::LFUN_TABULAR_FEATURE
- * \li Action: Sets various features to the table/cell on the current cursor position.
- * \li Notion: Various math-environment features are handled here as well, e.g.
- add-vline-left/right for the Grid/Array environment
- * \li Syntax: tabular-feature <FEATURE> [<ARG>]
- * \li Params: <FEATURE>: append-row|append-column|delete-row|delete-column|copy-row|copy-column|
- toggle-line-top|toggle-line-bottom|toggle-line-left|toggle-line-right|
- align-left|align-right|align-center|align-block|valign-top|valign-bottom|
- valign-middle|m-align-left|m-align-right|m-align-center|m-valign-top|
- m-valign-bottom|m-valign-middle|multicolumn|set-all-lines|unset-all-lines|
- set-longtabular|unset-longtabular|set-pwidth|set-mpwidth|
- set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|
- set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|
- unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|
- set-ltlastfoot|unset-ltlastfoot|set-ltnewpage|toggle-ltcaption|
- set-special-column|set-special-multi|set-booktabs|unset-booktabs|
- set-top-space|set-bottom-space|set-interline-space|set-border-lines|
- tabular-valign-top|tabular-valign-middle|tabular-valign-bottom \n
- <ARG>: additional argument for some commands, use debug mode to explore its values.
- * \li Origin: Jug, 28 Jul 2000
- * \endvar
- */
- { LFUN_TABULAR_FEATURE, "tabular-feature", Noop, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_CELL_BACKWARD
* \li Action: Moves the cursor to the previous cell inside the table.
R - Reload - ensure that the document is saved and reload it after command execution \n
M - Message - ask for input string (commit message)\n
<PATH>: path where to start. $$p will be replaced by the current document path.\n
- <COMMAND>: command to execute. $$i/$$p/$$m will be replaced by the current document/path/message.
+ <COMMAND>: command to execute. $$i/$$p/$$m will be replaced by the current
+ document(with absolute path)/path/message.
* \li Sample: vc-command DR $$p "svn up"
* \li Origin: sanda, 13 Jan 2009
* \endvar
*/
{ LFUN_VC_COMMAND, "vc-command", NoBuffer | ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_LOCKING_TOGGLE
+ * \li Action: Toggles the locking property of the edited file.
+ * \li Notion: This is currently implemented only for SVN.
+ * \li Syntax: vc-locking-toggle
+ * \li Origin: sanda, 25 Jun 2009
+ * \endvar
+ */
+ { LFUN_VC_LOCKING_TOGGLE, "vc-locking-toggle", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_REPO_UPDATE
+ * \li Action: Update the local archive directory in which resides
+ the current document with the remote repository.
+ * \li Notion: This is currently implemented only for SVN.
+ * \li Syntax: vc-repo-update
+ * \li Origin: sanda, 16 Oct 2009
+ * \endvar
+ */
+ { LFUN_VC_REPO_UPDATE, "vc-repo-update", ReadOnly, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_VC_COMPARE
+ * \li Action: Compares two revisions of the same file under version control.
+ * \li Notion: This is currently implemented only for SVN and RCS.
+ * \li Syntax: vc-compare <REV1> [<REV2>]
+ * \li Params: Revision number either points directly to commit in history
+ or if negative number -x it points to last commit - x.\n
+ In RCS we subtract only in the last number of revision specification.
+ Special case "0" is reserved for the last committed revision.\n
+ <REV1>: Older file.\n
+ <REV2>: Newer file. Used only if REV1 > 0.
+ * \li Sample: Compare current document against last commit\n
+ vc-compare 0
+ * \li Sample: Compare current document against current revision - 5 commits\n
+ vc-compare -5
+ * \li Sample: Compare revisions 120 and 155\n
+ vc-compare 120 155
+ * \li Origin: sanda, 12 Feb 2010
+ * \endvar
+ */
+ { LFUN_VC_COMPARE, "vc-compare", ReadOnly, System },
/*!
* \var lyx::FuncCode lyx::LFUN_CHANGES_TRACK
* \li Origin: JSpitz, 7 Aug 2006
* \endvar
*/
- { LFUN_INSET_DISSOLVE, "inset-dissolve", Noop, Edit },
+ { LFUN_INSET_DISSOLVE, "inset-dissolve", AtPoint, 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|cite|ert|listings|external|graphics|
+ * \li Params: <INSET>: <bibitem|bibtex|cite|ert|listings|external|graphics|tabular
hyperlink|include|index|label|nomencl|vspace|ref|toc>\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
{ LFUN_INSET_INSERT, "inset-insert", Noop, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_INSET_MODIFY
- * \li Action: Modify existing inset.
+ * \li Action: Modify some properties of an inset.
* \li Notion: Used for bibitem, bibtex, box, branch, command, ert, external,
- floats, graphics, include, label, listings, note,
- phantom, ref, space, tabular, vspace, wrap insets.
+ floats, graphics, include, index, info, label,
+ listings, newline, newpage, nomencl, note, phantom,
+ ref, space, tabular, vspace, wrap insets.
* \li Syntax: inset-modify <INSET> <ARGS>
- * \li Params: See #LFUN_INSET_INSERT for further details.
- * \endvar
- */
- { LFUN_INSET_MODIFY, "", Noop, Hidden },
-/*!
- * \var lyx::FuncCode lyx::LFUN_NEXT_INSET_MODIFY
- * \li Action: Modify the inset at cursor position, if there is one.
- * \li Notion: Used for bibitem, bibtex, box, branch, command, ert, external,
- floats, graphics, include, label, listings, note,
- phantom, ref, space, tabular, vspace, wrap insets.
- * \li Syntax: next-inset-modify <INSET> <ARGS>
- * \li Syntax: next-inset-modify changetype <TYPE>
- * \li Params: See #LFUN_INSET_INSERT for further details.
- * \li Origin: JSpitzm, 23 Mar 2008
+ * \li Syntax: inset-modify changetype <TYPE>
+ * \li Syntax: inset-modify tabular <FEATURE> [<ARG>]
+ * \li Params: Generally see #LFUN_INSET_INSERT for further details.\n
+ In case that <INSET> is "tabular" various math-environment features
+ are handled as well, e.g. add-vline-left/right for the Grid/Array environment.\n
+ <FEATURE>: append-row|append-column|delete-row|delete-column|copy-row|copy-column|
+ toggle-line-top|toggle-line-bottom|toggle-line-left|toggle-line-right|
+ align-left|align-right|align-center|align-block|align-decimal|set-decimal-point|
+ valign-top|valign-bottom|valign-middle|longtabular-align-left|
+ longtabular-align-center|longtabular-align-right|m-align-left|m-align-right|
+ m-align-center|m-valign-top|m-valign-bottom|m-valign-middle|multicolumn|
+ set-all-lines|unset-all-lines|set-longtabular|unset-longtabular|set-pwidth|
+ set-mpwidth|set-rotate-tabular|unset-rotate-tabular|toggle-rotate-tabular|
+ set-rotate-cell|unset-rotate-cell|toggle-rotate-cell|set-usebox|set-lthead|
+ unset-lthead|set-ltfirsthead|unset-ltfirsthead|set-ltfoot|unset-ltfoot|
+ set-ltlastfoot|unset-ltlastfoot|set-ltnewpage|toggle-ltcaption|
+ set-special-column|set-special-multicolumn|set-special-multirow|
+ set-booktabs|unset-booktabs|set-top-space|set-bottom-space|
+ set-interline-space|set-border-lines|tabular-valign-top|
+ tabular-valign-middle|tabular-valign-bottom \n
+ <ARG>: additional argument for some commands, use debug mode to explore its values.
+ * \li Sample: inset-modify note Note Comment
+ * \li Sample: inset-modify changetype Ovalbox
* \endvar
*/
- { LFUN_NEXT_INSET_MODIFY, "next-inset-modify", Noop, Edit },
+ { LFUN_INSET_MODIFY, "inset-modify", AtPoint, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_INSET_DIALOG_UPDATE
* \li Action: Updates the values inside the dialog from the inset.
*/
{ LFUN_INSET_TOGGLE, "inset-toggle", ReadOnly | AtPoint, Edit },
/*!
- * \var lyx::FuncCode lyx::LFUN_ALL_INSETS_TOGGLE
- * \li Action: Toggles (open/closes) all collapsable insets (of a given type) in the document.
- * \li Notion: Used for box, branch, ert, float, listings, note, tabular, wrap insets.
- * \li Syntax: all-insets-toggle [<STATE>] [<INSET>]
- * \li Params: <STATE>: <toggle|open|close|assign> default: toggle \n
- <INSET>: <box|branch|ert|float|listings|note|tabular|wrap> default: all insets
- * \li Origin: leeming, 30 Mar 2004
- * \endvar
- */
- { LFUN_ALL_INSETS_TOGGLE, "all-insets-toggle", 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 10000.
+ 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 delete-char-forward \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_GRAPHICS_RELOAD
+ * \li Action: Reloads the image if necessary.
+ * \li Syntax: graphics-reload
+ * \li Origin: vfr, 10 Aug 2009
+ * \endvar
+ */
+ { LFUN_GRAPHICS_RELOAD, "graphics-reload", ReadOnly | AtPoint, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_SET_GRAPHICS_GROUP
* \li Action: Set the group for the graphics inset on the cursor position.
/*!
* \var lyx::FuncCode lyx::LFUN_TOOLBAR_TOGGLE
* \li Action: Toggles visibility of a given toolbar between on/off/auto.
- * \li Notion: Skiping "auto" when allowauto is false.
+ * \li Notion: Skipping "auto" when allowauto is false.
* \li Syntax: toolbar-toggle <NAME> [allowauto]
* \li Params: <NAME>: standard|extra|table|math|mathmacrotemplate|
- minibuffer|review|view/update|math_panels|vcs
+ minibuffer|review|view/update|math_panels|vcs|
+ view-others|update-others
* \li Origin: Edwin, 21 May 2007
* \endvar
*/
* \li Action: Shows hidden dialog or create new one for a given function/inset settings etc.
* \li Syntax: dialog-show <NAME> [<DATA>]
* \li Params: <NAME>: aboutlyx|bibitem|bibtex|box|branch|changes|character|citation|\n
- document|errorlist|ert|external|file|findreplace|findreplaceadv|float|graphics|\n
- href|include|index|index_print|info|label|listings|log|mathdelimiter|\n
- mathmatrix|mathspace|nomenclature|note|paragraph|phantom|prefs|print|ref|\n
- sendto|space|spellchecker|symbols|tabular|tabularcreate|thesaurus|texinfo|\n
- toc|view-source|vspace|wrap|<SPECIAL> \n
+ compare|document|errorlist|ert|external|file|findreplace|findreplaceadv|float|\n
+ graphics|href|include|index|index_print|info|label|listings|log|mathdelimiter|\n
+ mathmatrix|mathspace|nomenclature|nomencl_print|note|paragraph|phantom|prefs|\n
+ print|ref|sendto|space|spellchecker|symbols|tabular|tabularcreate|\n
+ thesaurus|texinfo|toc|view-source|vspace|wrap|<SPECIAL> \n
<SPECIAL>: latexlog|vclog \n
<DATA>: data, usually settings for the given dialog. Use debug mode for the
details.
line from LaTeX compilation. Note that before this function can be used
export to LaTeX output must occur (in order to map the row numbers).
* \li Syntax: server-goto-file-row <FILE[.ext]> <ROW_NUMBER>
- * \li Params: <FILE>: the filename. Environment variables are expaned in the path.
+ * \li Params: <FILE>: the filename. Environment variables are expanded in the path.
In case this LFUN does not work make sure you are giving correct
path to the file.\n
If the file is located inside LyX temporary directory it will be
mapped back into the appropriate opened buffer (e.g. for the case
of generated .tex file).
.ext: extensions will be automatically replaced by .lyx.
+ <ROW_NUMBER> The row number of the LaTeX file to which to go.
* \li Origin: Edmar, 23 Dec 1998
* \endvar
*/
- { LFUN_SERVER_GOTO_FILE_ROW, "server-goto-file-row", ReadOnly, System },
+ { LFUN_SERVER_GOTO_FILE_ROW, "server-goto-file-row", ReadOnly | NoBuffer, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_FORWARD_SEARCH
+ * \li Action: Sets the cursor position in the previewed (e.g. dvi) file based on the row
+ number in LyX window.
+ * \li Notion: The external program used for forward search call can be specified in
+ \forward_search_dvi and \forward_search_pdf RC settings.
+ By default, the value for pdf is empty, while for dvi it is\n
+ "xdvi -sourceposition $$n:$$t $$o"\n
+ The values replaced in the call: $$n for row number, $$t for
+ exported temporary .tex file, $$o exported output file, either
+ dvi or pdf, depending on which one exists in the temp dir
+ (preferred is dvi).
+ * \li Syntax: forward-search
+ * \li Origin: sanda, 14 Apr 2010
+ * \endvar
+ */
+ { LFUN_FORWARD_SEARCH, "forward-search", ReadOnly, System },
/*!
* \var lyx::FuncCode lyx::LFUN_SERVER_NOTIFY
* \li Action: Sends notify message about the last key-sequence to client.
* \endvar
*/
{ LFUN_BUFFER_TOGGLE_COMPRESSION, "buffer-toggle-compression", Noop, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_TOGGLE_OUTPUT_SYNC
+ * \li Action: Toggles including of resources for forward/reverse search of the given document.
+ * \li Notion: When toggled on, SyncTeX is invoked for PDF, while srcltx package
+ is used for DVI. Custom LaTeX macro can be defined in preferences.
+ * \li Syntax: buffer-toggle-output-sync
+ * \li Origin: sanda, 25 May 2010
+ * \endvar
+ */
+ { LFUN_BUFFER_TOGGLE_OUTPUT_SYNC, "buffer-toggle-output-sync", Noop, System },
/*!
* \var lyx::FuncCode lyx::LFUN_BUFFER_CLOSE
* \li Action: Closes the current buffer.
* \endvar
*/
{ LFUN_BUFFER_CLOSE, "buffer-close", ReadOnly, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BUFFER_CLOSE_ALL
+ * \li Action: Closes all buffers.
+ * \li Notion: Closes all buffers, asking whether to save it, etc,
+ if a buffer has been modified.
+ * \li Syntax: buffer-close-all
+ * \endvar
+ */
+ { LFUN_BUFFER_CLOSE_ALL, "buffer-close-all", ReadOnly, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_BUFFER_EXPORT
* \li Action: Exports the current buffer (document) to the given format.
{ LFUN_BUFFER_RELOAD, "buffer-reload", ReadOnly, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_BUFFER_SWITCH
- * \li Action: Switch to the given buffer.
- * \li Notion: This is useful also in case you need simultaneously more views of the edited
- document in different LyX windows.
- * \li Syntax: buffer-new-template <BUFFER>
- * \li Params: <BUFFER>: already opened document which is to be shown.
+ * \li Action: Display/switch to the given buffer.
+ * \li Syntax: buffer-switch <BUFFER>
+ * \li Params: <BUFFER>: path and filename of already opened (but possibly hidden)
+ document which is to be shown.
* \endvar
*/
{ LFUN_BUFFER_SWITCH, "buffer-switch", NoBuffer | ReadOnly, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_BUFFER_TOGGLE_READ_ONLY
* \li Action: Toggle editing mode of the current document between read/write and read-only.
- * \li Notion: In the ->Readonly mode checks-in/commits the data if the file is under version control.
- In the Readonly-> mode checkouts the data from repository. \n
- If these operations fail, buffer won't be toggled.
+ * \li Notion: This function is not allowed if the file is under version control, since
+ read-only flag is often used in version control file locking.
* \li Syntax: buffer-toggle-read-only
* \li Origin: Lgb, 27 May 1997
* \endvar
* \li Origin: leeming, 30 Mar 2004
* \endvar
*/
- { LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", Noop, Buffer },
+ { LFUN_BUFFER_PARAMS_APPLY, "buffer-params-apply", NoInternal, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_FILE_INSERT
/*!
* \var lyx::FuncCode lyx::LFUN_COMMAND_EXECUTE
- * \li Action: Opens the minibuffer toolbar so that the user can type in there.
+ * \li Action: Switches the focus to the minibuffer so that the user can type
+ in there. If necessary, it opens the minibuffer toolbar.
* \li Notion: Usually bound to M-x shortcut.
* \li Syntax: command-execute
* \endvar
*/
{ LFUN_COMMAND_EXECUTE, "command-execute", NoBuffer, Edit },
+
/*!
* \var lyx::FuncCode lyx::LFUN_COMMAND_PREFIX
* \li Action: Return the current key sequence and available options as a string.
* \endvar
*/
{ LFUN_MESSAGE, "message", NoBuffer, System },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_DEBUG_LEVEL_SET
+ * \li Action: Set debug output level.
+ * \li Syntax: debug-level-set <LEVEL>
+ * \li Params: <LEVEL>: comma separated list of levels or the correspondent number
+ of their combination. 0 is equivalent to disabling all debug
+ events. See lyx -dbg for the current list of debug levels
+ and their numbers.
+ * \li Origin: sanda, 28 Dec 2009
+ * \endvar
+ */
+ { LFUN_DEBUG_LEVEL_SET, "debug-level-set", NoBuffer, System },
+
/*!
* \var lyx::FuncCode lyx::LFUN_PREFERENCES_SAVE
* \li Action: Save user preferences.
/*!
* \var lyx::FuncCode lyx::LFUN_COMPLETION_CANCEL
- * \li Action: Try to cancel completion, either the popup or the inline completion
+ * \li Action: Try to cancel completion, either the popup or the inline completion.
* \li Syntax: completion-cancel
* \li Origin: sts, Sep 07 2008
* \endvar
{ LFUN_COMPLETION_ACCEPT, "completion-accept", SingleParUpdate, Edit },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_ADD
+ * \li Action: Add a branch to the buffer's BranchList.
+ * \li Syntax: branch-add <BRANCH>
+ * \li Params: <BRANCH>: Name of the branch to add
+ * \li Origin: spitz, 7 Jul 2009
+ * \endvar
+ */
+ { LFUN_BRANCH_ADD, "branch-add", Noop, Buffer },
+
+
/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_ACTIVATE
- * \li Action: Activate the branch
+ * \li Action: Activate the branch.
* \li Syntax: branch-activate <BRANCH>
* \li Params: <BRANCH>: The branch to activate
* \li Sample: lyx -x "branch-activate answers" -e pdf2 finalexam.lyx \n
{ LFUN_BRANCH_ACTIVATE, "branch-activate", AtPoint, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_DEACTIVATE
- * \li Action: De-activate the branch
+ * \li Action: De-activate the branch.
* \li Syntax: branch-deactivate <BRANCH>
* \li Params: <BRANCH>: The branch to deactivate
* \li Origin: rgh, 27 May 2008
*/
{ LFUN_BRANCH_DEACTIVATE, "branch-deactivate", AtPoint, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCHES_RENAME
+ * \li Action: Rename all branches of a given name in a document.
+ * \li Syntax: branches-rename <OLDNAME> <NEWNAME>
+ * \li Params: <OLDNAME>: Current name of the branch to be renamed
+ * <NEWNAME>: New name of the branch
+ * \li Origin: spitz, 9 Jul 2009
+ * \endvar
+ */
+ { LFUN_BRANCHES_RENAME, "branches-rename", Noop, Buffer },
+/*!
+ * \var lyx::FuncCode lyx::LFUN_BRANCH_ADD_INSERT
+ * \li Action: Create new branch and directly put the branch inset into
+ the document.
+ * \li Syntax: branch-add-insert [<NAME>]
+ * \li Params: <NAME>: Branch name. If it is not specified, you will be asked.
+ * \li Origin: sanda, 10 Jul 2009
+ * \endvar
+ */
+ { LFUN_BRANCH_ADD_INSERT, "branch-add-insert", Noop, Buffer },
+
+
/*!
* \var lyx::FuncCode lyx::LFUN_LABEL_COPY_AS_REF
* \li Action: Copies the label at the cursor as a cross-reference to be pasted elsewhere.
* \li Origin: sts, 16 Nov 2008
* \endvar
*/
- { LFUN_LABEL_COPY_AS_REF, "copy-label-as-reference", ReadOnly | NoUpdate, Edit },
+ { LFUN_LABEL_COPY_AS_REF, "copy-label-as-reference",
+ ReadOnly | NoUpdate | AtPoint, Edit },
/*!
* \var lyx::FuncCode lyx::LFUN_LABEL_INSERT_AS_REF
{ LFUN_BUFFER_ZOOM_OUT, "buffer-zoom-out", ReadOnly, Buffer },
/*!
- * \var lyx::FuncCode lyx::LFUN_SECTION_SELECT
- * \li Action: Selects the whole section.
- * \li Notion: The cursor should be in a section heading
- before calling this lfun.
- * \li Syntax: section-select
- * \li Origin: vfr, 05 May 2009
+ * \var lyx::FuncCode lyx::LFUN_INSET_COPY_AS
+ * \li Action: Copies the inset to the clipboard as a certain type
+ * \li Syntax: inset-copy-as [<TYPE>]
+ * \li Params: <TYPE>: The type as which the inset is copied. This
+ can vary from inset to inset.
+ * \li Sample: InsetInfo is copied as text
+ * \li Origin: vfr, 18 Apr 2010
* \endvar
*/
- { LFUN_SECTION_SELECT, "section-select", ReadOnly, Edit },
+ { LFUN_INSET_COPY_AS, "inset-copy-as", ReadOnly | NoUpdate | AtPoint, Edit },
{ LFUN_NOACTION, "", Noop, Hidden }
#ifndef DOXYGEN_SHOULD_SKIP_THIS
};
- for (int i = 0; items[i].action != LFUN_NOACTION; ++i) {
+ for (int i = 0; items[i].action != LFUN_NOACTION; ++i)
newFunc(items[i].action, items[i].name, items[i].attrib, items[i].type);
- }
init = true;
}
}
-// Returns an action tag from a string.
FuncRequest LyXAction::lookupFunc(string const & func) const
{
string const func2 = trim(func);
- if (func2.empty()) {
+ if (func2.empty())
return FuncRequest(LFUN_NOACTION);
- }
string cmd;
string const arg = split(func2, cmd, ' ');
- func_map::const_iterator fit = lyx_func_map.find(cmd);
+ FuncMap::const_iterator const fit = lyx_func_map.find(cmd);
- return fit != lyx_func_map.end() ? FuncRequest(fit->second, arg) : FuncRequest(LFUN_UNKNOWN_ACTION);
+ return fit != lyx_func_map.end()
+ ? FuncRequest(fit->second, arg)
+ : FuncRequest(LFUN_UNKNOWN_ACTION);
}
string const LyXAction::getActionName(FuncCode action) const
{
- info_map::const_iterator const it = lyx_info_map.find(action);
+ InfoMap::const_iterator const it = lyx_info_map.find(action);
return it != lyx_info_map.end() ? it->second.name : string();
}
-LyXAction::func_type LyXAction::getActionType(FuncCode action) const
+LyXAction::FuncType LyXAction::getActionType(FuncCode action) const
{
- info_map::const_iterator const it = lyx_info_map.find(action);
+ InfoMap::const_iterator const it = lyx_info_map.find(action);
return it != lyx_info_map.end() ? it->second.type : Hidden;
}
bool LyXAction::funcHasFlag(FuncCode action,
- LyXAction::func_attrib flag) const
+ LyXAction::FuncAttribs flag) const
{
- info_map::const_iterator ici = lyx_info_map.find(action);
+ InfoMap::const_iterator ici = lyx_info_map.find(action);
if (ici == lyx_info_map.end()) {
LYXERR0("action: " << action << " is not known.");
}
-LyXAction::const_func_iterator LyXAction::func_begin() const
+LyXAction::const_iterator LyXAction::func_begin() const
{
return lyx_func_map.begin();
}
-LyXAction::const_func_iterator LyXAction::func_end() const
+LyXAction::const_iterator LyXAction::func_end() const
{
return lyx_func_map.end();
}