As in #58, partial NUHs (including bare nicks) are parsed, and server names are parsed into NUH.Name (i.e. they are considered to be the first component of the NUH)
The component is called NUH.Name instead of NUH.Nick (reflecting that it may be a server name instead of a nick)
As in #66, expose the new unified NUH-parsing code to ircmsg and ircevent. (This makes ircevent.ExtractNick and ircevent.SplitNUH more permissive, in that, e.g., ExtractNick will now return a server name if the source is a server name.)
The most confusing thing here is that the new method of ircmsg.Message is named Nick, not Name. This is inconsistent with NUH.Name. I thought it was justified because, e.g. msg.Nick() is pretty clear but msg.Name() is confusing to read.
This tries to compromise between #58 and #66:
NUH.Name
(i.e. they are considered to be the first component of the NUH)NUH.Name
instead ofNUH.Nick
(reflecting that it may be a server name instead of a nick)ircevent.ExtractNick
andircevent.SplitNUH
more permissive, in that, e.g.,ExtractNick
will now return a server name if the source is a server name.)ircmsg.Message
is namedNick
, notName
. This is inconsistent withNUH.Name
. I thought it was justified because, e.g.msg.Nick()
is pretty clear butmsg.Name()
is confusing to read.