◀一般トップへ
  • 1511 強調キーワードの制限
    • 1529 Re:強調キーワードの制限
      • 1536 Re2:強調キーワードの制限
        • 1537 Re3:強調キーワードの制限
        • 1547 Re3:強調キーワードの制限
      • 1543 Re2:強調キーワードの制限
        • 1544 Re3:強調キーワードの制限
          • 1548 Re4:強調キーワードの制限
            • 1565 Re5:強調キーワードの制限
      • 1573 補完と強調は別物です
        • 1574 Re:補完と強調は別物です
        • 1586 Re:補完と強調は別物です
    • 1627 Re:強調キーワードの制限
  • [1511] 強調キーワードの制限 tetti 2002年04月01日 10:34

    強調キーワードには現在 "_","#","$","@","\" 以外の記号は使えないとありますが、この制限を無くすことはできないのでしょうか。
    是非制限を無くして欲しいのですが、技術的に難しいのでしょうか?

    もし、制限撤廃不可能ならユーザーが使えない文字を登録しようとしたらダイアログを出すなり注意してはどうでしょう。
    登録されるのに強調されないので困惑します。
    • [1529] Re:強調キーワードの制限 Youma 2002年04月04日 10:50

      ▼ tettiさん
      > 強調キーワードには現在 "_","#","$","@","\" 以外の記号は使えないとありますが、この制限を無くすことはできないのでしょうか。
      > 是非制限を無くして欲しいのですが、技術的に難しいのでしょうか?
      >
      > もし、制限撤廃不可能ならユーザーが使えない文字を登録しようとしたらダイアログを出すなり注意してはどうでしょう。
      > 登録されるのに強調されないので困惑します。

      ・・・あ! これが原因なのかな?
      私は [ document.location.hostname ] とか
      [ .hostname ]とか色々なパターン試したんですが
      [ . ]が含まれる情報は強調表示されないんですよねTT
      さらに[ .hostname ]等を入力補完しようとし、
      [ . ]入力後に入力補完を起動すると補完リスト内に[ .hostname ]が
      入ってるけど、続きの[ h ]を入力した瞬間、[ . ]の情報が消えて
      [ h ]から始まる対象だけが補完リストに・・・
      その為[ .hostname ]はリストから姿を消します。
      この挙動は悲しいですよねぇ~。
      • [1536] Re2:強調キーワードの制限 tetti 2002年04月05日 23:47

        私もいろいろな場面で悲しい思いをしてます。
        とにかくこの制限のせいで、いろんな可能性を失っている気がします。
        新しい機能追加よりもこちらを改善していただきたいのですが、かなり昔から引きずってるみたいで、それほど難しいのでしょうか? >開発に携わっている方々
        • [1537] Re3:強調キーワードの制限 やざき 2002年04月06日 00:38

          ▼ tettiさん
          > 私もいろいろな場面で悲しい思いをしてます。
          > とにかくこの制限のせいで、いろんな可能性を失っている気がします。
          > 新しい機能追加よりもこちらを改善していただきたいのですが、かなり昔から引きずってるみたいで、それほど難しいのでしょうか? >開発に携わっている方々

          さて、どうなんでしょうね。
          強調キーワードのあたりのソースコードを読んだことが無いので、私には今すぐには修正できません。
          と回答することしかできません。
          開発に協力していただければ幸いです > tettiさん
        • [1547] Re3:強調キーワードの制限 KENCH 2002年04月08日 08:59

          ▼ tettiさん
          > 新しい機能追加よりもこちらを改善していただきたいのですが、かなり昔から引きずってるみたいで、それほど難しいのでしょうか? >開発に携わっている方々
           sakuraのソースを調べて話しているわけではありませんが、一般的には、"\"などの文字は漢字の2バイト目に使われているので単純に組み入れると漢字の半分が強調されたりとかメタメタになりそうです。
          あとか、トークン解析など幾つかのロジック的な要因があるかもしれませんが、記号は良く考えて実装しないとどこで歪みが出るか(というかロジックをかなり見直してテストしないと)難しそうです。
      • [1543] Re2:強調キーワードの制限 げんた 2002年04月07日 01:43

        ▼ Youmaさん
        > [ . ]入力後に入力補完を起動すると補完リスト内に[ .hostname ]が
        > 入ってるけど、続きの[ h ]を入力した瞬間、[ . ]の情報が消えて
        > [ h ]から始まる対象だけが補完リストに・・・
        > その為[ .hostname ]はリストから姿を消します。

        現在の作りで'.'を対象に加えてしまうと、abcdeを候補に加えてもhoge.abcdeは候補に出ないことになってしまうような気がします。(hoge.abcdeとabcdeを先頭から比較するので)
        これだともっと都合が悪くないですか?

        もちろんロジックを見直せば改善可能だとは思いますが。
        • [1544] Re3:強調キーワードの制限 げんた 2002年04月07日 02:10

          現在は、
          1. 現在位置の単語取得
          2. 候補の一覧
          というのを候補が表示されている間毎回行われる感じです。
          1. は共通関数を使っているので記号類を候補に加えるのは全ての単語区切り(ダブルクリック時の選択範囲など)に影響します。

          それを避けるためにはロジックの見直しが必要でしょう。
          現在は常に単語を元に再検索していますが、候補が表示されている間は比較開始位置が変わらないことを考慮することはできるのかな。(未調査)
          • [1548] Re4:強調キーワードの制限 Youma 2002年04月08日 10:54

            ▼ げんたさん
            > 現在は、
            > 1. 現在位置の単語取得
            > 2. 候補の一覧
            > というのを候補が表示されている間毎回行われる感じです。
            > 1. は共通関数を使っているので記号類を候補に加えるのは全ての単語区切り(ダブルクリック時の選択範囲など)に影響します。
            >
            > それを避けるためにはロジックの見直しが必要でしょう。
            > 現在は常に単語を元に再検索していますが、候補が表示されている間は比較開始位置が変わらないことを考慮することはできるのかな。(未調査)

            うーん、なんだか難しそうだ(ーー;
            特に、単語選択(左ダブルクリック)の時、「 . 」が有効に
            なってしまうのは痛いかもしれないです。

            通常の補完の場合を考えるなら、「 . 」を一文字と考えて
            「 .hoge 」 と 「 hoge 」は別物とすればいい気もします。
            ( 単語ファイルは美しくなくなりますが…(W) )

            ---イメージしていた最低限の補完---
            hoge
            .hoge
            huga.hoge

            .hogeがある時は .h 補完変換が可能になる//
            huga.hoge がある時は huga. 補完変換が可能になる//

            当然、 hoge が無ければ h 補完変換時に hoge は出てこない。
            (.hoge があっても)

            -------------------------------

            只、上記仕様だと、
            abc.item
            hoge.item

            と、abc / hoge のどちらにも item という プロパティが
            ある場合、 abc. 等で補完させる為には
            abc.item / hoge.item と両方用意しないと駄目なんですよね
            (ちと面倒。 が、しかたない。)

            まぁ、それもこれも「 . 」を補完候補内で「普通の文字」と
            扱わせる事が可能な時のみですよね。

            …ダブルクリック選択時に [ . ] も含まってしまうと、
            ものすごい、不都合がありそうですし。
            その問題がある限りはちょっと無理っぽいですね(TT)
            • [1565] Re5:強調キーワードの制限 げんた 2002年04月09日 00:47

              ▼ Youmaさん
              > うーん、なんだか難しそうだ(ーー;
              > 特に、単語選択(左ダブルクリック)の時、「 . 」が有効に
              > なってしまうのは痛いかもしれないです。
              ダブルクリックしても補完で使える@や\は選択対象にならないので私の推論は間違っている可能性が高いです。
              (ちゃんとソースを追っていませんでしたので...)
      • [1573] 補完と強調は別物です げんた 2002年04月09日 23:50

        Youmaさんにつられて補完について答えてしまいましたが、tettiさんの元々の話は強調キーワードについてでしたね。

        この2つは内部的には別物です。補完の方は現在でも@#_$\といった記号類を含む文字列を認識しません。

        強調キーワードに関しては単語の一部だけが強調されることを防ぐためにアルファベットとそれ以外(だったかな?)を境にワードを切り出して比較しています。
        強調に使える記号類はここでの切り出しにおいてアルファベットと一続きと認識するようになっています。
        ただ、こちらも補完と同様の問題がありまして、たとえば単に'.'を認識するようにすると、キーワードabcを設定してもabc.efgが強調されなくなってしまいます。
        すでに現在でもこの状態では@abcや\abcは強調表示されません。
        • [1574] Re:補完と強調は別物です Youma 2002年04月10日 10:08

          ▼ げんたさん
          > Youmaさんにつられて補完について答えてしまいましたが、tettiさんの元々の話は強調キーワードについてでしたね。
          >
          > この2つは内部的には別物です。補完の方は現在でも@#_$\といった記号類を含む文字列を認識しません。
          >
          > 強調キーワードに関しては単語の一部だけが強調されることを防ぐためにアルファベットとそれ以外(だったかな?)を境にワードを切り出して比較しています。
          > 強調に使える記号類はここでの切り出しにおいてアルファベットと一続きと認識するようになっています。
          > ただ、こちらも補完と同様の問題がありまして、たとえば単に'.'を認識するようにすると、キーワードabcを設定してもabc.efgが強調されなくなってしまいます。
          > すでに現在でもこの状態では@abcや\abcは強調表示されません。


          …あ、なるほど! となると、私が考えていたような強調/補完ファイルは
          確実に無理ですね(TT)

          1)補完では[ . ]を文字として認識させる
          2)強調表示時は[ . ]は記号として区別する…

          と、内部的な処理を分けたとすると…
          それにあわせた各強調表示用ファイル と 入力補完用ファイルが
          必要になってしまう…うーん、メンドイ。
          [ . ]の扱いに関してはあきらめときますぅ~。

          ここは素直に、Tettiさんの案の強調表示されるはずの単語リストから、
          実際に強調表示されない物は登録できない/リストから外す…
          というのが良さそうですねぇ~。
          それはそれで難しそうですが(--;)
        • [1586] Re:補完と強調は別物です tetti 2002年04月12日 14:29

          PCがいかれて返信が遅くなってしまいました。

          ▼ げんたさん
          > Youmaさんにつられて補完について答えてしまいましたが、tettiさんの元々の話は強調キーワードについてでしたね。
          >
          > この2つは内部的には別物です。補完の方は現在でも@#_$\といった記号類を含む文字列を認識しません。
          >
          > 強調キーワードに関しては単語の一部だけが強調されることを防ぐためにアルファベットとそれ以外(だったかな?)を境にワードを切り出して比較しています。
          > 強調に使える記号類はここでの切り出しにおいてアルファベットと一続きと認識するようになっています。
          > ただ、こちらも補完と同様の問題がありまして、たとえば単に'.'を認識するようにすると、キーワードabcを設定してもabc.efgが強調されなくなってしまいます。
          > すでに現在でもこの状態では@abcや\abcは強調表示されません。

          丁寧な説明ありがとうございます。
          なるほど、設計段階からの単語処理との関係で、現状の実装ではあっちを立てるとこっちが立たずになってるんですね。
          長い間、修正されない理由が分かった気がします。

          単語処理と切り離してアレコレなんて自分で直せればいいのですが、Web以外の言語に疎い私には無理そうです。(^_^;
          きっとえらく難しいんでしょうね。
    • [1627] Re:強調キーワードの制限 錯乱坊 2002年04月16日 15:01

      ▼ tettiさん
      > 強調キーワードには現在 "_","#","$","@","\" 以外の記号は使えないとありますが、この制限を無くすことはできないのでしょうか。
      > 是非制限を無くして欲しいのですが、技術的に難しいのでしょうか?
      >
      > もし、制限撤廃不可能ならユーザーが使えない文字を登録しようとしたらダイアログを出すなり注意してはどうでしょう。
      > 登録されるのに強調されないので困惑します。

      私は、正規表現キーワードで逃げてます。結構使えます。「.」なら /.hostname/k を登録して、正規表現キーワードの色を強調キーワードと同じにすれば良いのではないでしょうか。正規表現キーワードは 10個あるので、色々出来そうですよ。