-
Notifications
You must be signed in to change notification settings - Fork 229
Commit 2c70acf
committed
colorize_nicks.py 33: add many improvements, features, and fixes
Changes:
- Remove the VALID_NICK regex to not be dependent on RFC spec and change
the loop to split only on spaces, so the nick regex is free to match
any suffix.
- Add nick_prefixes and nick_suffixes options to configure charset
affixes.
- Replace the default 'greedy' matching with improved 'lazy' matching,
because 'greedy' matches nicks incorrectly and crashes weechat. Thus
remove ignore_nicks_in_urls option, since 'lazy' matching does not
match nicks in substrings.
closes #133 and #197.
Rationale:
- The greedy matching code recolors duplicated strings because of the
way replace() works, so it crashes weechat on multiple duplicated
nicks.
- #259 does not really prevent that, since it can still be reproduced
by mentioning a short nick e.g. F1, repeatedly in a message.
- It can be fixed by iterating on unique words, but it still colorizes
nicks in substrings if a nick is mentioned before (e.g. alice
https://www.alice.com), hence the option ignore_nicks_in_urls fails.
- Replace hook_modifier() with hook_line() for a more granular parsing
(e.g. prefix is separated from message, get filtered lines, etc).
closes #70, closes #135.
- Add preserving of message colors logic. closes #49, closes #175.
- Add irc_only option to ignore non IRC messages (i.e. set buffer
restrictions: plugin = irc, tags = irc_privmsg and irc_notice,
type = channel and private).
- Add do not colorize nicks in filtered messages, and colorize_filtered
option.
- Add colorizing of IRC prefixes and nicks on IRC private buffers.
- Update colorized_input_cb() with the changes, and add decoding of IRC
colors from input.
- Update config_init() parsing of options.
- Remove 'so,root' from blacklist_nicks default option. (These nicks do
not make sense for defaults.)
- Change min_nick_length default option to 1. (Single char nicks should
not be excluded by default.)
- Remove hook_modifier() that has the modifier colorize_nicks. (Is it
possible to pass custom modifiers?)
- Replace % formatting strings with f-strings, " with ', and some code
to use the := operator.
- Update identifiers, comments, and add some whitespace in code for
readability.
- Remove unused global keywords and add error handlings.
- Remove utf-8 encoding header, add SPDX copyright + license tags, and
add upstream link.1 parent c779116 commit 2c70acfCopy full SHA for 2c70acf
File tree
Expand file treeCollapse file tree
1 file changed
+774
-255
lines changedFilter options
- python
Expand file treeCollapse file tree
1 file changed
+774
-255
lines changed
0 commit comments