一部のPLSQL関数/プロシージャ引数にスマートオムニ補完を実装しようとしています。そのような関数はすべてオーバーロードされる可能性があるため、最初に、オーバーロードされたすべてのバージョンのすべての引数を提供します。たとえば、これがあると仮定します。
procedure test(param1 varchar2, param2 varchar2); <= overload 1
procedure test(p1 integer, p2 integer); <= overload 2
procedure test(p1 date, p2 date, p3 date); <= overload 3
入力時に提供するリストexec test(|<=cursor here
は次のとおりです。
param1 [o1]
param2 [o1]
p1 [o2]
p2 [o2]
p1 [o3]
p2 [o3]
p3 [o3]
ユーザーが"p1 [o2]"
完了ポップアップメニューから選択した場合、選択内容を覚えておき、次の完了試行のために、[o2]パラメーターのみでフィルター処理されたリストを提供するか、別の方法で並べ替えて、[o2]アイテムを最初に表示するようにします。 。
問題は、ユーザーが完了ポップアップメニューから選択して受け入れたアイテムを取得する方法がわからないことです。それを達成するためのクリーンな方法はありますか?ユーザーケースのシナリオ全体を念頭に置いているのはちょっとおかしいですが、始める前に行き詰まってしまいました。ユーザーがリストから何を選択したかを知らなければ、この種の「自己学習/適応型」コード補完システムを実装することは困難です。