This package provides a sort of right-click contextual menu for Emacs offering you relevant actions to use on a target determined by the context.
In the minibuffer, the target is the current best completion candidate. In the *Completions* buffer the target is the completion at point. In a regular buffer, the target is the region if active, or else the file, symbol or URL at point.
The type of actions offered depend on the type of the target. For files you get offered actions like deleting, copying, renaming, visiting in another window, running a shell command on the file, etc. For buffers the actions include switching to or killing the buffer. For package names the actions include installing, removing or visiting the homepage.
pcache provides a persistent way of caching data, in a hashtable-like structure. It relies on `eieio-persistent in the backend, so that any object that can be serialized by EIEIO can be stored with pcache. pcache handles objects called "repositories" (`pcache-repository') and "entries" (`pcache-entry'). Each repository is identified by a unique name, that defines an entry in `pcache-directory'. Subdirectories are allowed, by the use of a directory separator in the repository name. Example: (let ((repo (pcache-repository "plop"))) (pcache-put repo foo 42) ; store value 42 with key foo (pcache-get repo foo) ; => 42 ) Keys can be pretty much any Lisp object, and are compared for equality using `eql Optionally, cache entries can expire: (let ((repo (pcache-repository "plop"))) (pcache-put repo foo 42 1) ; store value 42 with key foo for 1 second (sleep-for 1) (pcache-get repo foo) ; => nil )
Do trivial arithmetic on the numbers at point. Attempts to preserve padding when it can. Examples: M-x number/add 1 RET 1 -> 2 05 -> 06 6.30 -> 7.30 07.30 -> 08.30 -08.30 -> -07.30 M-x number/pad 2 RET 5 -> 05 M-x number/pad 2 RET 6 RET 3.141 -> 03.141000 The "guessing" where the number is isn't yet quite awesome, e.g. it doesn't know that the 05 in "2014-05-01" is a month and not, e.g. the number -05. But you can use the region to explicitly denote the start and end of the number. The following keybindings might be nice to use: (global-set-key (kbd "C-c C-+") number/add) (global-set-key (kbd "C-c C--") number/sub) (global-set-key (kbd "C-c C-*") number/multiply) (global-set-key (kbd "C-c C-/") number/divide) (global-set-key (kbd "C-c C-0") number/pad) (global-set-key (kbd "C-c C-=") number/eval)
ggtags provides a frontend to the GNU Global source code tagging system.
Features:
Build on
compile.elfor asynchronicity and its large feature-set.Automatically update Global's tag files when needed with tuning for large source trees.
Intuitive navigation among multiple matches with mode-line display of current match, total matches and exit status.
Read tag with completion.
Show definition at point.
Jump to #include files.
Support search history and saving a search to register/bookmark.
Query replace.
Manage Global's environment variables on a per-project basis.
Highlight (definition) tag at point.
Abbreviated display of file names.
Support all Global search backends:
grep,idutils, etc.Support exuberant ctags http://ctags.sourceforge.net/ and
pygmentsbackend.Support all Global's output formats:
grep,ctags-x,cscopeetc.Support projects on remote hosts (e.g. via
tramp).Support eldoc.
Search
GTAGSLIBPATHfor references and symbols.
Documentation at https://melpa.org/#/emacsql
Documentation at https://melpa.org/#/sharper
Documentation at https://melpa.org/#/erblint
Documentation at https://melpa.org/#/cerbere
Documentation at https://melpa.org/#/outlook
Documentation at https://melpa.org/#/charmap
Documentation at https://melpa.org/#/numbers
Documentation at https://melpa.org/#/hardhat
Documentation at https://melpa.org/#/enlight
Documentation at https://melpa.org/#/paxedit
Documentation at https://melpa.org/#/bifocal
Documentation at https://melpa.org/#/milkode
Documentation at https://melpa.org/#/elpygen
Documentation at https://melpa.org/#/vertigo