先頭にシャープ(#)がつく行が含まれる場合No.36487
さかより さん 18/04/24 16:25
 
折りたたみ可能な条件の設定に「インデントの深さ」を含めています。

下記の例で、先頭がシャープで始まる場合に、折りたたみの判定が望む結果にならな
いようです。NGの例とOKの例を記載しました。

 【期待値】「札幌」と「1丁目」の行のみ(2行)が折りたたまれる
 【現状】「札幌」から「# 青森」までの行(4行)が折りたたまれる

== NGの例 ここから==========================
# 北海道
 釧路
  あああ町
 札幌
  1丁目

# 青森
 五所川原
== NGの例 ここまで==========================


== OKの例 ここから==========================
北海道
 釧路
  あああ町
 札幌
  1丁目

青森
 五所川原
== OKの例 ここまで==========================



以下の折りたたみ条件判定の設定を変えてみましたが、事象は変わらないようです。
「#ifdef等の区切り」
「コメントとC言語のラベル等の無視」
「空行区切り」

回避する設定があればお教えいただけると幸いです。

[ ]
RE:36487 先頭にシャープ(#)がつく行が含No.36488
秀丸担当 さん 18/04/24 17:32
 

NGの例で試してみて、確かにおかしいことが確認できました。
これはC言語の#ifdef等の行を無視するための動作でした。
「コメントとC言語のラベル等の無視」のオプションは昔は無くて、コメント等で似
た問題があったので、V8.30でこのオプションでOFFにできるようにしたのですが、#
がある場合については対応できていませんでした。
今後のバージョンで、「コメントとC言語のラベル等の無視」をOFFにすればできるよ
うに修正させていただきます。

現状で折りたたみ可能な範囲の設定で回避するのは難しいです。

近い方法としては、アウトライン解析で似たものを定義して、折りたたみ可能な条件
に「アウトライン解析との対応」だけを指定しておくと、似た感じになりますが、場
合によっては大量になるので現実的はないと思います。
アウトライン解析でやるとしたら、ツリー表示の定義で追加して、種類は「文字列」
の正規表現で「(\s*).*\n\1\s」として、オプションの「インデントの深さでレベル
を決める」で追加すると、近い感じになります。
いずれにしても今後のバージョンで修正させていただきます。

[ ]
RE:36488 先頭にシャープ(#)がつく行が含No.36489
さかより さん 18/04/24 18:51
 
ご確認をありがとうございます。修正バージョンを待ちます。

[ ]
RE:36489 先頭にシャープ(#)がつく行が含No.36495
秀丸担当 さん 18/04/26 09:57
 

V8.81β7を作成しました。
「コメントとC言語のラベル等の無視」をOFFにすると「#」の行は無視しないように
しています。

以下のページの「先行開発バージョンはこちら」からダウンロードできます。
http://hide.maruo.co.jp/software/hidemaru.html

[ ]