namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

namazu-mouse.el - Namazu with mouse operation



馬場@京大宇宙物理 です。

Namazu の Emacs 上での検索クライアント namazu.el をマウスを使って
制御するための namazu-mouse.el を作りました。ご笑覧下さい。

namazu-mouse.el を適当な場所にコピーして、~/.emacs に

  ;; マウスで起動する場合
  (global-set-key [S-mouse-1] 'mouse-set-point)
  (global-set-key [S-down-mouse-1] 'namazu-mouse-drag-region)
  (global-set-key [S-drag-mouse-1] 'namazu-mouse-set-region)
  (global-set-key [S-double-mouse-1] 'namazu-mouse-set-point)
  (autoload 'namazu-mouse-drag-region "namazu-mouse" nil t)

のように定義してやると、シフトキー+(ボタン1の)ダブルクリック で
クリックしたところのキーワードで検索してくれるようになります。

namazu-mouse.el を作ったといっても、実は lookup-mouse.el をちょこっ
と改造しただけです。元の Lookup については

  http://www.osk.3web.ne.jp/~knishida/lookup/

を参照してください。

Lookup では、作者の西田さんによって Namazu 用検索クライアントも開
発中です。が、今のところはまだ HTML の扱いがうまくない(その上に僕
の力では改造もままならなかった ;_;)ので、とりあえず namazu.el でマ
ウスオペレーションが可能になるようにしてみたという次第です。


僕は最近じゃばじゃばする必要性が出てきた(いまさらですが)ので、Sun 
のサイトから入手した日本語 JDK ドキュメンテーションを(これは HTML 
で書かれたオンラインAPIマニュアル) Namazu インデックスしています。
で、hoge.java を開いて、わからない API(これが多いんだ)の上でダブル
クリックすると一発でマニュアルを参照することができるようにしていま
す。開発支援ツールとしてたいへんたいへん便利に使えます。(^_^)

今ではmanやinfoページも Namazu インデックスできるのですから、これ
と同等のことは C や Perl なんかでもできるんじゃないかとおもいます。
--
馬場  肇 ( Hajime BABA )            E-mail: baba@xxxxxxxxxxxxxxxxxxxxxx
京都大学理学部宇宙物理学教室 博士課程二回生
--


begin 644 namazu-mouse.el
M.SL[(&YA;6%Z=2UM;W5S92YE;"`M+2T@3F%M87IU('=I=&@@;6]U<V4@;W!E
M<F%T:6]N"CL[($-O<'ER:6=H="`H0RD@,3DY,2!3:&EN9V\@3DE32$E/2T$@
M/&YI<VAI;VMA0'-A;FME;BYO<V%K82UU+F%C+FIP/@H[.R!#;W!Y<FEG:'0@
M*$,I(#$Y.3<L,3DY."!.25-(241!($ME:7-U:V4@/&MS-3`S-FYK0&5X+F5C
M:7`N;W-A:V$M=2YA8RYJ<#X*.SL@0V]P>7)I9VAT("A#*2`Q.3DX($AA:FEM
M92!"04)!(#QB86)A0&MU<V%S=')O+FMY;W1O+74N86,N:G`^"@H[.R!!=71H
M;W(Z($AA:FEM92!"04)!(#QB86)A0&MU<V%S=')O+FMY;W1O+74N86,N:G`^
M"@H[.R!/<FEG:6YA;"!!=71H;W(Z($Y)4TA)1$$@2V5I<W5K92`\:W,U,#,V
M;FM`97@N96-I<"YO<V%K82UU+F%C+FIP/@H[.R!/<FEG:6YA;"!-86EN=&%I
M;F5R.B!.25-(241!($ME:7-U:V4@/&MN:7-H:61A0&]S:RXS=V5B+FYE+FIP
M/@H[.R!/<FEG:6YA;"!697)S:6]N.B`D260Z(&QO;VMU<"UM;W5S92YE;"QV
M(#$N,2XQ+C$@,3DY."\P,R\P-R`Q-#HT,3HQ-2!K96D@17AP("0*"CL[(%1H
M:7,@<')O9W)A;2!I<R!F<F5E('-O9G1W87)E.R!Y;W4@8V%N(')E9&ES=')I
M8G5T92!I="!A;F0O;W(*.SL@;6]D:69Y(&ET('5N9&5R('1H92!T97)M<R!O
M9B!T:&4@1TY5($=E;F5R86P@4'5B;&EC($QI8V5N<V4*.SL@87,@<'5B;&ES
M:&5D(&)Y('1H92!&<F5E(%-O9G1W87)E($9O=6YD871I;VX[(&5I=&AE<B!V
M97)S:6]N(#(*.SL@;V8@=&AE($QI8V5N<V4L(&]R("AA="!Y;W5R(&]P=&EO
M;BD@86YY(&QA=&5R('9E<G-I;VXN"@H[.R!4:&ES('!R;V=R86T@:7,@9&ES
M=')I8G5T960@:6X@=&AE(&AO<&4@=&AA="!I="!W:6QL(&)E('5S969U;"P*
M.SL@8G5T(%=)5$A/550@04Y9(%=!4E)!3E19.R!W:71H;W5T(&5V96X@=&AE
M(&EM<&QI960@=V%R<F%N='D@;V8*.SL@34520TA!3E1!0DE,2519(&]R($9)
M5$Y%4U,@1D]2($$@4$%25$E#54Q!4B!055)03U-%+B`@4V5E('1H90H[.R!'
M3E4@1V5N97)A;"!0=6)L:6,@3&EC96YS92!F;W(@;6]R92!D971A:6QS+@H*
M.SL@66]U('-H;W5L9"!H879E(')E8V5I=F5D(&$@8V]P>2!O9B!T:&4@1TY5
M($=E;F5R86P@4'5B;&EC($QI8V5N<V4*.SL@86QO;F<@=VET:"!T:&ES('!R
M;V=R86T[(&EF(&YO="P@=W)I=&4@=&\@=&AE($9R964@4V]F='=A<F4*.SL@
M1F]U;F1A=&EO;BP@26YC+BP@-C<U($UA<W,@079E+"!#86UB<FED9V4L($U!
M(#`R,3,Y+"!54T$N"@H[.SL@0V]M;65N=&%R>3H*"CL[(%1H:7,@9FEL92!C
M;V1E(&ES(&5X=')A8W1E9"!F<F]M(&QO;VMU<"UM;W5S92YE;"!F;W(@3&]O
M:W5P+@H[.R!&;W(@3&]O:W5P+"!S964@/%523#IH='1P.B\O=W=W+F]S:RXS
M=V5B+FYE+FIP+WYK;FES:&ED82]L;V]K=7`O/BX*.SL@"CL[(%1O('5S92P@
M861D(&9O;&QO=VEN9R!L:6YE<R!T;R!Y;W5R(&!^+RYE;6%C<R<N"CL[(`H[
M.R`@("AG;&]B86PM<V5T+6ME>2!;4RUM;W5S92TQ72`G;6]U<V4M<V5T+7!O
M:6YT*0H[.R`@("AG;&]B86PM<V5T+6ME>2!;4RUD;W=N+6UO=7-E+3%=("=N
M86UA>G4M;6]U<V4M9')A9RUR96=I;VXI"CL[("`@*&=L;V)A;"US970M:V5Y
M(%M3+61R86<M;6]U<V4M,5T@)VYA;6%Z=2UM;W5S92US970M<F5G:6]N*0H[
M.R`@("AG;&]B86PM<V5T+6ME>2!;4RUD;W5B;&4M;6]U<V4M,5T@)VYA;6%Z
M=2UM;W5S92US970M<&]I;G0I"CL[("`@*&%U=&]L;V%D("=N86UA>G4M;6]U
M<V4M9')A9RUR96=I;VX@(FYA;6%Z=2UM;W5S92(@;FEL('0I"@H[.SL@0V]D
M93H*"BAD969U;B!N86UA>G4M;6]U<V4M<V5T+7!O:6YT("AE=F5N="D*("`H
M:6YT97)A8W1I=F4@(F4B*0H@("AU;G=I;F0M<')O=&5C=`H@("`@("`H:68@
M*&YO="`H/2`H;W9E<FQA>2US=&%R="!M;W5S92UD<F%G+6]V97)L87DI"@D)
M("`H;W9E<FQA>2UE;F0@;6]U<V4M9')A9RUO=F5R;&%Y*2DI"@D@("AL970@
M*'1H:7,M8V]M;6%N9"D*"2`@("`H<'5S:"UM87)K("AO=F5R;&%Y+7-T87)T
M(&UO=7-E+61R86<M;W9E<FQA>2D@="!T*0H)("`@("AG;W1O+6-H87(@*&]V
M97)L87DM96YD(&UO=7-E+61R86<M;W9E<FQA>2DI"@D@("`@*&-O<'DM<F5G
M:6]N+6%S+6MI;&P@*'!O:6YT*2`H;6%R:R!T*2D*"2`@("`H;F%M87IU+7!A
M='1E<FX@*&-U<G)E;G0M:VEL;"`P*2DI"@DH9V]T;RUC:&%R("AO=F5R;&%Y
M+65N9"!M;W5S92UD<F%G+6]V97)L87DI*2D*("`@("AD96QE=&4M;W9E<FQA
M>2!M;W5S92UD<F%G+6]V97)L87DI*2D*"BAD969U;B!N86UA>G4M;6]U<V4M
M<V5T+7)E9VEO;B`H8VQI8VLI"B`@*&EN=&5R86-T:79E(")E(BD*("`H=6YW
M:6YD+7!R;W1E8W0@*'!R;V=N("AM;W5S92US970M<F5G:6]N(&-L:6-K*0H)
M"0D@*&YA;6%Z=2UP871T97)N("AC=7)R96YT+6MI;&P@,"DI*0H@("`@*&1E
M;&5T92UO=F5R;&%Y(&UO=7-E+61R86<M;W9E<FQA>2DI*0H**&1E9G5N(&YA
M;6%Z=2UM;W5S92UD<F%G+7)E9VEO;B`H<W1A<G0M979E;G0I"B`@(E-E="!T
M:&4@<F5G:6]N('1O('1H92!T97AT('1H870@=&AE(&UO=7-E(&ES(&1R86=G
M960@;W9E<BX*2&EG:&QI9VAT('1H92!D<F%G(&%R96$@87,@>6]U(&UO=F4@
M=&AE(&UO=7-E+@I4:&ES(&UU<W0@8F4@8F]U;F0@=&\@82!B=71T;VXM9&]W
M;B!M;W5S92!E=F5N="X*26X@5')A;G-I96YT($UA<FL@;6]D92P@=&AE(&AI
M9VAL:6=H=&EN9R!R96UA:6YS(&]N8V4@>6]U"G)E;&5A<V4@=&AE(&UO=7-E
M(&)U='1O;BX@($]T:&5R=VES92P@:70@9&]E<R!N;W0N(@H@("AI;G1E<F%C
M=&EV92`B92(I"B`@*&UO=7-E+6UI;FEB=69F97(M8VAE8VL@<W1A<G0M979E
M;G0I"B`@*&QE="H@*"AE8VAO+6ME>7-T<F]K97,@,"D*"2`H<W1A<G0M<&]S
M;B`H979E;G0M<W1A<G0@<W1A<G0M979E;G0I*0H)("AS=&%R="UP;VEN="`H
M<&]S;BUP;VEN="!S=&%R="UP;W-N*2D*"2`H<W1A<G0M=VEN9&]W("AP;W-N
M+7=I;F1O=R!S=&%R="UP;W-N*2D*"2`H<W1A<G0M9G)A;64@*'=I;F1O=RUF
M<F%M92!S=&%R="UW:6YD;W<I*0H)("AB;W5N9',@*'=I;F1O=RUE9&=E<R!S
M=&%R="UW:6YD;W<I*0H)("AT;W`@*&YT:"`Q(&)O=6YD<RDI"@D@*&)O='1O
M;2`H:68@*'=I;F1O=RUM:6YI8G5F9F5R+7`@<W1A<G0M=VEN9&]W*0H)"2`@
M("`@*&YT:"`S(&)O=6YD<RD*"0D@("`[.R!$;VXG="!C;W5N="!T:&4@;6]D
M92!L:6YE+@H)"2`@("@Q+2`H;G1H(#,@8F]U;F1S*2DI*0H)("AC;&EC:RUC
M;W5N="`H,2T@*&5V96YT+6-L:6-K+6-O=6YT('-T87)T+65V96YT*2DI*0H@
M("`@*'-E='$@;6]U<V4M<V5L96-T:6]N+6-L:6-K+6-O=6YT(&-L:6-K+6-O
M=6YT*0H@("`@*&UO=7-E+7-E="UP;VEN="!S=&%R="UE=F5N="D*("`@("AL
M970@*"AR86YG92`H;6]U<V4M<W1A<G0M96YD('-T87)T+7!O:6YT('-T87)T
M+7!O:6YT(&-L:6-K+6-O=6YT*2DI"B`@("`@("AM;W9E+6]V97)L87D@;6]U
M<V4M9')A9RUO=F5R;&%Y("AC87(@<F%N9V4I("AN=&@@,2!R86YG92D*"0D@
M("`@*'=I;F1O=RUB=69F97(@<W1A<G0M=VEN9&]W*2DI"B`@("`H9&5A8W1I
M=F%T92UM87)K*0H@("`@*&QE="`H979E;G0@96YD(&5N9"UP;VEN="D*("`@
M("`@*'1R86-K+6UO=7-E"@DH=VAI;&4@*'!R;V=N"@D)("AS971Q(&5V96YT
M("AR96%D+65V96YT*2D*"0D@*&]R("AM;W5S92UM;W9E;65N="UP(&5V96YT
M*0H)"2`@("`@*&5Q("AC87(M<V%F92!E=F5N="D@)W-W:71C:"UF<F%M92DI
M*0H)("`H:68@*&5Q("AC87(M<V%F92!E=F5N="D@)W-W:71C:"UF<F%M92D*
M"2`@("`@(&YI;`H)("`@("AS971Q(&5N9"`H979E;G0M96YD(&5V96YT*0H)
M"2`@96YD+7!O:6YT("AP;W-N+7!O:6YT(&5N9"DI"@H)("`@("AC;VYD"@D@
M("`@(#L[($%R92!W92!M;W9I;F<@=VET:&EN('1H92!O<FEG:6YA;"!W:6YD
M;W<_"@D@("`@("@H86YD("AE<2`H<&]S;BUW:6YD;W<@96YD*2!S=&%R="UW
M:6YD;W<I"@D)("`@*&EN=&5G97(M;W(M;6%R:V5R+7`@96YD+7!O:6YT*2D*
M"2`@("`@("AG;W1O+6-H87(@96YD+7!O:6YT*0H)("`@("`@*&QE="`H*')A
M;F=E("AM;W5S92US=&%R="UE;F0@<W1A<G0M<&]I;G0@*'!O:6YT*2!C;&EC
M:RUC;W5N="DI*0H)"2AM;W9E+6]V97)L87D@;6]U<V4M9')A9RUO=F5R;&%Y
M("AC87(@<F%N9V4I("AN=&@@,2!R86YG92DI*2D*"@D@("`@("AT"@D@("`@
M("`H;&5T("@H;6]U<V4M<F]W("AC9'(@*&-D<B`H;6]U<V4M<&]S:71I;VXI
M*2DI*0H)"2AC;VYD"@D)("@H;G5L;"!M;W5S92UR;W<I*0H)"2`H*#P@;6]U
M<V4M<F]W('1O<"D*"0D@("AM;W5S92US8W)O;&PM<W5B<B!S=&%R="UW:6YD
M;W<@*"T@;6]U<V4M<F]W('1O<"D*"0D)"2`@("`@;6]U<V4M9')A9RUO=F5R
M;&%Y('-T87)T+7!O:6YT*2D*"0D@*"@^/2!M;W5S92UR;W<@8F]T=&]M*0H)
M"2`@*&UO=7-E+7-C<F]L;"US=6)R('-T87)T+7=I;F1O=R`H,2L@*"T@;6]U
M<V4M<F]W(&)O='1O;2DI"@D)"0D@("`@(&UO=7-E+61R86<M;W9E<FQA>2!S
M=&%R="UP;VEN="DI*2DI*2DI*0H@("`@("`H:68@*&-O;G-P(&5V96YT*0H[
M.SL@5VAE;B!W92!S8W)O;&P@:6YT;R!T:&4@;6]D92!L:6YE(&]R(&UE;G4@
M8F%R+"!O<B!O=70@;V8@=&AE('=I;F1O=RP*.SL[('=E(&=E="!E=F5N=',@
M=&AA="!D;VXG="!F:70@=&AE<V4@8W)I=&5R:6$N"CL[.PD@("`@("`@*&5Q
M("AG970@*&5V96YT+6)A<VEC+71Y<&4@979E;G0I("=E=F5N="UK:6YD*2`G
M;6]U<V4M8VQI8VLI"CL[.PD@("`@("`@*&5Q("AP;W-N+7=I;F1O=R`H979E
M;G0M96YD(&5V96YT*2D@<W1A<G0M=VEN9&]W*0H[.SL)("`@("`@("AN=6UB
M97)P("AP;W-N+7!O:6YT("AE=F5N="UE;F0@979E;G0I*2D*"2`@*&QE="`H
M*&9U;B`H:V5Y+6)I;F1I;F<@*'9E8W1O<B`H8V%R(&5V96YT*2DI*2D*"2`@
M("`H:68@*&YO="`H;65M<2!F=6X@)RAM;W5S92US970M<F5G:6]N(&UO=7-E
M+7-E="UP;VEN="DI*0H)"2AI9B`H9F)O=6YD<"!F=6XI"@D)("`@("AF=6YC
M86QL(&9U;B!E=F5N="DI"@D@("`@("`H:68@*&YO="`H/2`H;W9E<FQA>2US
M=&%R="!M;W5S92UD<F%G+6]V97)L87DI"@D)"2`@*&]V97)L87DM96YD(&UO
M=7-E+61R86<M;W9E<FQA>2DI*0H)"2`@*&QE="`H;&%S="UC;VUM86YD('1H
M:7,M8V]M;6%N9"D*"0D@("`@*'!U<V@M;6%R:R`H;W9E<FQA>2US=&%R="!M
M;W5S92UD<F%G+6]V97)L87DI('0@="D*"0D@("`@*&=O=&\M8VAA<B`H;W9E
M<FQA>2UE;F0@;6]U<V4M9')A9RUO=F5R;&%Y*2D*"0D@("`@*&-O<'DM<F5G
M:6]N+6%S+6MI;&P@*'!O:6YT*2`H;6%R:R!T*2DI"@D)*&=O=&\M8VAA<B`H
M;W9E<FQA>2UE;F0@;6]U<V4M9')A9RUO=F5R;&%Y*2D*"0DH<V5T<2!T:&ES
M+6-O;6UA;F0@)VUO=7-E+7-E="UP;VEN="DI*2DI"B`@("`@("AD96QE=&4M
M;W9E<FQA>2!M;W5S92UD<F%G+6]V97)L87DI*2DI"@H[.R!A9&1E9"!B>2!(
M0BX**&1E9G5N(&YA;6%Z=2UP871T97)N("AP871T97)N*0H@(")396%R8V@@
M<&%T=&5R;B!B>2!D969A=6QT(&1I8W1I;VYA<FEE<RXB"B`@*&YA;6%Z=2`P
M(&YA;6%Z=2UL87-T+61I<B!P871T97)N*2D*"@H[.SL@;F%M87IU+6UO=7-E
.+F5L(&5N9',@:&5R90II
`
end