examples/marking.lua
changeset 125 3e2421384d7a
parent 84 c0db7efde255
equal deleted inserted replaced
124:286a034e4d5f 125:3e2421384d7a
     1 
     1 
     2 -- MARKING
     2 -- MARKING
     3 
     3 
     4 marked_jids = {}
     4 -- public functions:
       
     5 --  * mark
       
     6 --  * unmark
       
     7 --  * mark_toggle
       
     8 --  * marked
       
     9 --  * foreach_marked
       
    10 --  * marked_clear
       
    11 -- binds 331 (Ins)
       
    12 -- FIXME
       
    13 --  * freezes on loading
       
    14 -- TODO:
       
    15 --  * test
       
    16 --  * check jid type
       
    17 --  * print marked/unmarked to log
       
    18 --  * check command formatting
       
    19 
       
    20 local marked_jids = {}
     5 
    21 
     6 function mark ()
    22 function mark ()
     7 	local jid = main.current_buddy ()
    23 	local jid = main.current_buddy ()
     8 	marked_jids[jid] = true
    24 	marked_jids[jid] = true
     9 	main.print_info ( jid, "Marked" )
    25 	main.print_info ( jid, "Marked" )
    62 					print ( ' - ' .. jid )
    78 					print ( ' - ' .. jid )
    63 				end )
    79 				end )
    64 		end
    80 		end
    65 	end, true, { 'clear', 'do' } )
    81 	end, true, { 'clear', 'do' } )
    66 
    82 
    67 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."
       
    68 
       
    69 mark_ins_bound = false
       
    70 
       
    71 -- Ins
    83 -- Ins
    72 if not main.binding ( '331' ) then
    84 if not main.binding ( '331' ) then
    73 	main.binding ( '331', 'lua mark_toggle ()' )
    85 	main.binding ( '331', 'lua mark_toggle ()' )
    74 	mark_ins_bound = true
    86 	main.hook ( 'hook-lua-quit',
       
    87 		function ( args )
       
    88 			main.binding ( '331', nil )
       
    89 		end )
    75 end
    90 end
    76 
    91 
    77 hooks_d['hook-quit'].mark =
    92 -- vim: se ts=4 sw=4: --
    78 	function ( args )
       
    79 		if mark_ins_bound then
       
    80 			main.binding ( '331', nil )
       
    81 		end
       
    82 	end
       
    83 
       
    84 -- vim: se ts=4: --