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