Đầu ra git màu trong eshell


10

Tôi đang sử dụng emacs bên trong thiết bị đầu cuối mintty (được định cấu hình để nói là xterm-256color) trên cygwin. list-colors-displayhoạt động tốt và màu sắc được hiển thị trong danh sách được chuyển hướng, vv Bây giờ tôi đặt màu cho git branchnhánh hiện tại là yellow reverse. Tuy nhiên, cả cửa sổ shell và eshell đều không hiển thị màu chính xác; thay vào đó, nhánh hiện tại được hiển thị màu mặc định. Trong một ansi-termcửa sổ, hoặc Bên ngoài emacs, bên trong cùng một thiết bị đầu cuối, nó sẽ hiển thị như bình thường.

Tôi có cái này trong .emacs:

(add-hook 'eshell-preoutput-filter-functions  'ansi-color-apply)

Bất kỳ cách nào để có được những màu sắc này để hiển thị bên trong các cửa sổ vỏ hoặc cửa sổ?


1
Tôi không thể tái tạo điều này trong eshell với một Emacs đồ họa, khi thiết lập git config --global color.ui alwaysđang chạy git diff. Bạn có thể cung cấp các bước chi tiết hơn?
rekado 24/2/2015

câu trả lời của tôi dưới đây có giúp gì cho bạn không hoặc có bất cứ điều gì về nó không rõ ràng không?
rekado

Câu trả lời:


5

Eshell và shell-modecả hai sử dụng ansi-color.elđể biến mã màu ansi thành khuôn mặt. ansi-color.elhỗ trợ các mặt sau:

Parameter  Description        Face used by default
  0        default            default
  1        bold               bold
  2        faint              default
  3        italic             italic
  4        underlined         underline
  5        slowly blinking    success
  6        rapidly blinking   warning
  7        negative image     error

"hình ảnh tiêu cực" là "đảo ngược" và nó được ánh xạ lên errormặt. Khi tôi định cấu hình kho lưu trữ của mình như vậy ...

[color]
        ui = always
[color "branch"]
        current = yellow reverse

... Và chạy git branchtôi thấy các nhánh địa phương của mình và nhánh hiện tại được tô màu vàng đậm. Khi tôi đặt điểm lên văn bản màu vàng và chạy, describe-facetôi thấy rằng trên thực tế nó được hiển thị bằng errorkhuôn mặt.

Bạn có thể tùy chỉnh ansi-color-faces-vectorđể gán một khuôn mặt khác ngoài error"hình ảnh tiêu cực" / "đảo ngược".

Bạn không cần (add-hook 'eshell-preoutput-filter-functions 'ansi-color-apply)phải sử dụng màu ansi trong eshell.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.