editable-field
WidgetSyntax:
type ::= (editable-field [keyword argument]... [ value ])
A widget that can be edited by the user. Its super is the
default
widget.
The value, if present, is used to initialize the :value
property. The value should be a string, which will be inserted in the
field. If not present, :value
is the empty string.
Warning: In an editable-field
widget, the editable
field must not be adjacent to another widget—that won’t work.
You must put some text in between. Either make this text part of
the editable-field
widget itself, or insert it with
widget-insert
.
This widget either overrides or adds the following properties:
:convert-widget
Just like the item
widget, this function allows it to
initialize :value
from value.
:keymap
Keymap used in the editable field.
The default value is widget-field-keymap
, which allows the user
to use all the normal editing commands, even if the buffer’s major
mode suppresses some of them. Pressing RET invokes the function
specified by :action
.
:format
By default, it specifies to insert only the widget’s value.
Warning: In an editable-field
widget, the ‘%v’ escape
must be preceded by some other text in the :format
string (if
specified).
:size
The width of the editable field.
By default the field will reach to the end of the line.
:value-face
Face used for highlighting the editable field.
Default is widget-field-face
, see User Interface.
:secret
Character used to display the value.
You can set this to, e.g., ?*
if the field contains a password
or other secret information. By default, this is nil
, and the
value is not secret.
:valid-regexp
By default the :validate
function will match the content of the
field with the value of this attribute.
The default value is ""
which matches everything.
:validate
Returns nil
if the current value of the widget matches the
:valid-regexp
value.
:prompt-internal
A function to read a value for widget, used by the
:prompt-value
function.
:prompt-history
A variable that holds the history of field minibuffer edits.
:prompt-value
A function that uses the :prompt-internal
function and the
:prompt-history
value to prompt for a string, and return the
user response in the external format.
:action
When invoked, moves point to the next field.
:value-create
Function that takes care of creating the widget, respecting its
:size
and :value
.
:value-set
Function to use to modify programmatically the current value of the widget.
:value-delete
Function that removes the widget so it cannot be edited anymore.
:value-get
Function to return the current text in the widget.
It takes an optional argument, no-truncate. If no-truncate is nil, truncates trailing spaces.
:match
Function that makes the widget match any string value.