Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.
This package provides just the core of Geiser. To effectively use it with your favourite Scheme implementation, you also need the corresponding geiser package, e.g. emacs-geiser-guile for Guile.
Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.
This package provides just the core of Geiser. To effectively use it with your favourite Scheme implementation, you also need the corresponding geiser package, e.g. emacs-geiser-guile for Guile.
Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.
This package provides just the core of Geiser. To effectively use it with your favourite Scheme implementation, you also need the corresponding geiser package, e.g. emacs-geiser-guile for Guile.
Geiser is a collection of Emacs major and minor modes that conspire with one or more Scheme implementations to keep the Lisp Machine Spirit alive. The continuously running Scheme interpreter takes the center of the stage in Geiser. A bundle of Elisp shims orchestrates the dialog between the Scheme implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.
This package provides just the core of Geiser. To effectively use it with your favourite Scheme implementation, you also need the corresponding geiser package, e.g. emacs-geiser-guile for Guile.
AWK it! allows you to see AWK output as you are typing the script; it sends selected region to awk and uses yasnippet as interactive UI.
There are 3 modes of AWK code: simplified syntax(default, see below), single line AWK syntax (regular AWK syntax but only inside the default match) and raw AWK syntax(full AWK code). AWK it! can transfrom code from one mode to another(not perfect, but it will make an effort) and there is also support for multiple lines. Data is expanded with selected yasnippet expand keybinding.
Bufler is like a butler for your buffers, presenting them to you in an organized way based on your instructions. The instructions are written as grouping rules in a simple language, allowing you to customize the way buffers are grouped. The default rules are designed to be generally useful, so you don't have to write your own.
It also provides a workspace mode which allows frames to focus on buffers in certain groups. Since the groups are created automatically, the workspaces are created dynamically, rather than requiring you to put buffers in workspaces manually.
Bufler is like a butler for your buffers, presenting them to you in an organized way based on your instructions. The instructions are written as grouping rules in a simple language, allowing you to customize the way buffers are grouped. The default rules are designed to be generally useful, so you don't have to write your own.
It also provides a workspace mode which allows frames to focus on buffers in certain groups. Since the groups are created automatically, the workspaces are created dynamically, rather than requiring you to put buffers in workspaces manually..
assess
provides additional support for testing Emacs packages.
It provides:
A set of predicates for comparing strings, buffers and file contents.
Explainer functions for all predicates giving useful output.
Macros for creating many temporary buffers at once, and for restoring the buffer list.
Methods for testing indentation, by comparision or roundtripping.
Methods for testing fontification.
Assess aims to be a stateless as possible, leaving Emacs unchanged whether the tests succeed or fail, with respect to buffers, open files and so on. This helps to keep tests independent from each other.
To allow for the usage of Emacs functions and macros that are defined in newer versions of Emacs, compat.el
provides definitions that are installed ONLY if necessary. These reimplementations of functions and macros are at least subsets of the actual implementations. Be sure to read the documentation string to make sure.
Not every function provided in newer versions of Emacs is provided here. Some depend on new features from the core, others cannot be implemented to a meaningful degree. The main audience for this library are not regular users, but package maintainers. Therefore commands and user options are usually not implemented here.
To allow for the usage of Emacs functions and macros that are defined in newer versions of Emacs, compat.el
provides definitions that are installed ONLY if necessary. These reimplementations of functions and macros are at least subsets of the actual implementations. Be sure to read the documentation string to make sure.
Not every function provided in newer versions of Emacs is provided here. Some depend on new features from the core, others cannot be implemented to a meaningful degree. The main audience for this library are not regular users, but package maintainers. Therefore commands and user options are usually not implemented here.
This package provides a library to manipulate persistent identifiers that are used to locate scholar resources online. The library knows about the following formats:
pmid: PubMed
pmcid: PubMed Central
arxiv: Cornell University
Given an identifier in one of the known formats, the libray can query information about the resources and format it as a bibtex entry.
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.
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.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.
http request in org-mode babel
This package provides dynamic evaluation in Emacs.