xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 91c59fff4429227c08bf1694273763c176b70b8c

Add comments for escape tables describing content
It's hard to get this information from looking at them directly, so nice
to have it stated explicitly in comments.
Author: xaizek
Author date (UTC): 2025-07-05 10:47
Committer name: xaizek
Committer date (UTC): 2025-07-05 10:47
Parent(s): ed66a3b209614f9e8131f73a577d061e896452d6
Signing key: 99DC5E4DB05F6BE2
Tree: 7d8338d51b9cffcc0220a48ebd8a85a2f24716aa
File Lines added Lines deleted
src/engine/parsing.c 8 0
src/utils/utils.c 11 0
File src/engine/parsing.c changed (mode: 100644) (index 4f1def932..75c0ff1ad)
... ... parse_doubly_quoted_string(parse_context_t *ctx, const char **in)
1065 1065 int int
1066 1066 parse_doubly_quoted_char(parse_context_t *ctx, const char **in, sbuffer *sbuf) parse_doubly_quoted_char(parse_context_t *ctx, const char **in, sbuffer *sbuf)
1067 1067 { {
1068 /*
1069 * 0x30 \0 -> 0x00 XXX: useful to have?
1070 * 0x62 \b -> 0x08
1071 * 0x65 \e -> 0x1b
1072 * 0x6e \n -> 0x0a
1073 * 0x72 \r -> 0x0d
1074 * 0x74 \t -> 0x09
1075 */
1068 1076 static const char table[] = static const char table[] =
1069 1077 /* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f */ /* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f */
1070 1078 /* 00 */ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" /* 00 */ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
File src/utils/utils.c changed (mode: 100644) (index 24d8f6609..119b604c9)
... ... expand_squotes_escaping(char s[])
753 753 void void
754 754 expand_dquotes_escaping(char s[]) expand_dquotes_escaping(char s[])
755 755 { {
756 /*
757 * 0x30 \0 -> 0x00 XXX: useful to have?
758 * 0x61 \a -> 0x07 XXX: any practical uses?
759 * 0x62 \b -> 0x0b XXX: looks like a bug, should be 0x08
760 * XXX: useful to add 0x65 \e -> 0x1b?
761 * 0x66 \f -> 0x0c XXX: any practical uses?
762 * 0x6e \n -> 0x0a
763 * 0x72 \r -> 0x0d
764 * 0x74 \t -> 0x09
765 * 0x76 \v -> 0x0b XXX: any practical uses?
766 */
756 767 static const char table[] = static const char table[] =
757 768 /* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f */ /* 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f */
758 769 /* 00 */ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f" /* 00 */ "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master