author | Myhailo Danylenko <isbear@ukrpost.net> |
Mon, 23 Feb 2009 23:16:46 +0200 | |
changeset 4 | bca17e4a9851 |
permissions | -rw-r--r-- |
4
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
1 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
2 |
marked_jids = {} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
3 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
4 |
function mark () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
5 |
local jid = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
6 |
marked_jids[jid] = true |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
7 |
main.print_info ( jid, "Marked" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
8 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
9 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
10 |
function unmark () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
11 |
local jid = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
12 |
marked_jids[jid] = nil |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
13 |
main.print_info ( jid, "Unmarked" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
14 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
15 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
16 |
function mark_toggle () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
17 |
local jid = main.current_buddy () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
18 |
if marked_jids[jid] then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
19 |
return unmark () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
20 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
21 |
return mark () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
22 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
23 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
24 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
25 |
function marked () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
26 |
local ret = {} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
27 |
for jid, v in pairs ( marked_jids ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
28 |
table.insert ( ret, jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
29 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
30 |
return ret |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
31 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
32 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
33 |
function foreach_marked ( callback ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
34 |
for jid, v in pairs ( marked_jids ) do |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
35 |
if v then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
36 |
callback ( jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
37 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
38 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
39 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
40 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
41 |
function marked_clear () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
42 |
marked_jids = {} |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
43 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
44 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
45 |
main.add_command ( 'marked', |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
46 |
function ( args ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
47 |
local cmd = args:match ( "^%s*(%w+)" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
48 |
if cmd == 'clear' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
49 |
marked_clear () |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
50 |
elseif cmd == 'do' then |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
51 |
local command = args:match ( "^%s*%w+%s+(.+)" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
52 |
foreach_marked ( |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
53 |
function ( jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
54 |
main.run ( string.format ( command, jid ) ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
55 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
56 |
else |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
57 |
print ( "Marked jids:" ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
58 |
foreach_marked ( |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
59 |
function ( jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
60 |
print ( ' - ' .. jid ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
61 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
62 |
end |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
63 |
end ) |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
64 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
65 |
commands_help['marked'] = "[clear | do mcabber_command]\n\nOperates on marked buddies. Without arguments prints list of marked jids.\nCommand should contain %s in place, where jid should be inserted." |
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
66 |
|
bca17e4a9851
Added sample configuration files
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
67 |
-- vim: se ts=4: -- |