summaryrefslogtreecommitdiff
path: root/python/pythonrc
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2024-07-11 09:42:53 -0500
committerzachir <zachir@librem.one>2024-07-11 09:42:53 -0500
commitd0c37b0eb7f2e3343aa504a4fe4c4c38692293bc (patch)
tree4b545786b4073e538a9befed42d13c767f24b671 /python/pythonrc
parentf995945828966933168d9bffebab4f384a1855f4 (diff)
parentf2956712c043c592e1c52eedbd4a901e8bb7423f (diff)
Merge branch 'master' of zachir.xyz:zachir/dotfiles
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()