◀ANSI版開発トップへ
  • 4787 入力補完とかキーワードヘルプ
    • 4788 RE: 入力補完とかキーワードヘルプ
      • 4789 Re2: 入力補完とかキーワードヘルプ
  • [4787] 入力補完とかキーワードヘルプ wakura 2007年03月28日 21:47


    WindowsAPIとかをがっつり登録したらプログラミングに便利かな~と
    思ったのですが、これって、テキストファイルの単純検索ですよね。
    むっちゃ遅くなりそうなんですが、みなさんどのくらい登録して使っ
    てるのでしょうか。

    テキストベースの高速検索にできないかなぁと思って探したところ
    sqliteとか使えばどうなんだろうとか思ったしだいです。

    http://www.sqlite.org/
    • [4788] RE: 入力補完とかキーワードヘルプ げんた 2007年03月29日 00:09

      >sqliteとか使えばどうなんだろうとか思ったしだいです。
      sqliteだとLIKEで前方一致ができるってことですか.

      とか個別に考えるよりもglobe対応の話もあるので,先頭部分を渡したら補完候補一覧を返してくれるインターフェースだけ定義して,必要な人はwebでもDBでも何でも使えるようにするほうが,エディタ側も楽だし外側は自由にできて良いのでは?
      • [4789] Re2: 入力補完とかキーワードヘルプ fon 2007年03月31日 02:19

        GTAGSによる補完機能を実装しました。何となく動いているんですが、補完候補が出ないことがあり難航しています。globalからの出力の受け取りが間に合わないとか、そういう類の問題だとは思うのですが。。
        他にも煮詰まってきている問題などがありますので、いったんリリースさせてください。
        問題点を下記に列挙しておきます。

        v0.5 現行版 (v0.4版からの差分情報)
        -c(補完機能)オプション対応。「設定→タイプ別設定→支援」にGTAGS補完追加。
        制限事項:
         GTAGSによる補完機能は一応実装したが、出力系がうまくいっていないせいか
         補完候補を出してくれないことがある。
         この場合CTRLを押したままSPACEを連打したり頑張ると、表示されるようにな
         る。(謎)

        sakura-wiki> Junk/31: Global検索 テスト版

        ■現在残っている目立つ問題1~4

        CEditView::Command_GTAGS()
        {
        CmdExePrep()///うまく機能せず★問題1
        finish:
        ///ハイライト処理.うまく行かず★問題2
        }
        CEditView::Update_GTAGS()
        {
        CmdExePrep()///うまく機能せず★問題1
        }
        CEditView::HokanOut()
        {
        do {
        switch(){
        case WAIT_OBJECT_0:///ここに入ってくれない★問題3
        bLoopFlag = FALSE;
        break;
        ...
        }
        if(PeekNamedPipe()){
        while(){
        ...
        ///↓この辺の作りが悪く?Hokan機能が働かないことがある★問題4
        if( NULL == *ppcmemKouho ){
        *ppcmemKouho = new CMemory;
        (*ppcmemKouho)->SetDataSz( work );
        }else{
        (*ppcmemKouho)->AppendSz( work );
        } } }
        bLoopFlag = FALSE; ///暫定的に1Loopで抜けるようにした★問題3
        } while( bLoopFlag || new_cnt > 0 );
        }
        CEditView::Hokan_GTAGS()
        {
        CmdExePrep()///うまく機能せず★問題1
        }