なんとなく最初からやりなおし。 長くなるので作業メモを作った。
目標
- c++ にして改造しやすくする
- colorscheme 付きの nvim みたいな感じに
- tab を非同期に
- Windows(msvc) でも動くように
事前作業
- build system を meson に変更
とりあえずビルド通した。 生成ファイルに注意。 configure と Makefile のもの
- config.h
- version.c
- funcname.c
- functable.c
- funcname1.h
- funcname2.h
あと一部 doc の中身にアクセスしていた(help 生成?)。
改造する前にコード量を減らす
-
macro の分岐をカットして量を減らす
- http と https 以外を削除する
- frame を削除する
- 文字コード utf-8 専用にして libwc を切り離す
- 多言語化を utf-8 単言語化することでかなり単純化できる目算
-
escape sequence色 を削除する - platform は POSIX に一本化。msvc との cross platform を考えているが、後で。
- pager の PIPE api も削除
- sixel とか画像系も削除
- mouse, menu, map 機能を削除
-
command 減らす
- 必要不可欠な core command を厳選したい
- keymap をシンプル化。複数キーや alt map などを削除してシンプルに
5000行くらいに減れば手に負えるのだが… 62000 行くらいを 36000 行くらいに減らしてから、改造している。
c++ 化して改造する
- main loop を libuv
- p ] command を lua に
- キーマップの責務
- std::string にしてみる
- 部分的に進行中。http get より前はできそうな見通し。
作業準備を兼ねて doc-jp フォルダを docusaurus から見れるようにしてみた
何回もこのフォルダを見ている気はするのだが、 見た記憶がないドキュメントが意外とあった。 ChangeLog は現在までずっと続いていた。 Debian のメンテナンス記録ぽい?