C. McEnroe
f494fe6edb
Add generic error reply handler
...
This should have been in way earlier...
2020-02-20 01:38:31 -05:00
C. McEnroe
56de4668ac
Add /ban, /unban and handle ban list replies
2020-02-19 21:47:16 -05:00
C. McEnroe
2a33ee68dd
Format WHOIS signon date with %F %T
2020-02-19 21:29:51 -05:00
C. McEnroe
ba524ed804
Replace a lot of snprintf with a catf implementation
2020-02-16 19:12:19 -05:00
C. McEnroe
3885dd5231
Add 379 to WHOIS responses
2020-02-16 18:42:38 -05:00
C. McEnroe
edd8855418
Track EXCEPTS and INVEX modes
2020-02-16 18:31:50 -05:00
C. McEnroe
f84ab67311
Apply colorMentions to actions
...
The first-two-words branch works well for "/me verbs nick".
2020-02-16 05:22:28 -05:00
C. McEnroe
700b5d5870
Replace small integers in size_t with uint
2020-02-15 22:19:55 -05:00
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
C. McEnroe
2f9a9c663a
Remove services TODO
...
Two goals:
1. Messages should always be routed to the same place.
2. You should be able to see your messages to *Serv and its responses
together.
2020-02-02 17:50:28 -05:00
C. McEnroe
aec28a9327
Check queries against chanTypes
2020-02-02 17:45:19 -05:00
C. McEnroe
0d6a60cc66
Save NETWORK, CHANTYPES, PREFIX from ISUPPORT
2020-02-02 17:37:36 -05:00
C. McEnroe
b535f0abdd
Handle notices and actions
2020-02-02 17:26:20 -05:00
C. McEnroe
dce7891331
Add extremely basid handlePrivmsg
2020-02-02 03:43:18 -05:00
C. McEnroe
052cd2ed26
Remove style string macros
2020-02-02 03:34:05 -05:00
C. McEnroe
8bb9ea7b7f
Add idColors
2020-02-02 03:27:50 -05:00
C. McEnroe
ec83332e15
Implement window switching and status line
2020-02-02 03:13:50 -05:00
C. McEnroe
14066b79d4
Handle nickname errors
2020-02-02 02:30:35 -05:00
C. McEnroe
8ef0af34ef
Parse time tag
2020-02-02 01:58:03 -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
856d40d121
Fix CapNames array indices
2020-02-01 02:19:55 -05:00
C. McEnroe
8431602363
Blindly implement login flow
2020-02-01 01:18:01 -05:00