In mp.repeated_words, really add the first word to mp.word_color.
[mp-5.x.git] / doc / mp_actions.txt
blobeddff0cf849abfe7307c9ee9cd73bd9850d82205
1 Minimum Profit Action Reference
2 ===============================
4 Minimum Profit _actions_ are editor commands that can be directly
5 bound to the menu or a key.
7 about
8 -----
10 _About..._
12 Shows the "About Minimum Profit" information.
14 build
15 -----
17 _Build project..._ (`f2')
19 Invokes the building of a Make project. If the `Makefile' file exists in the
20 working directory, all targets are extracted from it and shown in a list dialog
21 for the user to select one. The selected one will be called as the only argument
22 for the `make' program and its output read. All output will be catched and shown
23 in a read-only document. Compiler errors and warnings will be highlighted and
24 can be navigated by using the `seek_next' and `seek_prev' actions (keys `f3' and
25 `ctrl-f3'). The `open_under_cursor' action can be used to edit each error or warning.
27 close
28 -----
30 _Close_ (`ctrl-w')
32 Closes the active document. If there are unsaved changes, a confirmation dialog
33 is shown.
35 close_all
36 ---------
38 _Close all_
40 Closes all open documents.
42 complete
43 --------
45 _Complete..._ (`ctrl-u')
47 Takes the (probably partial) word under the cursor and searches for words in
48 the current document that start with it. If more than one is found, a list dialog
49 is shown to make a selection. The word will be replaced with the selected one.
51 complete_symbol
52 ---------------
54 _Symbol completion..._
56 Uses a similar approach than the `complete' action, but using the current _tags_
57 file as the completion list. If no _tags_ file exist in the working directory,
58 the *ctags* program is invoked to build it.
60 For other uses of the _tags_ file, see `find_tag'.
62 copy_mark
63 ---------
65 _Copy block_ (`ctrl-c')
67 Copies the currently selected block to the clipboard.
69 cut_mark
70 --------
72 _Cut block_ (`ctrl-x')
74 Copies the currently selected block to the clipboard and deletes the block.
76 delete
77 ------
79 _Delete character_ (`delete')
81 Delete the character over the cursor.
83 delete_left
84 -----------
86 _Delete character to the left_ (`backspace')
88 Deletes the character to the left of the cursor.
90 delete_line
91 -----------
93 _Delete line_ (`ctrl-y')
95 Deletes the line under the cursor.
97 document_list
98 -------------
100 _Document list_
102 Shows a dialog with the list of currently open documents. The list cursor will
103 be over the active one and the documents with pending modifications will be
104 prefixed with an asterisk. Selecting a different one will make it become the
105 active.
107 encoding
108 --------
110 _Set charset encoding..._
112 Shows a dialog asking for a string describing the charset encoding that will
113 be used when saving or opening new documents. If an empty string is entered,
114 the current locale will be used. the following set of character encodings are
115 always available:
117  * utf8.
118    Aliases are utf-8, UTF8 and UTF-8.
119  * iso8859-1.
120    Aliases are iso-8859-1, ISO-8859-1, ISO8859-1, latin1, latin-1, LATIN1 and LATIN-1.
121  * utf16 (with endianness detection on input and local endianness on output).
122    Aliases are utf-16, UTF16, UTF-16, ucs-2, UCS2, UCS-2.
123  * utf16be (big endian).
124    Aliases are utf-16be, UTF16BE, UTF-16BE, ucs2be, UCS2BE, ucs-2be and UCS-2BE.
125  * utf16le (little endian).
126    Aliases are utf-16le, UTF16LE, UTF-16LE, ucs2le, UCS2LE, ucs-2le and UCS-2LE.
127  * utf32 (with endianness detection on input and local endianness on output).
128    Aliases are utf-32, UTF32, UTF-32, ucs-4, ucs4, UCS-4 and UCS4.
129  * utf32be (big endian).
130    Aliases are utf-32be, UTF32BE, UTF-32BE, ucs4be, UCS4BE, ucs-4be and UCS-4BE.
131  * utf32le (little endian).
132    Aliases are utf-42le, UTF42LE, UTF-42LE, ucs4le, UCS4LE, ucs-4le and UCS-4LE.
134 If the 'iconv' library is available, there can be many more encodings.
136 eval
137 ----
139 _Execute MPSL code..._ (`escape')
141 Shows a dialog asking for a string of MPSL code that will be executed.
143 eval_doc
144 --------
146 _Execute document as MPSL_
148 Executes the active document as MPSL code.
150 exec_command
151 ------------
153 _Run system command..._
155 Shows a dialog asking for a system command to execute. If the command is
156 preceded by the pipe symbol (|), the active document will be fed as the
157 standard input of the command; otherwise, the standard output of the command
158 will be inserted in the cursor position.
160 exit
161 ----
163 _Exit_ (`ctrl-q')
165 Closes all documents and exists Minimum Profit.
167 find_tag
168 --------
170 _Search tag..._ (`ctrl-t')
172 Shows a dialog asking for a tag to search. The _tags_ file will be read from
173 the working directory and the tag searched there; all symbols starting with it
174 will be shown in a list dialog. When selecting a tag from that list, the file
175 containing it will be open and the cursor moved to where the tag is.
176 This is a useful way of finding where a function or variable is defined.
178 If no _tags_ file exist in the working directory, the *ctags* program is
179 invoked to build it.
181 For other uses of the _tags_ file, see `complete_symbol'.
183 goto
184 ----
186 _Go to line..._ (`ctrl-g')
188 Shows a dialog asking for a line number. If accepted, the current document
189 cursor will move to that line (if existent).
191 grep
192 ----
194 _Grep (find inside) files..._
196 Shows a dialog asking for a string to be searched, and an optional spec of
197 files to search the string in. If no spec is given, all files in the working
198 directory are scanned. Matches are shown in a read-only document, and each
199 match can be directly open by using the 'open_under_cursor' action.
201 This is a useful way to find where a function or variable is used.
203 help
204 ----
206 _Help on word over cursor_ (`f1')
208 Picks the word under the cursor and asks the underlying system for help
209 about that term.
211 ignore_last_misspell
212 --------------------
214 _Ignore last misspelled word_
216 Ignores the last misspelled word found by `seek_misspelled' by adding it
217 to a whitelist so it won't be found again.
219 insert_line
220 -----------
222 _Insert line_ (`enter')
224 Inserts a new line. If the cursor is in the middle of a line,
225 it's split in two.
227 insert_space
228 ------------
230 _Insert space_ (`space')
232 Inserts a space, triggering word wrapping, if active.
234 insert_tab
235 ----------
237 _Insert tab_ (`tab')
239 Inserts a tabulator, triggering word wrapping, if active.
241 insert_template
242 ---------------
244 _Insert template..._
246 Shows a list dialog with the names of the templates for the user to
247 select one, that will be inserted in the cursor position.
249 join_paragraph
250 --------------
252 _Join a paragraph in one line_ (`f6')
254 Joins the text from the cursor position to the next empty line as one
255 paragraph.
257 line_options
258 ------------
260 _Line options..._
262 Shows a dialog asking for line configuration options, like word wrapping,
263 end of line string, etc.
265 load_session
266 ------------
268 _Load session_
270 Loads a session, previously saved by `save_session'.
272 mark
273 ----
275 _Mark beginning/end of block_ (`f9')
277 Marks the beginning or the end of the block.
279 mark_vertical
280 -------------
282 _Mark vertical block_ (`ctrl-b')
284 Marks the beginning or the end of a vertical (also known as
285 rectangular) block.
287 menu
288 ----
290 _Menu_ (`ctrl-a')
292 Calls the menu.
294 mouse_drag_mark
295 ---------------
297 _Mark using mouse dragging_ (`mouse-drag')
299 This action is called by the underlying driver when the mouse is used to drag
300 over text. It must not be called nor bound to a key.
302 move_bof
303 --------
305 _Beginning of document_ (`ctrl-home')
307 Moves the cursor to the beginning of the document (first line, first column).
309 move_bol
310 --------
312 _Beginning of line_ (`home')
314 Moves the cursor to the beginning of the current line (first column).
316 move_down
317 ---------
319 _Line down_ (`cursor-down')
321 Moves the cursor to the next line.
323 move_eof
324 --------
326 _End of document_ (`ctrl-end')
328 Moves the cursor to the last line of the document.
330 move_eol
331 --------
333 _End of line_ (`end')
335 Moves the cursor to the end of the current line.
337 move_left
338 ---------
340 _Character left_ (`cursor-left')
342 Moves the cursor one character to the left. If it's in the beginning of
343 a line, moves to the last character of the previous line.
345 move_mouse_wheel_down
346 ---------------------
348 _Mouse wheel down_ (`mouse-wheel-down')
350 Moves the cursor four lines down.
352 move_mouse_wheel_up
353 -------------------
355 _Mouse wheel up_ (`mouse-wheel-up')
357 Moves the cursor four lines up.
359 move_pgdn
360 ---------
362 _Page down_ (`page-down')
364 Moves the cursor a page down.
366 move_pgup
367 ---------
369 _Page up_ (`page-up')
371 Moves the cursor a page up.
373 move_right
374 ----------
376 _Character right_ (`cursor-right')
378 Moves the cursor one character to the right. If it's over the end of
379 the line, moves to the first character of the next line.
381 move_to_mouse_position
382 ----------------------
384 _Move cursor to mouse click_ (`mouse_left_button', `mouse_right_button', `mouse-middle-button')
386 Moves the cursor to where the mouse is. This action is called by the
387 underlying system and must not be directly called nor bound to a key.
389 move_up
390 -------
392 _Line up_ (`cursor-up')
394 Moves the cursor to the previous line.
396 move_word_left
397 --------------
399 _Word left_ (`ctrl-cursor-left')
401 Moves the cursor to the beginning of the previous word.
403 move_word_right
404 ---------------
406 _Word right_ (`ctrl-cursor-right')
408 Moves the cursor to the beginning of the next word.
413 _New_
415 Creates a new unnamed document.
417 next
418 ----
420 _Next_ (`ctrl-n')
422 Select the next document as the active one. The list of documents
423 is circular; if the active one is the last, the first one is selected.
425 open
426 ----
428 _Open..._ (`ctrl-o')
430 Shows a dialog to open a file. Its behaviour and look are system-dependent.
432 If the document to be opened is password-protected, a dialog asking for the
433 password will also appear.
435 open_config_file
436 ----------------
438 _Edit configuration file_
440 Opens the user configuration file for editing. It doesn't have to exist.
442 open_templates_file
443 -------------------
445 _Edit templates file_
447 Opens the templates file for edition. Templates defined here can be later
448 inserted by calling `insert_template'. See the `mp_templates.sample' file
449 included in the documentation for an example of the accepted format.
451 open_under_cursor
452 -----------------
454 _Open file under cursor_ (`ctrl-enter')
456 Picks the word in the current document under the cursor, accepts it as
457 a document name and tries to open it. If it's in the format string:number,
458 is accepted as a file name and a line number.
460 paste_mark
461 ----------
463 _Paste block_ (`ctrl-v')
465 Pastes the text in the clipboard into the cursor position.
467 play_macro
468 ----------
470 _Play macro_ (`f7')
472 Replays all keystrokes recorded during the previous _learning mode_,
473 activated by a call to `record_macro'.
475 prev
476 ----
478 _Previous_
480 Select the previous document as the active one. The list of documents
481 is circular; if the active one is the first, the last one is selected.
483 record_macro
484 ------------
486 _Record macro_ (`f10')
488 Toggles _learning mode_. When active, all keystrokes are recorded to
489 further execute them by a call to `play_macro'.
491 redo
492 ----
494 _Redo_
496 Redoes the previously undone operation, if any.
498 replace
499 -------
501 _Replace..._ (`ctrl-r')
503 Shows the search and replace dialog box.
505 revert
506 ------
508 _Revert_
510 Reverts the active document to the state on disk.
512 save
513 ----
515 _Save..._ (`ctrl-s')
517 Saves the active document. If it's unnamed, `save_as' is called instead.
519 save_as
520 -------
522 _Save as..._
524 Shows a dialog asking for a file name to save the current document as.
525 Its behaviour and look are system-dependent.
527 save_session
528 ------------
530 _Save session_
532 Saves all documents and its positions as a session to be later loaded
533 by `load_session'.
535 section_list
536 ------------
538 _Section list..._ (`ctrl-d')
540 Shows a list with the sections found in the current document. Selecting
541 one of them moves the cursor there.
543 seek
544 ----
546 _Search text..._ (`ctrl-f')
548 Shows the search text dialog.
550 seek_misspelled
551 ---------------
553 _Search misspelled word_ (`ctrl-f7')
555 Searches for the next misspelled word in the current document. If one
556 is found, the cursor is moved there. If it's a false positive, the
557 `ignore_last_misspell' action can be called to add the recently found
558 word to a whitelist so it won't be found again.
560 seek_next
561 ---------
563 _Search next_ (`f3')
565 Searches the next occurrence of the string entered by the `seek' action.
567 seek_next_char
568 --------------
570 _Move to next instance of current char_ (`ctrl-page-down')
572 Searches for the next occurrence of the char under the cursor. This is
573 useful, for instance, to jump to the next paren or brace.
575 seek_prev
576 ---------
578 _Search previous_ (`ctrl-f3')
580 Same as `seek_next', but searching backwards.
582 seek_prev_char
583 --------------
585 _Move to previous instance of current char_ (`ctrl-page-up')
587 Searches for the previous occurrence of the char under the cursor. This is
588 useful, for instance, to jump to the previous paren or brace.
590 set_password
591 ------------
593 _Password protect..._
595 Shows a dialog asking (twice) for a password to protect the active document with
596 when it's saved. From that moment on, each time the document is tried to open
597 the password will be asked for.
599 Minimum Profit encrypts documents using a variant of the ARCFOUR algorithm.
601 sync
602 ----
604 _Save modified texts_
606 Saves all texts with pending modifications.
608 tab_options
609 -----------
611 _Tab options..._
613 Shows a dialog asking for tabulator configuration options, like tab size,
614 convert to spaces, etc.
616 toggle_spellcheck
617 -----------------
619 _Toggle spellchecking_
621 toggles spellchecking. When active, misspelled words will be shown underlined.
623 undo
624 ----
626 _Undo_ (`ctrl-z')
628 Undoes the last operation.
630 unmark
631 ------
633 _Unmark block_ (`f8')
635 Unmarks the selected block.
637 word_count
638 ----------
640 _Count words_
642 Counts the number of words and lines in the active document.
644 word_wrap_paragraph
645 -------------------
647 _Word-wrap a paragraph_ (`f4')
649 Rebuilds the text from the cursor position to the following empty
650 line using the wordwrapping setup. Wordwrapping must be set (see
651 `line_options').
653 zoom_in
654 -------
656 _Bigger font_ (`f12')
658 Selects a bigger font (only for GUIs).
660 zoom_out
661 --------
663 _Smaller font_ (`f11')
665 Selects a smaller font (only for GUIs).
668 ----
669 Angel Ortega <angel@triptico.com>