# Config max_history_size # Current session * we should remember (index) of the first line inserted by this session. - if no line has been inserted => do nothing on save - reset this index after saving successfully. * we should remember (path and timestamp) of the file used to initialize/`load` history. - if path used to save history is the same: + if timestamp is still the same => we can append only new lines if history has not been truncated. + update timestamp after saving successfully. * we should remember (path and timestamp) of the file used to persist/`save` history. - reset them if `load` is then called with a different path - update them if `load` is then called with same path. - update them after saving successfully - if path used to save history is the same: + if timestamp is still the same => we can append only new lines if history has not been truncated. ``` HistoryInfo first_add_index: Option, // first line inserted by this session truncated: bool // path_info: Option, ``` ``` PathInfo path: Path, modified: SystemTime, ``` --- With `termwiz`, you can define your own `History` backend. `termwiz` does not specify anything how the history is persisted. Only how to access / search history entry.