Có thể thêm màu sắc và các hiệu ứng khác vào lời nhắc iex
không? iex
có tệp tài nguyên (như .irbrc
cho số irb
của Ruby) không? Có API tùy chỉnh cho phép tùy chỉnh nhanh (giống như của Ruby IRB.conf
) không?Làm cách nào để tô màu cho lời nhắc Elixir iex?
6
A
Trả lời
16
Có, có, và có!
Để tùy chỉnh nhanh chóng, bạn sẽ cần một vài điều:
- Một
.iex.exs
tập tin trong thư mục chính của bạn. Tạo tệp này nếu nó không tồn tại. Nó sẽ được thực thi khiiex
khởi chạy. - [tùy chọn] Gọi điện đến
Application.put_env
để bật ANSI. Bạn có thể cần điều này nếuiex
trên nền tảng của mình (ví dụ: Windows 10) không phát hiện hỗ trợ ANSI. - Gọi đến
IEx.configure
để bật màu và đặt lời nhắc. - ANSI escape codes để sửa vị trí con trỏ. Nếu không có điều này, sử dụng các mũi tên lên/xuống để chuyển qua lịch sử lệnh sẽ di chuyển con trỏ xa hơn về phía bên phải.
IO.ANSI
hiện không hiển thị tất cả mã chuyển động của con trỏ, nhưng mã thô sẽ hoạt động đối với các thiết bị đầu cuối hỗ trợ chúng. IO.ANSI
chức năng định dạng.- Văn bản nhắc.
IO.ANSI.reset
để tắt mọi định dạng còn lại.- Chuyển đổi thành chuỗi có
IO.chardata_to_string
.
Đây là những gì làm việc cho tôi với iex
1.3.0 trong Terminal và iTerm2 3.0.3 trên OS X 10.11.5 và Console, GitBash, và ConEmu trên Windows 10:
# ~/.iex.exs
Application.put_env(:elixir, :ansi_enabled, true)
IEx.configure(
colors: [enabled: true],
default_prompt: [
"\e[G", # ANSI CHA, move cursor to column 1
:magenta,
"%prefix", # IEx prompt variable
">", # plain string
:reset
] |> IO.ANSI.format |> IO.chardata_to_string
)
Mã này hoạt động khá tốt , nhưng lời nhắc của tôi chỉ có hiệu lực sau lần tương tác đầu tiên: khi iex
lần khởi chạy đầu tiên, lời nhắc của nó sẽ hiển thị dấu nhắc dựng sẵn. Nếu tôi nhấn trở lại, thì lời nhắc của tôi sẽ có hiệu lực. Nếu có ai biết cách sửa lỗi đó, hãy chia sẻ.
[CẬP NHẬT: sửa đổi để làm việc tốt hơn trên Windows.]
Các vấn đề liên quan
- 1. Một số ký tự dính vào lời nhắc được tô màu của tôi bằng Python cmd
- 2. Làm cách nào để tô màu ảnh/hiển thị màu?
- 3. Đặt màu cho lời nhắc trong Git Bash trên Windows
- 4. Tôi làm cách nào để lưu lịch sử IEx?
- 5. Làm thế nào để tạo hiệu ứng nhắc nhở tùy chỉnh khi khởi động iex?
- 6. Làm cách nào để thay đổi màu văn bản trong lời nhắc lệnh của cửa sổ
- 7. Làm cách nào để tùy chỉnh lời nhắc PostgreSQL/psql?
- 8. Làm cách nào để thêm màu vào tên máy trong lời nhắc của phiên Từ xa PowerShell?
- 9. Làm cách nào để đặt màu tô màu cho chỉ mục phần của UITableView?
- 10. IEx Pry: Luôn cho phép?
- 11. Làm cách nào để tô màu một pixel?
- 12. Làm cách nào để tô màu đầu ra git-status?
- 13. Không thể chạy iex trong dấu nhắc lệnh Windows hoặc git bash
- 14. Làm cách nào để bật tô sáng/tô màu cú pháp trong Pycharm
- 15. Tôi làm cách nào để tạo một lời nhắc tập lệnh mong đợi cho mật khẩu?
- 16. Cách tô màu nền UIBarButtonItem?
- 17. Làm sao để tô màu hoàn toàn màu nền UIPopoverPresentationController?
- 18. Chèn dòng mới để bash lời nhắc
- 19. Cách nhận lời nhắc lệnh uboot
- 20. Cách đọc lời nhắc trong lịch google
- 21. Làm cách nào để tô màu hình nền của UIButton theo cách lập trình và động?
- 22. Tôi làm cách nào để truy cập lời nhắc theo chương trình?
- 23. Làm cho trang nền tô màu gradient với css
- 24. Làm cách nào để thả lời nhắc IRB từ tập lệnh đang chạy?
- 25. Shell script gọi sudo; làm cách nào để tôi chặn lời nhắc mật khẩu
- 26. Tôi làm cách nào để tạo lời nhắc bằng API Lịch Google?
- 27. Cách tô màu trên hình tam giác
- 28. Làm cho eclipse Cú pháp Tô màu chính xác như studio trực quan Cú pháp Tô màu
- 29. Buộc tập tin batch để trả lời có cho lời nhắc
- 30. Loại bỏ lời nhắc Outlook
IEx.configure màu: [eval_result: [: xanh,: sáng]] # Tôi tự hỏi tại sao chương trình xanh như màu vàng? – sheriffderek
@sheriffderek Tên màu ANSI ánh xạ tới các chỉ mục trong bảng màu được xác định ở nơi khác (ví dụ: trong chương trình đầu cuối.) Nhiều chương trình đầu cuối hỗ trợ các lược đồ màu (ví dụ: https://github.com/lysyi3m/osx-terminal-themes) – jwfearn
trên Windows 10, vị trí của tệp cấu hình là '% USERPROFILE% \. iex.exs' –