mirror of
https://github.com/rydesun/dotfiles.git
synced 2025-12-26 22:55:00 +08:00
30 lines
889 B
Python
30 lines
889 B
Python
import atexit
|
|
import os
|
|
import readline
|
|
from functools import partial
|
|
|
|
# 命令历史的记录文件
|
|
xdg_data_home = os.getenv(
|
|
'XDG_DATA_HOME', os.path.expanduser('~/.local/share'))
|
|
data_dir = os.path.join(xdg_data_home, 'python')
|
|
readline_history_file = os.path.join(data_dir, 'history')
|
|
|
|
try:
|
|
readline.read_history_file(readline_history_file)
|
|
except FileNotFoundError:
|
|
os.makedirs(data_dir, exist_ok=True)
|
|
open(readline_history_file, 'wb').close()
|
|
readline.read_history_file(readline_history_file)
|
|
|
|
readline.set_history_length(1000000)
|
|
atexit.register(readline.write_history_file, readline_history_file)
|
|
|
|
# 让输出的数据结构和Traceback带有语法高亮
|
|
# 需要安装python-rich
|
|
try:
|
|
from rich import inspect, pretty, traceback
|
|
pretty.install()
|
|
inspect_methods = partial(inspect, methods=True)
|
|
traceback.install()
|
|
except Exception:
|
|
pass
|