なんとなく最初からやりなおし。 長くなるので作業メモを作った。
目標
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 のメンテナンス記録ぽい?