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.el
for 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
pygments
backend.Support all Global's output formats:
grep
,ctags-x
,cscope
etc.Support projects on remote hosts (e.g. via
tramp
).Support eldoc.
Search
GTAGSLIBPATH
for references and symbols.
Documentation at https://melpa.org/#/emacsql
Documentation at https://melpa.org/#/tablist
Documentation at https://melpa.org/#/enlight
Documentation at https://melpa.org/#/dogears
Documentation at https://melpa.org/#/modalka
Documentation at https://melpa.org/#/leanote
Documentation at https://melpa.org/#/tagedit
Documentation at https://melpa.org/#/grapnel
Documentation at https://melpa.org/#/neotree
Documentation at https://melpa.org/#/diffpdf
Documentation at https://melpa.org/#/weechat
Documentation at https://melpa.org/#/timeout
Documentation at https://melpa.org/#/darcsum
Documentation at https://melpa.org/#/reddigg
Documentation at https://melpa.org/#/orglink