メインコンテンツまでスキップ

init

なんとなく最初からやりなおし。 長くなるので作業メモを作った。

目標

  • 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 のメンテナンス記録ぽい?