The [text] command.
Introduction
The text command lets you interact programmatically with the
text buffer of a document window.
Synopsis
The formal syntax of the [text] command is:
text subcommand ?options? |
The possible subcommands are described below. Depending on the
subcommand, some options may be specified.
The [bounds] subcommand
This subcommand returns the bounding rectangle enclosing the specified
range of characters. The
complete syntax is:
text bounds ?-w win? start end
If the window specified by the -w option is split, it applies to
the current pane. The returned rectangle is expressed in text view
coordinates (the text origin is the top left corner of the text view). It
is suitable for use with the -rect option of the
[popover] command.
The [check] subcommand
This subcommand forces a default text checking on the entire document. The
complete syntax is:
text check ?-w win?
Depending on the features which have been enabled on the document (like
link detection, spelling correction, grammar checking, etc.), the document
is entirely checked.
The [composed] subcommand
This subcommand returns the range corresponding to the composed
character sequences in a given range. The complete syntax is:
text composed ?-w win? pos1 ?pos2?
The composed character sequence includes the first base character found at
or before pos1, and its length includes the last base character and
all non-base characters (such as combining marks) following this base
character. If the pos2 argument is not specified, it is equal to
pos1.
The [copy] subcommand
This subcommand copies in the pasteboard the currently selected text. The
complete syntax is:
text copy ?-w win?
It copies to the pasteboard the text selected in the current document
window. It supports multiple selections and rectangular selections.
The [cut] subcommand
This subcommand cuts and sends to the pasteboard the currently selected
text. The complete syntax is:
text cut ?-w win?
It cuts the text selected in the current document window (if it is not in
read-only mode) and sends a copy to the pasteboard. It supports
multiple selections and rectangular selections.
The [delete] subcommand
This subcommand deletes the text block between the specified positions.
The complete syntax is:
text delete ?-w win? ?-preserve? pos1 pos2
The -preserve option tells to preserve
the current selection (if any) or the current location of the cursor. By
default, when some text is deleted, the current cursor position is moved to
position pos1 and, if there was a selection, it is deselected.
Setting this option may be useful to delete some text without jumping to a
new location. Note that if the deleted range intersects the current
selection, the selection is removed anyway.
The [get] subcommand
This subcommand returns the text block between the specified positions.
The complete syntax is:
text get ?-w win? pos1 pos2
The [insert] subcommand
This subcommand inserts text in the buffer. The complete syntax is:
text insert ?-w win? ?-pos num? ?-preserve? ?--? text…
The -pos option indicates the position
where the text is to be inserted. If it is not specified, the current
position (of the current pane) is assumed.
The -preserve option tells to
preserve the current selection (if any) or the current location of the
cursor. By default, the current cursor position is moved to the end of the
inserted text and, if there was a selection, it is deselected. Setting this
option may be useful to insert some text without jumping to a new location.
Note that if the insertion position is inside the current selection, the
selection is removed anyway.
The -- argument indicates the end of the options. The
remaining arguments are one or more strings which are concatenated before
being inserted.
The [paste] subcommand
This subcommand inserts the contents of the pasteboard at the current
position. The complete syntax is:
text paste ?-w win?
It inserts at the current position the text contained in the pasteboard (if
any). It supports multiple selections and rectangular selections.
The [replace] subcommand
This subcommand replaces a text block by another one. The complete syntax is:
text replace ?-w win? ?-preserve? ?--? pos1 pos2 string
The text block contained between the specified positions is replaced by
the string argument.
The -preserve option has the
same meaning as with the [text insert] command.
The -- argument indicates the end of the options.
The [visible] subcommand
This subcommand makes a text block visible. The complete syntax is:
text visible ?-w win? pos1 ?pos2?
It scrolls the text in the current pane in order to make the specified
range visible. If the pos2 argument is not specified, it is equal
to pos1.
Examples
Open the Tcl Shell (with ⌘Y
). It starts with the following text:
Welcome to Alpha's AlphaTcl shell.
«»
Now enter the following commands, one by one:
«» text get 0 10
Welcome to
«» text delete 19 24
«» text insert -pos 23 super
«» text replace 0 10 "Greetings from"
In the end, the text should be:
Greetings from Alpha's Tcl supershell.
Last updated 2020-06-30 07:41:43