scieditor2 12 version 4
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
scieditor2 12
191002
# 複数行検索の実装
- シンチラの検索では対応していない
置換については \r\n を指定したら改行してくれるが、検索はダメ
- そこで python で検索して、その結果をシンチラで表示する事を考えた
シンチラから全体文書を取得して python で正規表現検索をかけること自体は出来た
検索結果はマッチオブジェクトとして返り、start , end メソッドで位置がわかる
- しかしpythonの戻り値は文字ベースになっているが、シンチラで位置を指定する場合は、行+文字数か、バイトベースかのいずれか。**行無しの文字ベースだと位置指定できない ┐('д')┌**
- しばし悩み中
191003
# 複数行検索の実装2
- 新たに二つの関数をscintillaの派生クラス内に実装してうまくいった ( ´∀`)
①パイソンで得られた文字インデクスを、scintillaの行+インデクスに変換
②scintillaで得られた行+インデクスをパイソン用の文字インデクスに変換
- pythonの検索結果をscintillaに反映させることがテーマでこれは①
pythonで次を検索する時に検索開始位置を指定するが、それをscintillaからもらうこと、①の丁度逆になるけどそれが②
- scintillaは文書を文字ベースだと行単位、全体はバイト単位で管理している模様
n行のm文字目、は直ぐに指定できるが、先頭から1000文字目、は指定できない
先頭から1000バイト目なら指定できる
- しかし各行の文字数はわかるから、積み上げていけば結局はわかる
先頭から1000文字目は、0行目から文字数を取得して加算していって、初めて1000文字を超えた行内にあるということになる
力業ではあるがこの考え方で実装したらすっきり行けた
- しかし、**力業過ぎるのでもっとスマートにしたい**んだが・・・
- そのあとだが、肝心の置換(グループマッチ)が今ひとつうまくいかない
もう一息だと思うんだけど・・・
---
191005-
# 複数行検索3
置換も(グループマッチ)正常に動作してたことがワカタ(¯―¯٥)
ここはなかなか難しいところだった
いずれにしても複数行検索~置換はうまく行ってる
キーボードで操作できるようにした
# エンコードエラー
エラーポジションに移動
----
└──> [scieditor2](https://mimemo.io/m/zeXgworpjz4K0Ek)
191002
複数行検索の実装
- シンチラの検索では対応していない
置換については \r\n を指定したら改行してくれるが、検索はダメ - そこで python で検索して、その結果をシンチラで表示する事を考えた
シンチラから全体文書を取得して python で正規表現検索をかけること自体は出来た
検索結果はマッチオブジェクトとして返り、start , end メソッドで位置がわかる - しかしpythonの戻り値は文字ベースになっているが、シンチラで位置を指定する場合は、行+文字数か、バイトベースかのいずれか。行無しの文字ベースだと位置指定できない ┐('д')┌
- しばし悩み中
191003
複数行検索の実装2
- 新たに二つの関数をscintillaの派生クラス内に実装してうまくいった ( ´∀`)
①パイソンで得られた文字インデクスを、scintillaの行+インデクスに変換
②scintillaで得られた行+インデクスをパイソン用の文字インデクスに変換 - pythonの検索結果をscintillaに反映させることがテーマでこれは①
pythonで次を検索する時に検索開始位置を指定するが、それをscintillaからもらうこと、①の丁度逆になるけどそれが② - scintillaは文書を文字ベースだと行単位、全体はバイト単位で管理している模様
n行のm文字目、は直ぐに指定できるが、先頭から1000文字目、は指定できない
先頭から1000バイト目なら指定できる - しかし各行の文字数はわかるから、積み上げていけば結局はわかる
先頭から1000文字目は、0行目から文字数を取得して加算していって、初めて1000文字を超えた行内にあるということになる
力業ではあるがこの考え方で実装したらすっきり行けた - しかし、力業過ぎるのでもっとスマートにしたいんだが・・・
- そのあとだが、肝心の置換(グループマッチ)が今ひとつうまくいかない
もう一息だと思うんだけど・・・
191005-
複数行検索3
置換も(グループマッチ)正常に動作してたことがワカタ(¯―¯٥)
ここはなかなか難しいところだった
いずれにしても複数行検索~置換はうまく行ってる
キーボードで操作できるようにした
エンコードエラー
エラーポジションに移動
└──> scieditor2