Commit Graph

35 Commits (ee82e5d376dc2c329a1833a181f7353aa62dcb64)

Author SHA1 Message Date
June McEnroe 073cebec7a Factor out input handling to input.c 2022-02-19 20:20:19 -05:00
June McEnroe 3359a5d69b Factor out window management to window.c 2022-02-19 18:28:45 -05:00
June McEnroe 70f627bc47 Enable -Wmissing-prototypes
In other words, warn when a function is missing static. I don't see
why this isn't in -Wextra.
2022-02-19 17:46:07 -05:00
June McEnroe 06d17aa8f1 Run line editing tests
I know, it feels wrong.
2022-02-19 00:01:34 -05:00
June McEnroe 1a2477ef7a Implement new line editing "library"
Losing tab complete and text macros, for now.

This new implementation works on an instance of a struct and does
not interact with the rest of catgirl, making it possible to copy
into another project. Unlike existing line editing libraries, this
one is entirely abstract and can be rendered externally.

My goal with this library is to be able to implement vi mode. Since
it operates on struct instances rather than globals, it might also
be possible to give catgirl separate line editing buffers for each
window, which would be a nice UX improvement.
2022-02-18 23:47:11 -05:00
June McEnroe 28a27a2c0f Move sandman build to scripts/Makefile 2022-02-12 20:19:18 -05:00
C. McEnroe 54c632e8c3 chroot: Factor out and add OpenBSD build 2021-09-27 19:16:45 +00:00
C. McEnroe cb62d92f54 Set MANDIR in chroot 2021-06-25 12:19:11 -04:00
C. McEnroe ff87d561bd Add support for BINDIR, fix default MANDIR, use LDADD vars
I avoided defaulting MANDIR to /usr/local/man because I thought it
didn't work on GNU/Linux and users would be confused, but it turns
out man-db's default configuration includes both /usr/local/man and
/usr/man, so ${PREFIX}/man is a sensical default.
2021-05-04 12:13:50 -04:00
C. McEnroe 5a490945ea Rename ignore code to filter 2021-01-16 13:36:39 -05:00
C. McEnroe ded2b6afb6 Factor buffer out of ui
In preparation for doing line wrapping outside of ncurses.
2020-09-01 20:36:50 -04:00
C. McEnroe 387f2c1fa3 Use ldd to automatically copy libs into chroot 2020-07-31 13:04:48 -04:00
C. McEnroe 27866c5657 Fix path of cert.pem in chroot 2020-07-31 13:04:33 -04:00
C. McEnroe 6bb933c651 Bump .so versions in chroot 2020-07-25 19:03:52 -04:00
C. McEnroe f37ad399fe Rewrite configure script for all platforms 2020-07-23 16:28:38 -04:00
C. McEnroe 287cd3c63c Inherit PREFIX and MANDIR from env
Oops.
2020-05-27 12:01:49 -04:00
C. McEnroe fd679bbca8 Don't compress man page or use configure on FreeBSD
Also use DESTDIR in install.
2020-05-23 19:14:47 -04:00
C. McEnroe 75a6aa9258 Use gnu-case-range and gnu-conditional-omitted-operand extensions
I'm sad to do this but I just can't stand writing (foo ? foo : bar)
anymore.
2020-04-03 17:10:52 -04:00
C. McEnroe 25f419465f Add /ignore message filtering patterns 2020-03-31 14:30:42 -04:00
C. McEnroe d99f20c0ff Add logging functions
The mkdir dance is a bit awkward...
2020-03-25 18:56:09 -04:00
C. McEnroe 9bed890aa8 Add sandman wrapper 2020-02-12 21:31:09 -05:00
C. McEnroe 252428f97a Add chroot target 2020-02-11 22:28:39 -05:00
C. McEnroe 99480a42e5 Factor out XDG base directory code
And add warnings to configOpen, since that's the only way to be accurate
if a weird error occurs.
2020-02-10 19:57:10 -05:00
C. McEnroe 1d26c880ed Add install target 2020-02-09 15:02:47 -05:00
C. McEnroe f502260dd0 Scan messages for URLs 2020-02-08 18:29:01 -05:00
C. McEnroe fe5fd89705 Populate completion with commands 2020-02-07 21:39:56 -05:00
C. McEnroe 5470254fa5 Add simple configure script
Mostly motivated by wanting to build with the ncurses in pkgsrc because
it supports italics.
2020-02-06 23:50:04 -05:00
C. McEnroe 27eaddb6b9 Use getopt_config to load options
I'm really getting a lot of use out of this config.c huh.
2020-02-05 22:49:56 -05:00
C. McEnroe 4cce893eab Add extremely basic editing and message sending 2020-02-05 00:20:39 -05:00
C. McEnroe 9944dc484b Split showing style codes and word wrapping 2020-02-04 20:23:55 -05:00
C. McEnroe 5c328c7a88 Remove term.c in favor of more curses APIs 2020-02-02 19:34:35 -05:00
C. McEnroe d59666cb25 Generate tags file 2020-02-01 21:55:05 -05:00
C. McEnroe e5363bcae0 Implement the beginnings of UI
It takes so much code to do anything in curses...
2020-02-01 19:37:55 -05:00
C. McEnroe e289ff6b18 Add term stuff
Copied almost verbatim from existing catgirl... I think I did a better
job on that state machine this time tbh.
2020-02-01 02:55:07 -05:00
C. McEnroe 8431602363 Blindly implement login flow 2020-02-01 01:18:01 -05:00