PageRenderTime 136ms CodeModel.GetById 119ms app.highlight 11ms RepoModel.GetById 1ms app.codeStats 0ms

/jEdit/tags/jedit-4-5-pre1/doc/users-guide/macro-index.xml

#
XML | 802 lines | 596 code | 200 blank | 6 comment | 0 complexity | e4251d3f68b7bea7be86f456e772e354 MD5 | raw file
  1<?xml version="1.0" encoding="UTF-8"?>
  2<appendix id="macro-index">
  3    <title>Macros Included With jEdit</title>
  4    <!-- jEdit 4.0 Macro Guide, (C) 2001 John Gellene      -->
  5    <!-- jEdit 4.4 Macro Guide, (C) 2010 jedit-devs        -->
  6    <!-- jEdit buffer-local properties:                    -->
  7    <!-- :indentSize=2:noTabs=yes:maxLineLen=80:tabSize=2: -->
  8    <!-- :xml.root=users-guide.xml:                        -->
  9    <!-- covers index to installed macro set               -->
 10
 11    <para>jEdit comes with a large number of sample macros that perform a
 12    variety of tasks. The following index provides short descriptions of each
 13    macro, in some cases accompanied by usage notes.</para>
 14
 15    <para>In addition to the macros included with jEdit, a very large collection
 16    of user-contributed macros is available in the <quote>Downloads</quote>
 17    section of the <ulink
 18    url="http://community.jedit.org">community.jedit.org</ulink> web site. There
 19    are detailed descriptions for each macro as well as a search
 20    facility.</para>
 21
 22    <section id="macros-c" >
 23        <title>C/C++ macros </title>
 24         <para> These macros are useful for C/C++ programming. </para>
 25         <itemizedlist>
 26         <listitem><para> <filename>Include_Guard.bsh</filename> </para>
 27         <para> Inserts conditional preprocessor directives around a header
 28         file, to prevent it from being included multiple times. </para>
 29         <para>The name of the generated preprocessor macro is based on the
 30          buffer's name. </para>
 31        </listitem>
 32
 33         <listitem><para><filename> Toggle_Header_Source</filename></para>
 34         <para> Toggles between the header and the implementation file. Works for .c, .cxx, and .cpp extensions. </para>
 35         </listitem>
 36         </itemizedlist>
 37    </section>
 38
 39
 40    <section id="macros-clipboard">
 41        <title>Clipboard Macros</title>
 42
 43        <para>These macros copy or cut text to the clipboard.</para>
 44
 45        <itemizedlist>
 46            <listitem>
 47                <para><filename>Copy_Lines_Containing.bsh</filename></para>
 48
 49                <para>Copies all lines from the current buffer, containing a
 50                user-supplied string, to the clipboard.</para>
 51            </listitem>
 52
 53            <listitem>
 54                <para><filename>Cut_Lines_Containing.bsh</filename></para>
 55
 56                <para>Cuts all lines from the current buffer, containing a
 57                user-supplied string, to the clipboard.</para>
 58            </listitem>
 59
 60            <listitem>
 61                <para><filename>Copy_Selection_or_Line.bsh</filename></para>
 62
 63                <para>If no text is selected, the current line is copied to the
 64                clipboard, otherwise the selected text is copied to the
 65                clipboard. Some editors have this has the default copy behavior.
 66                To achieve the same effect in jEdit, bind this macro to
 67                <keycap>C+c</keycap> in the <guibutton>Shortcuts</guibutton>
 68                pane of the <guimenu>Utilities</guimenu>&gt;<guimenuitem>Global
 69                Options</guimenuitem> dialog box.</para>
 70            </listitem>
 71
 72            <listitem>
 73                <para><filename>Cut_Selection_or_Line.bsh</filename></para>
 74
 75                <para>If no text is selected, the current line is cut to the
 76                clipboard, otherwise the selected text is cut to the clipboard.
 77                Some editors have this has the default cut behavior. To achieve
 78                the same effect in jEdit, bind this macro to
 79                <keycap>C+x</keycap> in the <guibutton>Shortcuts</guibutton>
 80                pane of the <guimenu>Utilities</guimenu>&gt;<guimenuitem>Global
 81                Options</guimenuitem> dialog box.</para>
 82            </listitem>
 83
 84            <listitem>
 85                <para><filename>Copy_Visible_Lines.bsh</filename></para>
 86
 87                <para>Copies the visible lines from the current buffer to the
 88                Clipboard. Lines that are not visible becuase they are folded
 89                are not copied.</para>
 90            </listitem>
 91
 92            <listitem>
 93                <para><filename>Paste_Indent.bsh</filename></para>
 94
 95                <para>Pastes the content of the clipboard and indents it.</para>
 96            </listitem>
 97        </itemizedlist>
 98    </section>
 99
100    <section id="macros-editing">
101        <title>Editing Macros</title>
102
103        <para>These macros automate various text editing tasks.</para>
104
105        <itemizedlist>
106            <listitem>
107                <para><filename>Duplicate_Lines_Above.bsh</filename></para>
108
109                <para>Duplicates current/selected line(s) upward.</para>
110            </listitem>
111
112            <listitem>
113                <para><filename>Duplicate_Lines_Below.bsh</filename></para>
114
115                <para>Duplicates current/selected line(s) downward.</para>
116            </listitem>
117
118            <listitem>
119                <para><filename>Emacs_Ctrl-K.bsh</filename></para>
120
121                <para>Cuts and appends text, from the cursor to the end of the
122                line, into the copy buffer.</para>
123            </listitem>
124
125            <listitem>
126                <para><filename>Emacs_Next_Line.bsh</filename></para>
127
128                <para>Moves the cursor to the next line, centering the current
129                line in the middle of the text area if the cursor is at the
130                bottom of the text area.</para>
131            </listitem>
132
133            <listitem>
134                <para><filename>Emacs_Previous_Line.bsh</filename></para>
135
136                <para>Moves the cursor to the previous line, centering the
137                current line in the middle of the text area if the cursor is at
138                the top of the text area.</para>
139            </listitem>
140
141            <listitem>
142                <para><filename>Go_to_Column.bsh</filename></para>
143
144                <para>Prompts the user for a column position on the current
145                line, then moves the caret there.</para>
146            </listitem>
147
148            <listitem>
149                <para><filename>Greedy_Backspace.bsh</filename></para>
150
151                <para>If buffer is using soft tabs, this macro will backspace to
152                the previous tab stop, if all characters between the caret and
153                the tab stop are spaces. In all other cases a single character
154                is removed.</para>
155            </listitem>
156
157            <listitem>
158                <para><filename>Greedy_Delete.bsh</filename></para>
159
160                <para>If a buffer is using soft tabs, this macro will delete
161                tabSize number of spaces, if all the characters between the
162                caret and the next tab stop are spaces. In all other cases a
163                single character is deleted.</para>
164            </listitem>
165
166            <listitem>
167                <para><filename>Greedy_Left.bsh</filename></para>
168
169                <para>If a buffer is using soft tabs, this macro will move the
170                caret tabSize spaces to the left, if all the characters between
171                the caret and the previous tab stop are all spaces. In all other
172                cases, the caret is moved a single character to the left.</para>
173            </listitem>
174
175            <listitem>
176                <para><filename>Greedy_Right.bsh</filename></para>
177
178                <para>If a buffer is using soft tabs, this macro will move the
179                caret tabSize spaces to the right, if all the characters between
180                the caret and the next tab stop are all spaces. In all other
181                cases, the caret is moved a single character to the
182                right.</para>
183            </listitem>
184
185            <listitem>
186                <para><filename>Keywords_to_Upper_Case.bsh</filename></para>
187
188                <para>Converts all keywords in the current buffer to upper
189                case.</para>
190            </listitem>
191
192            <listitem>
193                <para><filename>Mode_Switcher.bsh</filename></para>
194
195                <para>Displays a modal dialog with the current buffer's mode in
196                a text field, allowing one to change the mode by typing in its
197                name.</para>
198
199                <para><keycap>ENTER</keycap> selects the current mode; if the
200                text is not a valid mode, the dialog still dismisses, but a
201                warning is logged to the activity log. <keycap>ESACPE</keycap>
202                closes the dialog with no further action. <keycap>TAB</keycap>
203                attempts to auto-complete the mode name. Pressing
204                <keycap>TAB</keycap> repeatedly cycles through the possible
205                completions. <keycap>SHIFT-TAB</keycap> cycles through the
206                completions in reverse.</para>
207            </listitem>
208
209            <listitem>
210                <para><filename>Move_Line_Down.bsh</filename></para>
211
212                <para>Moves the current line down one, with automatic
213                indentation.</para>
214            </listitem>
215
216            <listitem>
217                <para><filename>Move_Line_Up.bsh</filename></para>
218
219                <para>Moves the current line up one, with automatic
220                indentation.</para>
221            </listitem>
222
223            <listitem>
224                <para><filename>Open_Line_Above.bsh</filename></para>
225
226                <para>Adds a new blank line before the current/selected line(s).</para>
227            </listitem>
228
229            <listitem>
230                <para><filename>Open_Line_Below.bsh</filename></para>
231
232                <para>Adds a new blank line after the current/selected line(s).</para>
233            </listitem>
234
235            <listitem>
236                <para><filename>Toggle_Fold.bsh</filename></para>
237
238                <para>Toggles visibility of current fold.</para>
239
240                <para>This is especially useful for fold toggling via keyboard.</para>
241            </listitem>
242        </itemizedlist>
243    </section>
244
245    <section id="macros-files">
246        <title>File Management Macros</title>
247
248        <para>These macros automate the opening and closing of files.</para>
249
250        <itemizedlist>
251            <listitem>
252                <para><filename>Browse_Buffer_Directory.bsh</filename></para>
253
254                <para>Opens a the current buffer's directory in the file system
255                browser.</para>
256            </listitem>
257
258            <listitem>
259                <para><filename>Browse_Directory.bsh</filename></para>
260
261                <para>Opens a directory supplied by the user in the file system
262                browser.</para>
263            </listitem>
264
265            <listitem>
266                <para><filename>Buffer_Switcher.bsh</filename></para>
267
268                <para>Displays a modal dialog listing all open buffers, allowing
269                one to switch to and/or close buffers. <keycap>ENTER</keycap>
270                switches to a buffer and closes the dialog,
271                <keycap>DELETE</keycap> closes a buffer, <keycap>SPACE</keycap>
272                switches to a buffer but does not close the dialog.</para>
273            </listitem>
274
275            <listitem>
276                <para><filename>Close_All_Except_Active.bsh</filename></para>
277
278                <para>Closes all files except the current buffer.</para>
279
280                <para>Prompts the user to save any buffer containing unsaved
281                changes.</para>
282            </listitem>
283
284            <listitem>
285                <para><filename>Copy_Path_to_Clipboad.bsh</filename></para>
286
287                <para>Copies the current buffer's path to the clipboard.</para>
288            </listitem>
289
290            <listitem>
291                <para><filename>Copy_Name_to_Clipboad.bsh</filename></para>
292
293                <para>Copies the current buffer's filename to the
294                clipboard.</para>
295            </listitem>
296
297            <listitem>
298                <para><filename>Duplicate_Buffer.bsh</filename></para>
299
300                <para>Duplicates the current buffer into a new one.</para>
301            </listitem>
302
303            <listitem>
304                <para><filename>Delete_Current.bsh</filename></para>
305
306                <para>Deletes the current buffer's file on disk, but doesn't
307                close the buffer.</para>
308            </listitem>
309
310            <listitem>
311                <para><filename>Glob_Close.bsh</filename></para>
312
313                <para>Closes all open buffers matching a given glob
314                pattern.</para>
315            </listitem>
316
317            <listitem>
318                <para><filename>Insert_Selection.bsh</filename></para>
319
320                <para>Assumes the current selection is file path and tries
321                replaces the selection with the contents of the file. Does
322                nothing if no text is selected or the selection spans multiple
323                lines.</para>
324            </listitem>
325
326            <listitem>
327                <para><filename>Next_Dirty_Buffer.bsh</filename></para>
328
329                <para>Switches to the next dirty buffer, if there is one.</para>
330            </listitem>
331
332            <listitem>
333                <para><filename>Open_Path.bsh</filename></para>
334
335                <para>Opens the file supplied by the user in an input
336                dialog.</para>
337            </listitem>
338
339            <listitem>
340                <para><filename>Open_Selection.bsh</filename></para>
341
342                <para>Opens the file named by the current buffer's selected
343                text.</para>
344            </listitem>
345
346            <listitem>
347                <para><filename>Send_Buffer_To_Next_Split.bsh</filename></para>
348
349                <para>If bufferset scope is set to EditPane, the current buffer
350                is added to the next Editpane's bufferset.</para>
351            </listitem>
352
353            <listitem>
354                <para><filename>Toggle_ReadOnly.bsh</filename></para>
355
356                <para>Toggles a local file's read-only flag. Uses
357                platform-specific commands, so it only works on Windows, Unix
358                and MacOS X.</para>
359            </listitem>
360        </itemizedlist>
361    </section>
362
363    <section id="macros-interface">
364        <title>User Interface Macros</title>
365
366        <para>Description.</para>
367
368        <itemizedlist>
369            <listitem>
370                <para><filename>Decrease_Font_Size.bsh</filename></para>
371
372                <para>Decreases the font size in the gutter and text area by 1
373                point.</para>
374            </listitem>
375
376            <listitem>
377                <para><filename>Increase_Font_Size.bsh</filename></para>
378
379                <para>Increases the font size in the gutter and text area by 1
380                point.</para>
381            </listitem>
382
383            <listitem>
384                <para><filename>Open_Context_Menu.bsh</filename></para>
385
386                <para>Opens the text area context menu just below and to the
387                right of the caret.</para>
388            </listitem>
389
390            <listitem>
391               <para><filename>Reset_TextArea.bsh</filename> </para>
392               <para>Performs a split and an unsplit of the current TextArea.
393	             Useful for those occasions when your textarea is corrupt
394	             (painting the incorrect characters on the screen).</para>
395             </listitem>
396
397            <listitem>
398               <para><filename>Splitpane_Grow.bsh</filename> </para>
399               <para>When inside a split EditPane, this macro moves the
400               splitter away from the cursor, effectively increasing the size of
401               the currently active split pane.</para>
402             </listitem>
403
404
405            <listitem>
406                <para><filename>Toggle_Bottom_Docking_Area.bsh</filename></para>
407
408                <para>Expands or collapses the bottom docking area, depending on
409                it's current state.</para>
410            </listitem>
411
412            <listitem>
413                <para><filename>Toggle_Left_Docking_Area.bsh</filename></para>
414
415                <para>Expands or collapses the left docking area, depending on
416                it's current state.</para>
417            </listitem>
418
419            <listitem>
420                <para><filename>Toggle_Right_Docking_Area.bsh</filename></para>
421
422                <para>Expands or collapses the right docking area, depending on
423                it's current state.</para>
424            </listitem>
425
426            <listitem>
427                <para><filename>Toggle_Top_Docking_Area.bsh</filename></para>
428
429                <para>Expands or collapses the top docking area, depending on
430                it's current state.</para>
431            </listitem>
432        </itemizedlist>
433    </section>
434
435    <section id="macros-java">
436        <title>Java Code Macros</title>
437
438        <para>These macros handle text formatting and generation tasks that are
439        particularly useful in writing Java code.</para>
440
441        <itemizedlist>
442            <listitem>
443                <para><filename>Create_Constructor.bsh</filename></para>
444
445                <para>Inserts constructor for the class at the current caret
446                position.</para>
447            </listitem>
448
449            <listitem>
450                <para><filename>Get_Class_Name.bsh</filename></para>
451
452                <para>Inserts a Java class name based upon the buffer's file
453                name.</para>
454            </listitem>
455
456            <listitem>
457                <para><filename>Get_Package_Name.bsh</filename></para>
458
459                <para>Inserts a plausible Java package name for the current
460                buffer.</para>
461
462                <para>The macro compares the buffer's path name with the
463                elements of the classpath being used by the jEdit session. An
464                error message will be displayed if no suitable package name is
465                found. This macro will not work if jEdit is being run as a JAR
466                file without specifying a classpath; in that case the classpath
467                seen by the macro consists solely of the JAR file.</para>
468            </listitem>
469
470            <listitem>
471                <para><filename>Java_File_Save.bsh</filename></para>
472
473                <abstract>
474                    <para>Acts as a wrapper script to the Save As action. If the
475                    buffer is a new file, it scans the first 250 lines for a
476                    Java class or interface declaration. On finding one, it
477                    extracts the appropriate filename to be used in the Save As
478                    dialog.</para>
479                </abstract>
480            </listitem>
481
482            <listitem>
483                <para><filename>Make_Get_and_Set_Methods.bsh</filename></para>
484
485                <para>Creates <function>getXXX()</function> or
486                <function>setXXX()</function> methods that can be pasted into
487                the buffer text.</para>
488
489                <para>This macro presents a dialog that will <quote>grab</quote>
490                the names of instance variables from the caret line of the
491                current buffer and paste a corresponding
492                <function>getXXX()</function> or <function>setXXX()</function>
493                method to one of two text areas in the dialog. The text can be
494                edited in the dialog and then pasted into the current buffer
495                using the <guilabel>Insert...</guilabel> buttons. If the caret
496                is set to a line containing something other than an instance
497                variable, the text grabbing routine is likely to generate
498                nonsense.</para>
499
500                <para>As explained in the notes accompanying the source code,
501                the macro uses a global variable which can be set to configure
502                the macro to work with either Java or C++ code. When set for use
503                with C++ code, the macro will also write (in commented text)
504                definitions of <function>getXXX()</function> or
505                <function>setXXX()</function> suitable for inclusion in a header
506                file.</para>
507            </listitem>
508
509            <listitem>
510                <para><filename>Preview_Javadoc_of_Buffer.bsh</filename></para>
511
512                <para>Create and display API documentation for the current
513                buffer.</para>
514
515                <para>The macro includes various configuration variables you can
516                change; see the comment at the beginning of the macro source for
517                details.</para>
518            </listitem>
519        </itemizedlist>
520    </section>
521
522    <section id="macros-misc">
523        <title>Miscellaneous Macros</title>
524
525        <para>While these macros do not fit easily into the other categories,
526        they all provide interesting and useful functions.</para>
527
528        <itemizedlist>
529            <listitem>
530                <para><filename>Buffer_to_HyperSearch_Results.bsh</filename></para>
531
532                <para>Reads HyperSearch results from a buffer that was
533                previously created by the HyperSearch_Results_to_Buffer macro and possibly
534                filtered manually, and imports them into the HyperSearch Results dockable.</para>
535            </listitem>
536
537            <listitem>
538                <para><filename>Debug_BufferSets.bsh</filename></para>
539
540                <para>Display int and hex values for the character at the caret,
541                in the status bar.</para>
542            </listitem>
543
544            <listitem>
545                <para><filename>Display_Abbreviations.bsh</filename></para>
546
547                <para>Displays the abbreviations registered for each of jEdit's
548                editing modes.</para>
549
550                <para>The macro provides a read-only view of the abbreviations
551                contained in the <quote>Abbreviations</quote> option pane.
552                Pressing a letter key will scroll the table to the first entry
553                beginning with that letter. A further option is provided to
554                write a selected mode's abbreviations or all abbreviations in a
555                text buffer for printing as a reference. Notes in the source
556                code listing point out some display options that are configured
557                by modifying global variables.</para>
558            </listitem>
559
560            <listitem>
561                <para><filename>Display_Actions.bsh</filename></para>
562
563                <para>Displays a list of all the actions known to jEdit
564                categorised by their action set.</para>
565
566                <para>This macro can be a useful reference if you want to use
567                the jEdit 4.2 action bar.</para>
568            </listitem>
569
570            <listitem>
571                <para><filename>Display_Character_Code.bsh</filename></para>
572
573                <para>Display int and hex values for the character at the caret,
574                in the status bar.</para>
575            </listitem>
576
577            <listitem>
578                <para><filename>Display_Shortcuts.bsh</filename></para>
579
580                <para>Displays a sorted list of the keyboard shortcuts currently
581                in effect.</para>
582
583                <para>The macro provides a combined read-only view of command,
584                macro and plugin shortcuts. Pressing a letter key will scroll
585                the table to the first entry beginning with that letter. A
586                further option is provided to write the shortcut assignments in
587                a text buffer for printing as a reference. Notes in the source
588                code listing point out some display options that are configured
589                by modifying global variables.</para>
590            </listitem>
591
592            <listitem>
593                <para><filename>Evaluate_Buffer_in_BeanShell.bsh</filename></para>
594
595                <para>Evaluates contents of current buffer as a BeanShell
596                script, and opens a new buffer to receive any text
597                output.</para>
598
599                <para>This is a quick way to test a macro script even before its
600                text is saved to a file. Opening a new buffer for output is a
601                precaution to prevent the macro from inadvertently erasing or
602                overwriting itself. BeanShell scripts that operate on the
603                contents of the current buffer will not work meaningfully when
604                tested using this macro.</para>
605            </listitem>
606
607            <listitem>
608                <para><filename>Hex_Convert.bsh</filename></para>
609
610                <para>Converts byte characters to their hex equivalent, and vice
611                versa.</para>
612            </listitem>
613
614            <listitem>
615                <para><filename>HyperSearch_Results_to_Buffer.bsh</filename></para>
616
617                <para>Writes HyperSeach results to a new buffer.</para>
618
619                <para>This buffer can be re-imported to the HyperSearch Results dockable
620                by the Buffer_to_HyperSearch_Results macro.</para>
621            </listitem>
622
623
624            <listitem>
625                <para><filename>Make_Bug_Report.bsh</filename></para>
626
627                <para>Creates a new buffer with installation and error
628                information extracted from the activity log.</para>
629
630                <para>The macro extracts initial messages written to the
631                activity log describing the user's operating system, JDK, jEdit
632                version and installed plugins. It then appends the last set of
633                error messages written to the activity log. The new text buffer
634                can be saved and attached to an email message or a bug report
635                made on SourceForge.</para>
636            </listitem>
637
638            <listitem>
639                <para><filename>Run_Script.bsh</filename></para>
640
641                <para>Runs script using interpreter based upon buffer's editing
642                mode (by default, determined using file extension). You must
643                have the appropriate interpreter (such as Perl, Python, or
644                Windows Script Host) installed on your system.</para>
645            </listitem>
646
647            <listitem>
648                <para><filename>Show_Threads.bsh</filename></para>
649
650                <para>Displays in a tree format all running Java threads of the
651                current Java Virtual Machine.</para>
652            </listitem>
653        </itemizedlist>
654    </section>
655
656    <section id="macros-properties">
657        <title>Property Macros</title>
658
659        <para>These macros produce lists or tables containing properties used by
660        the Java platform or jEdit itself.</para>
661
662        <itemizedlist>
663            <listitem>
664                <para><filename>Create_Plugin_Announcement.bsh</filename></para>
665
666                <para>Creates an announcement for the Plugin Central Submission Tracker
667                based on the plugins *.props and description.html files.</para>
668            </listitem>
669
670            <listitem>
671                <para><filename>Insert_Buffer_Properties.bsh</filename></para>
672
673                <para>Inserts buffer-local properties into the current
674                buffer.</para>
675
676                <para>If the buffer's mode has a line comment defined, or
677                comment start and end defined, the inserted properties will be
678                commented out.</para>
679            </listitem>
680
681            <listitem>
682                <para><filename>jEdit_Properties.bsh</filename></para>
683
684                <para>Writes an unsorted list of jEdit properties in a new
685                buffer.</para>
686            </listitem>
687
688            <listitem>
689                <para><filename>Look_and_Feel_Properties.bsh</filename></para>
690
691                <para>Writes an unsorted list of the names of Java Look and Feel
692                properties in a new buffer.</para>
693            </listitem>
694
695            <listitem>
696                <para><filename>System_Properties.bsh</filename></para>
697
698                <para>Writes an unsorted list of all Java system properties in a
699                new buffer.</para>
700            </listitem>
701        </itemizedlist>
702    </section>
703
704    <section id="macros-text">
705        <title>Text Macros</title>
706
707        <para>These macros generate various forms of formatted text.</para>
708
709        <itemizedlist>
710            <listitem>
711                <para><filename>Add_Prefix_and_Suffix.bsh</filename></para>
712
713                <para>Adds user-supplied <quote>prefix</quote> and
714                <quote>suffix</quote> text to each line in a group of selected
715                lines.</para>
716
717                <para>Text is added after leading whitespace and before trailing
718                whitespace. A dialog window receives input and
719                <quote>remembers</quote> past entries.</para>
720            </listitem>
721
722            <listitem>
723                <para><filename>Color_Picker.bsh</filename></para>
724
725                <para>Displays a color picker and inserts the selected color in
726                hexadecimal format, prefixed with a <quote>#</quote>.</para>
727            </listitem>
728
729            <listitem>
730                <para><filename>Compose_Tag.bsh</filename></para>
731
732                <para>The selection is taken as tag name and replaced with a full xml tag.</para>
733            </listitem>
734
735            <listitem>
736                <para><filename>Duplicate_Line.bsh</filename></para>
737
738                <para>Duplicates the line on which the caret lies immediately
739                beneath it and moves the caret to the new line.</para>
740            </listitem>
741
742            <listitem>
743                <para><filename>Insert_Date.bsh</filename></para>
744
745                <para>Inserts the current date and time in the current
746                buffer.</para>
747
748                <para>The inserted text includes a representation of the time in
749                the <quote>Internet Time</quote> format.</para>
750            </listitem>
751
752            <listitem>
753                <para><filename>Insert_Tag.bsh</filename></para>
754
755                <para>Inserts a balanced pair of HTML/SGML/XML markup tags as
756                supplied in an input dialog. The tags will surround any selected
757                text.</para>
758            </listitem>
759
760            <listitem>
761                <para><filename>Line_Filter.bsh</filename></para>
762
763                <para>Filters lines of the current buffer due to a provided regular expression.
764                The resulting set of lines can be either removed from the buffer or written to a new buffer.</para>
765
766                <para>The filter works on a multiline selection (if there is one) otherwise on the whole buffer.
767                The resulting set of lines includes those lines that either match or not match the regular expression.
768                </para>
769            </listitem>
770
771            <listitem>
772                <para><filename>Next_Char.bsh</filename></para>
773
774                <para>Finds next occurrence of character on current line.</para>
775
776                <para>The macro takes the next character typed after macro
777                execution as the character being searched. That character is not
778                displayed. If the character does not appear in the balance of
779                the current line, no action occurs.</para>
780
781                <para>This macro illustrates the use of
782                <function>InputHandler.readNextChar()</function> as a means of
783                obtaining user input. See <xref
784                linkend="macro-tips-single-char" />.</para>
785            </listitem>
786
787            <listitem>
788                <para><filename>Reverse_Lines.bsh</filename></para>
789
790                <para>Reverses the selected lines or the entire buffer if no
791                lines are selected. Does not support Rectangular
792                Selections.</para>
793            </listitem>
794
795            <listitem>
796                <para><filename>Single_Space_Buffer.bsh</filename></para>
797
798                <para>Removes every second line, if they are all blank.</para>
799            </listitem>
800        </itemizedlist>
801    </section>
802</appendix>