PROMPTER(1)

πŸ’– PROMpter(1) β€” bestie edition πŸ’–

okay so like. manual name? prompter, from the General Commands Manual section, and it's giving "nmh's prompting editor front-end". that's the whole vibe. πŸŽ€


✨ SYNOPSIS ✨

prompter [-help] [-version] [-erase chr] [-kill chr] [-prepend |
     -noprepend] [-rapid | -norapid] [-doteof | -nodoteof] file

🌸 DESCRIPTION 🌸

so prompter is an editor front-end for nmh and it's literally built to let you compose messages fast. ngl, this is not the kind of program you just casually run yourself β€” no bestie, it takes the place of an editor and acts as an editor front-end. it operates on an RFC 822-style message draft skeleton that you specify with file, and that file is normally handed to it by the nmh commands comp, dist, forw, or repl. πŸ’…

where it really ate: prompter is particularly useful when you're composing messages over slow network or modem lines. it's an nmh program in the sense that it can have its own profile entry with switches, but it is not invoked directly by the user. the commands comp, dist, forw, and repl invoke prompter as an editor β€” either when invoked with -editor prompter, or via the profile entry β€œEditor: prompter”, or when you type the command edit prompter at the β€œWhat now?” prompt. iconic behavior honestly.

for each empty component prompter finds in the draft, you get prompted for a response, and a <RETURN> will cause the whole component to be left out. otherwise, a \ right before a <RETURN> will continue the response on the next line β€” that's how you get multiline components. ✨ continuation lines must begin with a space or tab, no exceptions bestie.

each non-empty component gets copied to the draft and displayed on the terminal. so you see what you did. 🫢

the start of the message body is denoted by a blank line or a line of dashes. if the body is non-empty, the prompt β€” which isn't written to the file, ok, it's just for you β€” is:

--------Enter additional text

or, if -prepend was given:

--------Enter initial text

message-body typing is terminated with an end-of-file (usually CTRL-D). with the -doteof switch, a period on a line all by itself also signifies end-of-file. at that point control is returned to the calling program, where you get asked β€œWhat now?”. see whatnow(1) for the valid options to that query. πŸ’€ (not the whatnow jumpscare)

by using the -prepend switch, you can add type-in to the beginning of the message body and have the rest of the body follow. this is useful for the forw command. πŸ¦‹

by using the -rapid switch, if the draft already contains text in the message-body, it is not displayed on your terminal. useful for low-speed terminals. lowkey a glow-up for slow connections.

the line editing characters for kill and erase may be specified by the user via the arguments -kill chr and -erase chr, where chr may be a character; or \nnn, where β€œ*nnn*” is the octal value for the character. yes octal. she's old money. πŸ‘‘

an interrupt (usually CTRL-C) during component typing will abort prompter and the nmh command that invoked it. an interrupt during message-body typing is equivalent to CTRL-D, for historical reasons. this means that prompter should finish up and exit. 🧚

the first non-flag argument to prompter is taken as the name of the draft file, and subsequent non-flag arguments are ignored. bye. πŸ™ˆ


✨ OPTIONS ✨

  • -help β€” get the help. the classic.
  • -version β€” show the version info.
  • -erase chr β€” set the erase (line editing) character, where chr is a character or \nnn (octal value for the character).
  • -kill chr β€” set the kill (line editing) character, where chr is a character or \nnn (octal value for the character).
  • -prepend β€” add your typed-in text to the beginning of the message body, with the rest of the body following after. πŸ’–
  • -noprepend β€” don't do the prepend thing. (useful with comp -use, see the hints below πŸ‘€)
  • -rapid β€” if the draft already has text in the message-body, don't display it on your terminal. perfect for low-speed terminals. πŸ”₯
  • -norapid β€” don't skip the display, show it like normal.
  • -doteof β€” a period on a line all by itself also counts as end-of-file. periodt. (literally)
  • -nodoteof β€” only a real end-of-file ends it, no period trick.

πŸ“ FILES πŸ“

  • $HOME/.mh_profile β€” The user profile
  • /tmp/prompter* β€” Temporary copy of message

🌈 PROFILE COMPONENTS 🌈

  • prompter-next: β€” To name the editor to be used on exit from prompter
  • Msg-Protect: β€” To set mode when creating a new draft

πŸ‘‘ SEE ALSO πŸ‘‘

comp(1), dist(1), forw(1), repl(1), whatnow(1)


πŸŽ€ DEFAULTS πŸŽ€

  • -prepend
  • -norapid
  • -nodoteof

πŸ’œ CONTEXT πŸ’œ

None


⭐ HELPFUL HINTS ⭐

the -rapid option is particularly useful with forw, and -noprepend is useful with comp -use. iykyk. 😌

you may wish to link prompter under several names (e.g., β€œrapid”) and give appropriate switches in the profile entries under these names (e.g., β€œrapid: -rapid”). this facilitates invoking prompter differently for different nmh commands (e.g., β€œforw: -editor rapid”). so many aliases, so many vibes. πŸ¦‹


πŸ’€ BUGS πŸ’€

prompter uses stdio(3), so it will lose if you edit files with nulls in them. no cap. 😭

so yeah, that's the whole page. this was nmh-1.8, dated 1999-04-30 β€” vintage but still slaying, fr fr. mwah. πŸ’…βœ¨

πŸ“¦ where this page comes from