stdlib-js / stdlib-js/stdlib

[RFC]: add support for persisting REPL configuration across sessions

Đang mở
#2,510 24 bình luận 0 reaction 0 người được giao Xem trên GitHub
Enhancement REPL RFC
Ngôn ngữ chính
JavaScript
Star
6k
Fork
1.3k
Merge trung bình
1 ngày 3 giờ
Pull request đã merge (30 ngày)
611

Mô tả

### Description

This RFC proposes adding support for REPL configuration files to persist user preferences (eg. settings) across each session.

### Questions

- What to persist? For starters, we can persist settings, themes, and most of the options that the REPL receives during instantiation like `inputPrompt`, `welcomeMessage`, `padding` etc. I think we should avoid saving options like `load` and others which are something that is typically used per session.

- If we end up NOT saving anything else than what already can be passed as REPL options, does it make sense to have commands for loading custom configuration files? As loading a configuration or just loading the REPL options is pretty much the same process. In that case, just having a single configuration that *remembers* user preferences is more than enough, as the user can have scripts with specific options for different use-cases/profiles.

### Other

Saving command history is an existing *TODO*, once we support that maybe we can also auto-persist them. I believe IPython does this.

### Checklist

- [X] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [X] Searched for existing issues and pull requests.
- [X] The issue name begins with `RFC:`.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by mapping the REPL entry point and the options it receives, then review the existing command-history TODO referenced in the RFC. Resolve which settings, themes, and instantiation options should persist while excluding per-session options such as `load`; done means an agreed configuration format and persistence behavior.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
javascript
Lĩnh vực
cli
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
25/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.