mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
add adict
This commit is contained in:
parent
566f93c70d
commit
474ef69496
1 changed files with 86 additions and 0 deletions
86
bin/adict
Executable file
86
bin/adict
Executable file
|
@ -0,0 +1,86 @@
|
|||
#!/usr/local/plan9/bin/rc
|
||||
|
||||
. $PLAN9/lib/acme.rc
|
||||
|
||||
fn event {
|
||||
# $1 - c1 origin of event
|
||||
# $2 - c2 type of action
|
||||
# $3 - q0 beginning of selection
|
||||
# $4 - q1 end of selection
|
||||
# $5 - flag
|
||||
# $6 - nr number of runes in $7
|
||||
# $7 - text
|
||||
# $8 - chorded argument
|
||||
# $9 - origin of chorded argument
|
||||
|
||||
switch($1$2){
|
||||
case E* # write to body or tag
|
||||
case F* # generated by ourselves; ignore
|
||||
case K* # type away we do not care
|
||||
case Mi # mouse: text inserted in tag
|
||||
case MI # mouse: text inserted in body
|
||||
case Md # mouse: text deleted from tag
|
||||
case MD # mouse: text deleted from body
|
||||
|
||||
case Mx MX # button 2 in tag or body
|
||||
winwriteevent $*
|
||||
|
||||
case Ml ML # button 3 in tag or body
|
||||
{
|
||||
if(~ $dict NONE)
|
||||
dictwin /adict/$7/ $7
|
||||
if not
|
||||
dictwin /adict/$dict/$7 $dict $7
|
||||
} &
|
||||
}
|
||||
}
|
||||
|
||||
fn dictwin {
|
||||
newwindow
|
||||
winname $1
|
||||
switch($#*){
|
||||
case 1
|
||||
dict -d '?' >[2=1] | sed 1d | winwrite body
|
||||
case 2
|
||||
dict=$2
|
||||
case 3
|
||||
dict=$2
|
||||
dict -d $dict $3 >[2=1] | winwrite body
|
||||
}
|
||||
winctl clean
|
||||
wineventloop
|
||||
}
|
||||
|
||||
dict=NONE
|
||||
if(~ $1 -d){
|
||||
shift
|
||||
dict=$2
|
||||
shift
|
||||
}
|
||||
if(~ $1 -d*){
|
||||
dict=`{echo $1 | sed 's/-d//'}
|
||||
shift
|
||||
}
|
||||
if(~ $1 -*){
|
||||
echo 'usage: adict [-d dict] [word...]' >[1=2]
|
||||
exit usage
|
||||
}
|
||||
|
||||
switch($#*){
|
||||
case 0
|
||||
if(~ $dict NONE)
|
||||
dictwin /adict/
|
||||
if not
|
||||
dictwin /adict/$dict/ $dict
|
||||
case *
|
||||
if(~ $dict NONE){
|
||||
dict=`{dict -d'?' | 9sed -n 's/^ ([^\[ ]+).*/\1/p' | sed 1q}
|
||||
if(~ $#dict 0){
|
||||
echo 'no dictionaries present on this system' >[1=2]
|
||||
exit nodict
|
||||
}
|
||||
}
|
||||
for(i)
|
||||
dictwin /adict/$dict/$i $dict $i
|
||||
}
|
||||
|
Loading…
Reference in a new issue