FEDSAY(1)

NAME
fedsay - positioned, colored text output for fed-field-editor scripts

SYNOPSIS
fedsay row col [text] [options]

DESCRIPTION
fedsay writes a string at a given screen position, optionally colored, and exits. It is the non-interactive companion to the field editors: where the editors capture a value, fedsay draws the surrounding labels and decoration. It speaks the same color vocabulary as the editors' --color (fed color names, not raw ANSI or terminfo codes). Think of it as tput(1) cup plus setaf/setab with fed color names.

fedsay runs no curses session. It emits ANSI escape sequences to standard output and is used inline, like tput(1) — run it for its effect on the screen. It is not a field: it captures no input and follows no exit-reason protocol. Exit is 0 on success, 1 on a usage error. There is no trailing newline, so the cursor is not pushed to the next line.

ARGUMENTS

row col
    Cursor position for the text, 0-indexed. Either may be @ to mean the terminal's current cursor position (resolved with a CSI 6n query), as with the field editors.

text
    The text to write. Optional — omit it for a bare --cls.

OPTIONS

--color fg,bg
    Text color. ANSI names (blackredgreenyellowbluemagentacyanwhite), an optional bright- prefix, or default.

-r, --reverse
    Reverse video for the text.

--cls [fg,bg]
    Clear the whole screen first. With fg,bg, paint the screen in those colors and leave them as the active screen color (which the system clear(1) cannot do); subsequent output inherits them. Without a color, a plain clear. --clear is an alias.

--keep
    Save the cursor before writing and restore it afterward, so drawing a label does not disturb the cursor's position.

-h  Print brief usage and exit.

--help
    Print full help text and exit.

--version
    Print version and copyright information and exit.

OUTPUT SEQUENCE
The emitted escape stream is ordered: save cursor (with --keep), clear and paint screen (with --cls), position, draw text in its color, return the SGR to a resting state (the screen color if --cls set one, otherwise a plain reset), and restore the cursor (with --keep).

EXAMPLES

A label, then a field beside it:

        fedsay 2 0 "Name:" --color bright-white,blue
        fedline 2 7 30 60 --color white,blue

Paint the screen blue-on-white, then clear:

        fedsay 0 0 --cls white,blue

A status message that does not move the cursor:

        fedsay 23 0 "Saved." --color green,default --keep

SEE ALSO
fedline(1), fedarea(1), fedmask(1), fedlist(1), fedcheck(1), fedradio(1), fedform(1), fedmake(1), fedbox(1)

COPYRIGHT
fedsay (C) 2026 smisco / fed@smisco.biz