[要望] 分割禁止拡張で日付の分割禁止No.33047
Imabeppu さん 14/03/17 16:40
 
Imabeppu です。

「秀丸エディタ Ver.8.34」上で「分割禁止拡張 for 秀丸エディタ/秀
丸メール Ver.1.08」を使用しています。

私はメールの中で、日付をよく 3/17(月) の形式で書くのですが、この
分割を禁止することはできないでしょうか。

分割禁止拡張の設定を見ると、以下のようなものがあります。

  「123.56」のような小数点付きの数値全体を分割しない
  「1,000」のようなコンマで3桁つづ区切った数値全体を分割しない

日付を分割しない機能を追加する場合、今の流れから考えるとこの設定
が増えることになりそうなのですが、日付をどう書くのかは人によって
違ってくると思います。

できれば、「分割禁止ワード」の指定で正規表現が使えるとうれしいで
す。たとえば、「[regexp]」の行よりも後の指定は正規表現というのは
どうでしょう。

    ------------------------------------------------------------
    No-Div-Word-1
    No-Div-Word-2

    [regexp]
    (?<!\c)\d{1,2}/\d{1,2}(?!\c)
    (?<!\c)\d{2,4}/\d{1,2}/\d{1,2}(?!\c)
    (?<!\c)\d{1,2}/\d{1,2}\([月火水木金土日]\)
    (?<!\c)\d{2,4}/\d{1,2}/\d{1,2}\([月火水木金土日]\)
    ------------------------------------------------------------

以上、ご検討いただけるとありがたいです。


# 余談ですが、設定の文言が「3桁つづ」になってますね。

[ ]
RE:33047 [要望] 分割禁止拡張で日付の分No.33048
秀まるお2 さん 14/03/17 19:23
 
 とりあえず、ヘルプとダイアログボックスの「桁つづ」を「桁づつ」に修正…
……っと思ったのですが、さらに調べたら「ずつ」の方がいいみたいなので、
「桁ずつ」に修正させていただきます。ご指摘ありがとうございます。

ちなみに参考URL:
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1318934093

 あと、ヘルプの「3桁ずつ」の説明がなぜか2重になってました。これも直し
ます。

 で、本題の方ですが…

> 私はメールの中で、日付をよく 3/17(月) の形式で書くのですが、この
> 分割を禁止することはできないでしょうか。

 たぶん、「月、火、水…」が入ってるなら分割しないってことだと思うし、プ
ログラム的に判断するにも一筋縄でいかなさそうで…

> できれば、「分割禁止ワード」の指定で正規表現が使えるとうれしいで
> す。

 って対応をさせていただいた方がお得な気がします。

 仕組み的にもそんなに難しく無いと思うので、あとは分割禁止ワード用ファイ
ルでの指定方法をどうするかだけの問題になるかなぁと思います。

 分割禁止の処理は、折り返し桁の位置から分割禁止ワードの長さ分バックして
ヒットするかどうかチェックするので、正規表現パターンが最大何文字にヒット
するかの情報がある方がありがたい(処理が高速になる)です。なので、

    [regexp]
    6,(?<!\c)\d{1,2}/\d{1,2}(?!\c)
    11,(?<!\c)\d{2,4}/\d{1,2}/\d{1,2}(?!\c)
    10,(?<!\c)\d{1,2}/\d{1,2}\([月火水木金土日]\)
    15,(?<!\c)\d{2,4}/\d{1,2}/\d{1,2}\([月火水木金土日]\)

 のように、検索対象文字列の最大長さを指定してもらうようにした方がいいと
思います。

 (上記例では(?!\c)を使ってるので、実際にヒットする最大長さより1文字多
めに指定してもらう必要がある)

 とりあえずそういう方向でいじってみます。うまくいったらまた連絡させてい
ただきます。

[ ]
RE:33048 [要望] 分割禁止拡張で日付の分No.33049
秀まるお2 さん 14/03/18 23:11
 
 先ほど、分割禁止拡張のV2.00ということで、正規表現パターンによる分割禁
止文字列の指定に対応しました。

 分割禁止ワードの指定方法は、1つ1つの単語の前に

    [RegExp]

 を付けていただく形になります。さらに、正規表現の前に、正規表現パターン
をマッチングさせるのに必要な文字数を指定して、その後コンマを入れて正規表
現パターンを書いてもらう形式にしました。

 例:

[RegExp]12,秀丸(エディタ|メール)

 文字数は、多少多めに指定してもらってもかまいません。特に前方一致/不一
致指定とか、実際にヒットする文字列よりも前後の文字列が関係する場合は、そ
れらの分も含めて多めに指定してもらわないとダメかと思います。

 ということで一回試してみてほしいです。

32bit版:
http://hide.maruo.co.jp/software/bin3/nodiv200_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin3/nodiv200_x64_signed.exe

[ ]
RE:33049 [要望] 分割禁止拡張で日付の分No.33050
Imabeppu さん 14/03/19 00:01
 
Imabeppu です。

>  先ほど、分割禁止拡張のV2.00ということで、正規表現パターンによる分割禁
> 止文字列の指定に対応しました。

試してみました。
これまで手動で改行していたところを、自動で行えそうです。
また、工夫次第でいろいろな場面で使えそうです。
ますます便利になりました。ありがとうございました。

[ ]
RE:33049 [要望] 分割禁止拡張で日付の分No.33400
Imabeppu さん 14/08/20 11:39
 
Imabeppu です。

>  分割禁止ワードの指定方法は、1つ1つの単語の前に
>     [RegExp]

たとえば以下のように書くと、ファイル名らしき部分の途中で折り返さ
なくなると思ったのですが、うまくいきません。

  [RegExp]100,[\c/\\\.\-]+

以下のように折り返されます。(64桁で折り返す指定)

================================================================
テスト、テスト、テスト、TEST_FIL
E_NAME_TEST_FILE_NAME_TEST_FILE_NAME.txt
================================================================

指定方法に問題があるでしょうか。

[ ]
RE:33400 [要望] 分割禁止拡張で日付の分No.33401
秀まるお2 さん 14/08/20 15:55
 
 テストしてみたら再現できたのですが、すみませんがこれは元々の秀丸
エディタ側での、折り返し桁数に対しての追い出しできるワード長さの制限によ
る物で、仕様ということになります。

 正確な仕様が公開されてる訳ではないのですが、1行が64桁で折り返す設定だ
と、追い出し禁則できる文字数はたぶんその半分の32桁程度になって、それを超
える文字列を追い出し禁則することが出来ないです。なので、禁則を無視して適
当な所で折り返し処理されてしまいます。

 あんまり大きく追い出し禁則すると、いわゆる無限追い出しのようなことが起
きる可能性があって、そうすると秀丸エディタがハングアップしたり、行数
オーバーのエラーが起きたりします。実際、昔そういうバグが出たことがあって、
追い出しできる桁数もいろいろ試行錯誤したことがありました。

 ということで、その辺制限があるということでお願いします。

[ ]
RE:33401 [要望] 分割禁止拡張で日付の分No.33402
Imabeppu さん 14/08/20 20:00
 
Imabeppu です。

>  テストしてみたら再現できたのですが、すみませんがこれは元々の秀丸
> エディタ側での、折り返し桁数に対しての追い出しできるワード長さの制限によ
> る物で、仕様ということになります。

そうなんですね。仕様ならば仕方ないですね。了解です。
回答、ありがとうございました。

[ ]