; -!- emf -!- ; Created: Jul 18 2oo8 ; Synopsis: "vgrep" command handling ; Authors: Lechee.Lai ; define-macro vlist set-variable #l0 &cat $home "fte.grp" view-file #l0 set-position "\x88" goto-line 1 set-variable #l0 @wl !if &seq &lef #l0 5 "File:" ml-write "Vaild GRP format :-) C-j for selection" !else ml-write "Invaild GRP" !force 0 delete-buffer "fte.grp" !return !endif goto-position "\x88" buffer-init-hooks !emacro define-macro vgrep !if &inw @wc set-variable #l0 $window-col forward-char backward-word set-variable #l1 $window-col forward-word set-variable .osd.pat-cur &mid @wl #l1 &sub $window-col #l1 set-variable $window-col #l0 !else set-variable .osd.pat-cur "" !endif set-variable #l0 @ml1 "Search" .osd.pat-cur !if &less &len #l0 1 ml-write "Cancel!" !return !endif !if &xse $buffer-fname ".*\\.c" set-variable #l5 "*.[ch]" !else !if &seq &set #l3 $buffer-fname "" set-variable #l3 $buffer-bname !endif !if &gre &set #l6 &rsin "." #l3 1 set-variable #l4 &lef #l3 &sub #l6 1 set-variable #l5 &rig #l3 &sub #l6 1 set-variable #l5 &cat "*" #l5 !else set-variable #l4 #l3 set-variable #l5 "*" !endif !endif set-variable #l2 @ml01 "Dir" set-variable #l1 @ml1 "Mask" #l5 !force 0 find-buffer "fte.grp" !if $status !force 0 delete-buffer "fte.grp" !endif pipe-shell-command &spr "vgrep --grep %s %s \\%s i" #l0 #l2 #l1 delete-buffer "*command*" delete-window "*command*" ml-write "F11 for vlist -- C-j for pickup" !emacro