113 Commits

Author SHA1 Message Date
C. McEnroe
83df94b359 Still add nick without prefixes to complete 2020-02-15 22:19:05 -05:00
C. McEnroe
9b1ab69908 Track PREFIX modes and CHANMODES 2020-02-15 05:29:54 -05:00
C. McEnroe
cd341076c0 Show prefixes in NAMES and WHOIS replies 2020-02-15 05:04:43 -05:00
C. McEnroe
42d106260b Separate network info from self 2020-02-15 04:54:53 -05:00
C. McEnroe
39a343980b Add /invite 2020-02-14 21:36:58 -05:00
C. McEnroe
8aa6dd86f6 Add /away 2020-02-14 21:10:40 -05:00
C. McEnroe
be08880fac Only exit on errorneous nick during registration 2020-02-12 19:30:07 -05:00
C. McEnroe
05579773c8 Add 378 to list of WHOIS responses
It's the one (from freenode anyway) that tells you where you're
connecting from.
2020-02-12 19:14:49 -05:00
C. McEnroe
489df70c37 Add /list 2020-02-12 02:39:23 -05:00
C. McEnroe
3a325d3914 Handle RPL_AWAY 2020-02-12 00:17:28 -05:00
C. McEnroe
7c171b8aff Rename query ID on nick change 2020-02-11 18:23:04 -05:00
C. McEnroe
6a5ebb0bab Don't insert color codes for non-mentions 2020-02-11 18:15:25 -05:00
C. McEnroe
4d532ec738 Take first two words in colorMentions
This lets phrases like "hi june" get colored, but still doesn't get
carried away.
2020-02-11 18:08:05 -05:00
C. McEnroe
cc80fae758 Set self.nick to * initially
Allows removing a bunch of checks that self.nick is set, and it's what
the server usually calls you before registration.

Never highlight notices as mentions.
2020-02-11 17:52:55 -05:00
C. McEnroe
83a8952cf5 Move base64 out of chat.h 2020-02-11 17:40:08 -05:00
C. McEnroe
ac4876718f Fix whois idle unit calculation
Rookie mistake.
2020-02-11 04:00:25 -05:00
C. McEnroe
36e0bbc4cd Split on <> in colorMentions
This allows it to color the nick in the common case of pasting "<nick>
something they said" into the chat. Technically it should color the
brackets too but that would be too much work.
2020-02-10 20:58:14 -05:00
C. McEnroe
80a79467ef Only automatically switch to expected joins 2020-02-10 20:24:07 -05:00
C. McEnroe
8e55c049b5 Avoid coloring mentions if there are control codes
This was breaking leading color codes.
2020-02-10 03:58:25 -05:00
C. McEnroe
fabb89077d Update prompt when own nick changes 2020-02-10 01:29:30 -05:00
C. McEnroe
3436cd1068 Add /whois 2020-02-09 16:45:49 -05:00
C. McEnroe
82cf445858 Add self.nick to completion in Network, not None 2020-02-09 02:16:17 -05:00
C. McEnroe
a212a7ae2c Show realname on JOIN if it is different from nick 2020-02-09 00:55:41 -05:00
C. McEnroe
b30b93f672 Use fmemopen to build colored mentions string 2020-02-08 23:29:32 -05:00
C. McEnroe
ec73174c4c Use unexpected NAMES replies to populate complete 2020-02-08 22:55:11 -05:00
C. McEnroe
9cbec9ca7e Color mentions
Sort of like Textual does, but only in the first part of the messaage,
either before a colon or before a space. Hopefully this makes it less
costly than it would be, and prevents false positives on people with
common nouns for nicks.
2020-02-08 22:51:13 -05:00
C. McEnroe
f502260dd0 Scan messages for URLs 2020-02-08 18:29:01 -05:00
C. McEnroe
b6bf6d62b0 Only show expected topic/names replies 2020-02-08 03:15:17 -05:00
C. McEnroe
b5707af4b8 Handle KICK
See I knew the color cache in complete would be useful in at least one
place!
2020-02-08 00:58:17 -05:00
C. McEnroe
f14175ebed Handle QUIT 2020-02-08 00:36:23 -05:00
C. McEnroe
7ebfeea330 Handle NAMES reply 2020-02-08 00:25:09 -05:00
C. McEnroe
58e1d5b4e2 Handle NICK 2020-02-08 00:01:59 -05:00
C. McEnroe
8b7cc1a0ed Clear completion for ID on self-part 2020-02-07 23:44:03 -05:00
C. McEnroe
d314523b90 Update completion on join, part, privmsg 2020-02-07 23:33:23 -05:00
C. McEnroe
87e42cc627 Color notices LightGray by default 2020-02-06 22:59:49 -05:00
C. McEnroe
34514cf2ee Render actions in italic
Also render italic as normal if it's unsupported, as that is what would
happen anyway if curses has A_ITALIC but the terminal has no sitm. That
format string is kinda bad.
2020-02-06 18:48:49 -05:00
C. McEnroe
e1f10958c9 Never consider notices hot 2020-02-06 04:37:28 -05:00
C. McEnroe
32ec697092 Handle mentions 2020-02-06 04:18:15 -05:00
C. McEnroe
30b3780e57 Route own query messages correctly 2020-02-06 04:01:11 -05:00
C. McEnroe
1e6e533538 Send CAP END if CAP LS doesn't list anything good 2020-02-06 03:44:49 -05:00
C. McEnroe
5e98d83f83 Handle TOPIC and replies 2020-02-06 02:07:39 -05:00
C. McEnroe
5fb492f8cd Handle PART 2020-02-06 01:16:35 -05:00
C. McEnroe
db499dc5f5 Send self.join without colon
If someone is weird enough to use channel keys, they can -j '#foo key'.
2020-02-06 01:03:21 -05:00
C. McEnroe
3085779d86 Handle ERROR 2020-02-05 23:27:43 -05:00
C. McEnroe
7414a8a11c Save own username for message echoing 2020-02-05 00:40:24 -05:00
C. McEnroe
37ec1e8232 Align MOTD after - 2020-02-05 00:24:54 -05:00
C. McEnroe
de4c9df074 Align join messages after nick 2020-02-04 20:40:49 -05:00
C. McEnroe
ea93c9a6d9 Set self.color 2020-02-04 20:27:18 -05:00
C. McEnroe
d57df09511 Align word wrapping with tab character
Also fixes handling whitespace directly after control codes.
2020-02-04 19:50:23 -05:00
C. McEnroe
26e9dd9adf Use time_t rather than struct tm 2020-02-03 18:41:52 -05:00