freebsd-nq/bin
Juraj Lutter 3cf65f8a7f sh(1): Allow non-printing characters in prompt strings
Introduce new prompt format characters:

- '\[' starts the sequence of non-printing chatacters
- '\]' ends the sequence of non-printing characters

Within these sequences, the following characters are now supported:

- '\a' emits ASCII BEL (0x07, 007) character
- '\e' emits ASCII ESC (0x1b, 033) character
- '\r' emits ASCII CR (0x0d, 015) character
- '\n' emits ASCII CRLF sequence

These can be used to embed ANSI sequences into prompt strings.

Example in .shrc:

PS1="\[\e[7m\]\u@\h\[\e[0m\]:\w \\$ "

This tries to maintain some degree of compatibility with GNU bash,
that uses GNU readline library (which behaves slightly different from
BSD editline): It has two "non-printing boundary" characters:

- RL_PROMPT_START_IGNORE (\001)
- RL_PROMPT_END_IGNORE (\002)

while BSD editline only has one (when using EL_PROMPT_ESC setting), so
for this purpose, ASCII \001 was chosen and both \[ and \] emits
this character.

And while here, enlarge PROMPTLEN from 128 to 192 characters.

Reviewed by:		jilles
Approved by:		jilles
Differential Revision:	https://reviews.freebsd.org/D37701
2022-12-22 19:10:48 +01:00
..
cat cat: style nits 2021-01-20 18:46:26 +01:00
chflags fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
chio chio: Mark some arguments as unused. 2022-10-25 10:57:29 -06:00
chmod fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
cp cp: Fix build without VM_AND_BUFFER_CACHE_SYNCHRONIZED. 2022-08-30 10:51:21 -04:00
csh csh: install hard link with same mode as target 2022-11-29 16:04:05 -05:00
date date: remove some ambiguity in tzdata references 2022-07-28 10:14:18 -05:00
dd Add O_DIRECT flag to DD for cache bypass 2020-06-04 20:47:11 +00:00
df df: do not report a 100% full inode usage on fs without inodes 2022-03-11 08:49:44 +01:00
domainname pkgbase: Put yellow pages programs to its own package 2021-12-21 10:17:22 +01:00
echo echo(1): Replace errexit() with err(3) 2021-11-09 22:12:19 +01:00
ed ed(1): Add two references in the SEE ALSO section 2021-04-09 09:43:49 +02:00
expr
freebsd-version freebsd-version(1): Add -j flag to support jails 2021-10-01 13:50:56 -05:00
getfacl Fix build of bin/getfacl after libc changes. 2021-08-27 11:52:18 +03:00
hostname hostname: avoid strcpy() overlap in -d flag handling 2021-09-25 00:03:50 -05:00
kenv kenv: allow listing of static kernel environments 2021-07-18 23:06:19 -05:00
kill
ln
ls ls(1): add a -v flag to sort naturally 2022-10-31 00:00:42 +01:00
mkdir src/bin/mkdir: Spell occur correctly. 2021-10-02 10:39:31 -06:00
mv
pax pax: update date parsing code (from OpenBSD) 2022-10-19 17:02:45 +00:00
pkill bin/pkill: Fix {pgrep,pkill}-j_test.sh 2021-02-13 13:53:51 +00:00
ps ps(1): Use calloc instead of malloc and memset. 2022-03-11 10:36:00 +01:00
pwait Fix typo in pwait.c introduced in 5bdce6ff54 2021-01-21 21:43:27 +00:00
pwd pwd(1): Add EXAMPLES section 2020-10-24 16:42:35 +00:00
realpath realpath(1): Add EXAMPLES section. 2020-10-20 13:15:26 +00:00
rm fts_read: Handle error from a NULL return better. 2020-12-08 23:38:26 +00:00
rmail
rmdir
setfacl Remove unused headers. 2020-12-12 02:26:43 +00:00
sh sh(1): Allow non-printing characters in prompt strings 2022-12-22 19:10:48 +01:00
sleep sleep.1: Fix mdoc style 2022-05-25 10:11:33 +02:00
stty stty(1): provide details about interaction with job control 2022-10-02 20:29:53 +03:00
sync
test Remove unused includes. 2020-12-22 21:04:36 -08:00
tests
uuidgen bin/uuidgen: add support for v4 uuids 2022-12-17 10:03:38 +01:00
Makefile
Makefile.inc build: provide a default WARNS for all in-tree builds 2020-09-18 17:17:46 +00:00