aboutsummaryrefslogtreecommitdiffstats
path: root/weechat/python
diff options
context:
space:
mode:
Diffstat (limited to 'weechat/python')
-rw-r--r--weechat/python/colorize_nicks.py23
-rw-r--r--weechat/python/infolist.py13
-rw-r--r--weechat/python/whois_on_query.py6
3 files changed, 36 insertions, 6 deletions
diff --git a/weechat/python/colorize_nicks.py b/weechat/python/colorize_nicks.py
index 1460f01..5d268b5 100644
--- a/weechat/python/colorize_nicks.py
+++ b/weechat/python/colorize_nicks.py
@@ -21,6 +21,8 @@
#
#
# History:
+# 2017-06-20: lbeziaud <louis.beziaud@ens-rennes.fr>
+# version 24: colorize utf8 nicks
# 2017-03-01, arza <arza@arza.us>
# version 23: don't colorize nicklist group names
# 2016-05-01, Simmo Saan <simmo.saan@gmail.com>
@@ -79,11 +81,13 @@ w = weechat
SCRIPT_NAME = "colorize_nicks"
SCRIPT_AUTHOR = "xt <xt@bash.no>"
-SCRIPT_VERSION = "23"
+SCRIPT_VERSION = "24"
SCRIPT_LICENSE = "GPL"
SCRIPT_DESC = "Use the weechat nick colors in the chat area"
-VALID_NICK = r'([@~&!%+])?([-a-zA-Z0-9\[\]\\`_^\{|\}]+)'
+# Based on the recommendations in RFC 7613. A valid nick is composed
+# of anything but " ,*?.!@".
+VALID_NICK = r'([@~&!%+-])?([^\s,\*?\.!@]+)'
valid_nick_re = re.compile(VALID_NICK)
ignore_channels = []
ignore_nicks = []
@@ -189,6 +193,21 @@ def colorize_cb(data, modifier, modifier_data, line):
if len(nick) < min_length or nick in ignore_nicks:
continue
+ # If the matched word is not a known nick, we try to match the
+ # word without its first or last character (if not a letter).
+ # This is necessary as "foo:" is a valid nick, which could be
+ # adressed as "foo::".
+ if nick not in colored_nicks[buffer]:
+ if not nick[-1].isalpha() and not nick[0].isalpha():
+ if nick[1:-1] in colored_nicks[buffer]:
+ nick = nick[1:-1]
+ elif not nick[0].isalpha():
+ if nick[1:] in colored_nicks[buffer]:
+ nick = nick[1:]
+ elif not nick[-1].isalpha():
+ if nick[:-1] in colored_nicks[buffer]:
+ nick = nick[:-1]
+
# Check that nick is in the dictionary colored_nicks
if nick in colored_nicks[buffer]:
nick_color = colored_nicks[buffer][nick]
diff --git a/weechat/python/infolist.py b/weechat/python/infolist.py
index 471f63c..5c57ecd 100644
--- a/weechat/python/infolist.py
+++ b/weechat/python/infolist.py
@@ -18,6 +18,8 @@
# Display infolist in a buffer.
#
# History:
+# 2017-10-22, nils_2 <freenode.#weechat>:
+# version 0.6: add string_eval_expression()
# 2012-10-02, nils_2 <freenode.#weechat>:
# version 0.5: switch to infolist buffer (if exists) when command /infolist
# is called with arguments, add some examples to help page
@@ -35,7 +37,7 @@
SCRIPT_NAME = "infolist"
SCRIPT_AUTHOR = "Sebastien Helleu <flashcode@flashtux.org>"
-SCRIPT_VERSION = "0.5"
+SCRIPT_VERSION = "0.6"
SCRIPT_LICENSE = "GPL3"
SCRIPT_DESC = "Display infolist in a buffer"
@@ -165,6 +167,8 @@ def infolist_buffer_new():
def infolist_cmd(data, buffer, args):
global infolist_buffer
+ args = string_eval_expression(args)
+
if infolist_buffer == "":
infolist_buffer_new()
if infolist_buffer != "" and args != "":
@@ -173,6 +177,9 @@ def infolist_cmd(data, buffer, args):
return weechat.WEECHAT_RC_OK
+def string_eval_expression(string):
+ return weechat.string_eval_expression(string,{},{},{})
+
if __name__ == "__main__" and import_ok:
if weechat.register(SCRIPT_NAME, SCRIPT_AUTHOR, SCRIPT_VERSION, SCRIPT_LICENSE,
SCRIPT_DESC, "", ""):
@@ -190,6 +197,8 @@ if __name__ == "__main__" and import_ok:
" Show information about nick \"FlashCode\" in channel \"#weechat\" on server \"freenode\":\n"
" /infolist irc_nick freenode,#weechat,FlashCode\n"
" Show nicklist from a specific buffer:\n"
- " /infolist nicklist <buffer pointer>"
+ " /infolist nicklist <buffer pointer>\n"
+ " Show current buffer:\n"
+ " /infolist buffer ${buffer}"
"",
"%(infolists)", "infolist_cmd", "")
diff --git a/weechat/python/whois_on_query.py b/weechat/python/whois_on_query.py
index 4721437..be5572c 100644
--- a/weechat/python/whois_on_query.py
+++ b/weechat/python/whois_on_query.py
@@ -24,6 +24,8 @@
#
# History:
#
+# 2017-05-28, Jos Ahrens <buughost@gmail.com>:
+# version 0.6.1: Corrected a typo in help description for option self_query
# 2012-01-03, Sebastien Helleu <flashcode@flashtux.org>:
# version 0.6: make script compatible with Python 3.x
# 2011-10-17, Sebastien Helleu <flashcode@flashtux.org>:
@@ -52,13 +54,13 @@ except ImportError:
SCRIPT_NAME = 'whois_on_query'
SCRIPT_AUTHOR = 'Sebastien Helleu <flashcode@flashtux.org>'
-SCRIPT_VERSION = '0.6'
+SCRIPT_VERSION = '0.6.1'
SCRIPT_LICENSE = 'GPL3'
SCRIPT_DESC = 'Whois on query'
# script options
woq_settings_default = {
- 'command' : ('/whois $nick $nick', 'the command sent to do the whois ($nick is repladed by nick)'),
+ 'command' : ('/whois $nick $nick', 'the command sent to do the whois ($nick is replaced by nick)'),
'self_query': ('off', 'if on, send whois for self queries'),
}