Skip to content

Commit

Permalink
Replace pos-eol with line-end-position
Browse files Browse the repository at this point in the history
pos-eol requires Emacs 29.
  • Loading branch information
misohena committed Feb 16, 2025
1 parent 076b85b commit 4a5fe47
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
2 changes: 1 addition & 1 deletion edraw-color.el
Original file line number Diff line number Diff line change
Expand Up @@ -1908,7 +1908,7 @@ POS is preferred."

(save-excursion
(goto-char pos)
(let ((eol (pos-eol))
(let ((eol (line-end-position))
(match-data nil))
(forward-line 0)
(while (and (re-search-forward regexp eol t)
Expand Down
36 changes: 31 additions & 5 deletions todo.org
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@

* Inbox
** TODO 色/古い色を新しい色の下に表示する
プロパティの現在の色(つまりinitial-color)とカラーピッカー内で選択中の色を並べて表示したい。

** TODO 色/カラーピッカーから出力する形式を変更できるようにする
HEX, rgb, hsl, hwb, lab, lch, oklab, oklchから選びたい。
カラーピッカー上に全てのボタンにするのはつらいので、どうしたらよいのだろう。
カラーピッカーにメニューボタンが必要なのではないか。

** TODO 色/カラーピッカー外のクリックでまた開かないようにしたい
色置き換え・挿入コマンド使用時、ピッカーの外をクリックした時に、その場所でまた開かないようにしたい。downイベントで閉じてclickイベントで開いてしまう。

Expand Down Expand Up @@ -27,6 +35,26 @@ customize-variableからのedraw関連の設定などは特にCustom-modeバッ

現在は図形の色を変えるのが面倒くさい。右クリック→設定→塗りなどと選ぶのが面倒くさい(せめて設定がコンテキストメニューの一番上にあれば)。選択してp fを押すのが一番簡単だが、これはマウスで選択してからわざわざマウスから手を離してキーボードを押さなければならない(左手で押せるキーなら問題は少ないが)。

** TODO 任意の図形をハイパーリンクのリンク元に出来るようにする
[[https://github.com/misohena/el-easydraw/issues/35#event-16292261418][feature requst: support insert link to local svg file and can load the file to editor when click the link · Issue #35 · misohena/el-easydraw]]

A要素に対応するのが一番理想的。

ただ、現在の構造ではこれは大変困難。A要素の属性を図形の属性に展開してしまうのが一番簡単。つまり:
- 読み込み時にA要素があったら、それをA要素内の子供達の属性にしてしまう(Unwrap)。入れ子に注意が必要。<a><rect/><a><rect/><a><rect/></a></a><rect/></a>みたいな。
- 書き込み時にA要素で包み直す。

*A要素の属性をどの程度生かすかが問題* :
hrefだけで良いのであれば(特にプロパティエディタの実装が)簡単だけど。
完全に生かすなら要素を丸丸属性にする方が手っ取り早いかもしれない。いや、属性リストだけあれば十分か?
複数の子供の間でA要素を共有するかどうか。例えば <a href="..."><rect.../><rect .../></a>とあった場合に一つ目のrectのリンク先を変えたら二つ目のrectのリンク先も自動的に変わるべきか。これは順番(奥行き)を変えるとややこしいことになるのでやめた方が良い。Unwrapしてしまう以上は下手に共有しない方が良い。

*PATHの書き方問題* : PATHの書き方をカスタマイズしたいという需要は発生するかもしれない。例えば他のorgファイルへリンクを張りたいときに、エクスポートした後のhtmlへリンクすべきか、元のorgファイルへリンクすべきか迷う。orgファイル内の特定の場所へジャンプしたいこともあるかもしれない。

*edraw-editor内での表示方法* : Web上の作図ツールでよく見かける方法は、右上などにジャンプを表す小さな正方形のアイコンを表示すること。最悪コンテキストメニューだけでもいいんだけど。

*edraw-org-link-image-modeでの表示* : 画像の特定の部分をクリックするだけでジャンプできたら便利。image descriptorの:mapでpolyを生成すれば不可能では無い。

** TODO 点接続/図形のコピー・ペースト時に点接続も復元する
** TODO 点接続/アンカーの接着位置をドラッグで変更できるようにする
条件が色々難しい。
Expand Down Expand Up @@ -893,11 +921,6 @@ edrawリンクのdata-file相互変換機能があれば十分かも? data

edraw-svg-printの意味がちょっと曖昧になっている。svg要素をprintする関数なのか、汎用的なSVG仕様定義要素をprintする関数なのか。現在は再帰で呼び出しているのだから後者と考えざるを得ない。でも後者ならtopを特別扱いするのは良くない。

** TODO 色/カラーピッカーから出力する形式を変更できるようにする
HEX, rgb, hsl, hwb, lab, lch, oklab, oklchから選びたい。
カラーピッカー上に全てのボタンにするのはつらいので、どうしたらよいのだろう。
カラーピッカーにメニューボタンが必要なのではないか。

** TODO 色/カラーピッカーのZ軸を切り替えられるようにする
現在はZ軸が色相だが、彩度、明度、赤、緑、青に切り替えられるようにする。X-Y平面もそれに合わせて残りが割り当てられる。
** TODO 色/別の表色系のカラーピッカーを追加する
Expand Down Expand Up @@ -6542,3 +6565,6 @@ CLOSED: [2025-02-16 Sun 14:29]
widgetは修正した。hslも認識するようになった。

edraw-read-from-fileは互換性のために必要。Aが1.0ではないときにrgbaを出力しているたので。#RRGGBBAAを出力するように修正したが、互換性のために edraw-color-string-patterns-re で判定する必要がある。
** DONE pos-eolはEmacs29からなので使わないようにする
CLOSED: [2025-02-16 Sun 15:14]
フィールドを越える必要が無ければ line-end-position そのままで十分。

0 comments on commit 4a5fe47

Please sign in to comment.