NonGNU ELPA - prop-menu

prop-menu

Description
Create and display a context menu based on text and overlay properties
Latest
prop-menu-0.1.2.tar (.sig), 2024-Mar-31, 20.0 KiB
Maintainer
David Christiansen <david@davidchristiansen.dk>
Atom feed
prop-menu.xml
Website
https://github.com/david-christiansen/prop-menu-el
Browse ELPA's repository
CGit or Gitweb
Badge

To install this package from Emacs, use package-install or list-packages.

Full description

1. Pop-up menus based on text properties

This is a library for computing context menus based on text properties and overlays. The intended use is to have tools that annotate source code and others that use these annotations, without requiring a direct coupling between them, but maintaining discoverability.

Major modes that wish to use this library should first define an appropriate value for prop-menu-item-functions. Then, they should bind prop-menu-by-completing-read to an appropriate key. Optionally, a mouse pop-up can be added by binding prop-menu-show-menu to a mouse event.

For example, the following value for prop-menu-item-functions creates a popup menu that will describe faces that are set in either text or overlay properties:

(setq-local prop-menu-item-functions
	    (list (lambda (plist)
		    (let ((face (plist-get plist 'face)))
		      (when face
			(list (list "Describe face" (lambda ()
						      (interactive)
						      (describe-face face)))))))))

Note that this setting requires lexical scope.