Làm thế nào để làm cho khuôn mặt khu vực được ưu tiên hơn khuôn mặt `show-paren-mode`?


7

Tôi đang sử dụng show-paren-modevới làm nổi bật biểu thức, thay đổi mặt nền thành màu sáng hơn nền mặc định. Tôi rất thích nó.

Vấn đề là khi tôi có một dấu, mặt nền từ biểu thức paren sẽ ghi đè lên mặt nền cho vùng được đánh dấu nên trông có vẻ kỳ quặc và không nhất quán, và thật khó để nhìn thấy toàn bộ khu vực đó là gì, trong nháy mắt.

Có cách nào để định cấu hình khuôn mặt khu vực để có "mức độ ưu tiên" cao hơn so với khuôn mặt hiển thị phù hợp không?


Điều này khó hơn so với một số lý do, bạn có ổn không khi khuyên show-paren-modekhông bao giờ hiển thị thứ gì đó nếu khu vực này đang hoạt động?
wasamasa

@wasamasa - Làm thế nào về việc đặt mức độ ưu tiên thấp hơn cho lớp phủ cần được che đậy? Giá trị ưu tiên của khu vực được xác định trong simple.el'(nil . 100)- xemredisplay-highlight-region-function
luật

@wasamasa chắc chắn, đó sẽ là một điểm dừng chấp nhận được tôi cho rằng.
levand

@lawlist Tài liệu nêu các ưu tiên chỉ có thể là số và mọi thứ khác chỉ dành cho sử dụng nội bộ. Tuy nhiên, khu vực sử dụng những gì dường như là một ưu tiên thứ cấp không có giấy tờ. Tôi đã thử các giá trị dưới 100, nhưng chúng không có bất kỳ hiệu ứng nào trừ khi bạn đặt mức độ ưu tiên của trình chiếu nilcó tác dụng phụ khác: hiển thị biểu thức được tô sáng trong video đảo ngược.
wasamasa

@lawlist Tất nhiên đây có thể là chủ đề của tôi chỉ định một cái gì đó khác ngoài video đảo ngược cho khuôn mặt khu vực, tuy nhiên, loại trục trặc đó không nên xảy ra ở nơi đầu tiên. Do đó tại sao tôi đề xuất một phương pháp thay thế.
wasamasa

Câu trả lời:


9

Tùy chỉnh tùy chọn show-paren-priorityđể có giá trị âm, ví dụ: -50 .

Không, điều này không được ghi nhận ở bất cứ đâu. Vâng, một lỗi đã được đệ trình về điều đó. Không, báo cáo lỗi không bao giờ được phản hồi.

Xem lỗi Emacs # 20253 , # 15899 và # 16192 .


Mát mẻ. Điều này hoạt động như thế nào người ta sẽ hy vọng nó sẽ. Thắng cho các tính năng không có giấy tờ.
levand

2

Vì tôi chưa tìm thấy một cách đáng tin cậy và được ghi chép về việc thay đổi các ưu tiên lớp phủ tương ứng có liên quan mà không gây ra các trục trặc hình ảnh không mong muốn, tôi đã viện đến lời khuyên show-paren-function:

(defadvice show-paren-function (around inhibit-in-region activate)
  (if (region-active-p)
      (progn
        (delete-overlay show-paren--overlay)
        (delete-overlay show-paren--overlay-1))
    ad-do-it))

Điều này chỉ vô hiệu hóa bất kỳ đánh dấu nếu khu vực xảy ra hoạt động.

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.