mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2024-11-10 02:39:40 +00:00
Update pythonrc
This commit is contained in:
parent
18252755b8
commit
77a8cced84
|
@ -1,7 +1,9 @@
|
||||||
import atexit
|
import atexit
|
||||||
import os
|
import os
|
||||||
import readline
|
import readline
|
||||||
|
from functools import partial
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
from types import ModuleType
|
||||||
|
|
||||||
cache_xdg_dir = Path(os.environ.get("XDG_CACHE_HOME", str(Path("~/.cache"))))
|
cache_xdg_dir = Path(os.environ.get("XDG_CACHE_HOME", str(Path("~/.cache"))))
|
||||||
cache_xdg_dir.mkdir(exist_ok=True, parents=True)
|
cache_xdg_dir.mkdir(exist_ok=True, parents=True)
|
||||||
|
@ -11,8 +13,13 @@ history_file = cache_xdg_dir.joinpath("python_history")
|
||||||
readline.read_history_file(history_file)
|
readline.read_history_file(history_file)
|
||||||
|
|
||||||
|
|
||||||
def write_history() -> None:
|
def write_history(readline: ModuleType, history_file: Path) -> None:
|
||||||
|
"""
|
||||||
|
We need to get ``readline`` and ``history_file`` as arguments, as it
|
||||||
|
seems they get garbage collected when the function is registered and
|
||||||
|
the program ends, even though we refer to them here.
|
||||||
|
"""
|
||||||
readline.write_history_file(history_file)
|
readline.write_history_file(history_file)
|
||||||
|
|
||||||
|
|
||||||
atexit.register(write_history)
|
atexit.register(partial(write_history, readline, history_file))
|
||||||
|
|
Loading…
Reference in a new issue