summaryrefslogtreecommitdiff
path: root/python/pythonrc
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2024-06-06 21:14:56 -0500
committerzachir <zachir@librem.one>2024-06-06 21:14:56 -0500
commit0dc0fdfed34d9c8722651b7e057bfe14bb266862 (patch)
tree44b3505a2559507246a150b2d0f8064b19787621 /python/pythonrc
parent04cb03f85f093eb1ba33398708862e9a2e9e17b3 (diff)
parentf2956712c043c592e1c52eedbd4a901e8bb7423f (diff)
Merge remote-tracking branch 'origin/master' into cla
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()