■
やっと少し時間が取れるようになったので,小ネタを1つ.某巨大掲示板に書いてあった要望のTabで共通部分を補完するための関数を作ってみた.かなり力技だけど他にやり方が思いつかないのでこれで.
以下をconfig.pyに書く.自動補完OFF用.
def completion(): import clwindow t = GetListItem(0) if GetListSelection() >= 0: m = len(t) else: omit_len = clwindow.list.omit_len s = t[omit_len:] for n in range(1, GetListCount()): s = commonpart(s, GetListItem(n)[omit_len:]) if not s: return m = omit_len+len(s) SetValue(t[:m]) SetSelection(m,m) clwindow.edit.Abbrev() def commonpart(s,t): for n in range(0, min( len(s), len(t) ) ): if s[n].lower() != t[n].lower(): return s[:n] else: return s[:n+1] SetKeyDownHandler( VK_TAB, 0, completion )