2008-11-16 37 views
12

Tôi muốn thêm chú giải công cụ tùy chỉnh vào các emacs. Cụ thể hơn, bất cứ khi nào tôi di chuột vào biểu tượng (chức năng/biến) tên bằng chuột của tôi, tôi muốn xem chú giải công cụ có định nghĩa của biểu tượng. Tôi biết rằng tôi có thể tìm thấy loại thông tin này với một công cụ như cscope nhưng tôi không có ý tưởng làm thế nào để đính kèm đầu ra của cscope vào một tooltip. không ai có một phần (làm thế nào để liên kết một cuộc gọi lại đến một chú giải công cụ trong emacs nói chung) hoặc đầy đủ (làm thế nào để tôi thực sự liên kết đầu ra của cscope đến một tooltip) giải pháp này?Xác định chú giải công cụ mới trong Emacs

Cảm ơn, Nir

Trả lời

11

cài đặt Emacs bạn nên bao gồm các Elisp reference manual (nếu không muốn nói, tải về ngay bây giờ - bạn sẽ cần đến nó khi đang phát triển chế độ của bạn). Để truy cập nó, hãy vào Info (C-h i) và tìm một nút có nhãn "Elisp", đôi khi trong một menu "Emacs" riêng biệt. Nhập i cho chỉ mục và tooltip để tìm thông tin về chú giải công cụ. Bạn nên tìm nút 32.19.4 Properties with Special Meanings, cho bạn biết rằng nội dung của thuộc tính help-echo là một chuỗi là nội dung chú giải công cụ hoặc chức năng có thể tự động xây dựng chú giải công cụ. Khám phá hướng dẫn xung quanh nút đó để tìm hiểu thêm về các thuộc tính văn bản và cách đặt chúng.

Dưới đây là một ví dụ đơn giản:

(insert (propertize "foo\n" 'help-echo "Tooltip!")) 

Loại này vào đệm *scratch* của bạn và bấm C-j để chạy mã. Sau đó trỏ chuột vào từ "foo" và bạn sẽ thấy chú giải công cụ.

+2

Bạn có thể giải thích các ưu điểm/nhược điểm trong việc sử dụng các thuộc tính văn bản thay vì lớp phủ không? – sverrejoh

1

an AutoOverlay package có thể tự động thêm lớp phủ và chú giải công cụ được liên kết với các lớp phủ đó, dựa trên kết hợp regex của văn bản đệm.

Các vấn đề liên quan