Working on context-sensitive completion

db4
Slava Pestov 2009-01-12 14:31:59 -06:00
parent 806c0f4900
commit d4c82f8743
1 changed files with 6 additions and 6 deletions

View File

@ -416,7 +416,7 @@ M: listener-gadget ungraft*
! Foo ! Foo
USING: summary ui.gadgets.labels ui.gadgets.tables colors ui.render USING: summary ui.gadgets.labels ui.gadgets.tables colors ui.render
ui.gadgets.worlds ui.gadgets.glass tools.completion ui.gadgets ; ui.gadgets.worlds ui.gadgets.glass tools.completion ui.gadgets splitting ;
USE: tools.completion USE: tools.completion
: <summary-gadget> ( model -- gadget ) : <summary-gadget> ( model -- gadget )
@ -479,15 +479,15 @@ completion-popup H{
[ find-world ] dip [ find-world ] dip
{ 0 0 } show-glass ; { 0 0 } show-glass ;
: complete-IN:/USE:? ( object -- object ) : complete-IN:/USE:? ( tokens -- ? )
2 short tail* { "IN:" "USE:" } intersects? ; 2 short tail* { "IN:" "USE:" } intersects? ;
: complete-USING:? ( tokens -- ? )
{ ";" } split1-last nip { "USING:" } intersects? ;
: vocab-completion? ( interactor -- ? ) : vocab-completion? ( interactor -- ? )
[ editor-string ] [ editor-caret* ] bi head " " split [ editor-string ] [ editor-caret* ] bi head " " split
{ { [ complete-IN:/USE:? ] [ complete-USING:? ] } 1|| ;
[ complete-IN:? ]
[ { ";" } last-split1 ]
} 1|| ;
: word-completion-popup ( interactor -- ) : word-completion-popup ( interactor -- )
dup <word-completion-popup> (show-completion-popup) ; dup <word-completion-popup> (show-completion-popup) ;