// -*- ASCII:EDT -*- LetRegNum(9,-1); Loop(!`> SetOK(1);> FindInString("%$('complete_words');","",8,9,1001,%!9);> IfOK(!"> ExtractByIndex(1,'%$(|complete_words|);',%!8,%!9-2);> Release('%!1');",> "Stop;");> `); Release("complete_words"); GetSel(1,1); Mark(0); SetTracking(0); CMD("Select Word Left"); LetReg(0,"%S"); SetSel(0); Goto(0); SetTracking(1); Refresh; // Anything selected? FindInString("%!0","^{<@{ }>}",8,9,1001,0); IfNum(9,0,"<","Beep(0);Exit;"); GetLength(2, "%!0"); LetRegNum(9, 0); LetRegNum(5, 0); Interface("Completions for '%!0'"); Loop(!*> FindInString("%!1", '$~Alpha$%!0+$Alpha$', 8, 9, 1011, %!9);> IfNum('%!8', '%!9', '>', 'Stop;', !'> ExtractByIndex(3, "%!1", %!8+1, %!9);> FindInString("%!3", "%!0", 6, 7, 1);> GetLength(8, "%!3");> ExtractByIndex(4, "%!3", %!7+1, %!8);> IfStr("%$(`cw_%!3`);", "1", "=", "", > !|Item("%!3","Ins(`%!4`);");LetRegNum(5, %!5 + 1);> Assign("cw_%!3", "1");> Assign("complete_words","%$(`complete_words`);cw_%!3%\");> |);> ');> *); BeginGroup; IfNum("%!5", "1", "=", !'Ins("%!4");EndGroup;Exit;'); IfNum("%!5", "0", ">", !"ShowList(1, 1, 'Do(`%%?`);', 'Exit;', 1);","Beep(0);"); EndGroup; End; // Denis Stancer