summaryrefslogtreecommitdiff
path: root/python/pythonrc
diff options
context:
space:
mode:
Diffstat (limited to 'python/pythonrc')
-rw-r--r--python/pythonrc24
1 files changed, 24 insertions, 0 deletions
diff --git a/python/pythonrc b/python/pythonrc
new file mode 100644
index 0000000..cd954b6
--- /dev/null
+++ b/python/pythonrc
@@ -0,0 +1,24 @@
+def is_vanilla() -> bool:
+ import sys
+ return not hasattr(__builtins__, '__IPYTHON__') and 'bpython' not in sys.argv[0]
+
+
+def setup_history():
+ import os
+ import atexit
+ import readline
+ from pathlib import Path
+
+ if state_home := os.environ.get('XDG_STATE_HOME'):
+ state_home = Path(state_home)
+ else:
+ state_home = Path.home() / '.local' / 'state'
+
+ history: Path = state_home / 'python_history'
+
+ readline.read_history_file(str(history))
+ atexit.register(readline.write_history_file, str(history))
+
+
+if is_vanilla():
+ setup_history()