Xo1otl / mictlan

0 stars 0 forks source link

mictlan

個人的なコードを書くモノレポ

lean のワークスペースについて なんか subpackage に manifest がないとか言われるが動いてるので問題なし

Idea

TODO

  1. 事前イベントと事後状態で状態遷移図を書く
  2. 内部的に、事前イベントと事後状態の間に、中間イベントと事後イベントと取り消しイベントを挿入した状態遷移図に変換する
  3. hook を用意して、事前イベントと処理を登録すると、処理を行って事後状態になるか、エラーを返して処理前の状態に戻る仕様を以下のように実装
    1. 事前イベントを発火して中間状態への遷移を試みる、無理だったら処理しないでエラーを返す
    2. 処理を実行する、処理に失敗したら取り消しイベントで事前イベント発火前の状態に戻る。エラーの定義は処理の中で行える
    3. 事後イベントを発火して事後状態へ遷移する、中間状態と事後イベントは自動生成されるので未定義のミスは発生せずかならず遷移できる

Memo

Note

// Place your key bindings in this file to override the defaults
[
  {
    "key": "ctrl+c",
    "command": "-vscode-neovim.escape",
    "when": "editorTextFocus && neovim.ctrlKeysNormal.c && neovim.init && !dirtyDiffVisible && !findWidgetVisible && !inReferenceSearchEditor && !markersNavigationVisible && !notebookCellFocused && !notificationCenterVisible && !parameterHintsVisible && !referenceSearchVisible && neovim.mode == 'normal' && editorLangId not in 'neovim.editorLangIdExclusions'"
  },
  {
    "key": "ctrl+c",
    "command": "-vscode-neovim.escape",
    "when": "editorTextFocus && neovim.ctrlKeysInsert.c && neovim.init && neovim.mode != 'normal' && editorLangId not in 'neovim.editorLangIdExclusions'"
  },
  {
    "key": "ctrl+l",
    "command": "workbench.action.quickchat.launchInlineChat"
  }
]