This is an implemenatation of the Shen programming language in Elisp. The end goal is to provide: 1. An easy way to play with Shen with no other installation hassle (assuming you use Emacs). 2. A first-class development experience when writing Shen. The idea is that an editor that understands the code can be much more helpful than one that does not. To this end the roadmap involves a full gamut of source code introspection and debugging tools.
GNU Emacs is an extensible and highly customizable text editor. It is based on an Emacs Lisp interpreter with extensions for text editing. Emacs has been extended in essentially all areas of computing, giving rise to a vast array of packages supporting, e.g., email, IRC and XMPP messaging, spreadsheets, remote server editing, and much more. Emacs includes extensive documentation on all aspects of the system, from basic editing to writing large Lisp programs. It has full Unicode support for nearly all human languages.
GNU Emacs is an extensible and highly customizable text editor. It is based on an Emacs Lisp interpreter with extensions for text editing. Emacs has been extended in essentially all areas of computing, giving rise to a vast array of packages supporting, e.g., email, IRC and XMPP messaging, spreadsheets, remote server editing, and much more. Emacs includes extensive documentation on all aspects of the system, from basic editing to writing large Lisp programs. It has full Unicode support for nearly all human languages.
Gnus-alias provides a simple mechanism to switch identities when using a message-mode
or a message-mode
derived mode. Identities can include From
and Organization
headers, extra headers, body and signature. Other features include:
Switch identities in a message buffer.
Access original message to help determine identity of the followup/reply message.
Act on a forwarded message as if it were a message being replied to.
Start a new message with a given Identity pre-selected.
This package is used for bundling related git-worktrees from multiple repositories together. This helps switch quickly between repositories and ensure you're on the correct branch. When you're done with your changes, you can use the repositories in the workspace and know which ones were modified to simplify the process of getting the changes merged in together. Additionally, git metadata is shared between all projects. You can stash, pop, and pull changes in from the same repository in other workspaces thanks to the power of git-worktrees.
This package allows you to get notifications when there is something to do (for org mode).
Sometimes, you need a reminder a few days before a deadline, e.g. to buy a present for a birthday, and then another notification one hour before to have enough time to choose the right clothes.
For other events, e.g. rolling the dustbin to the roadside once per week, you probably need another kind of notification strategy.
This package tries to satisfy the various needs.
In order to activate this package, you must add the following code into your .emacs or .emacs.d configuration:
(require org-notify) (org-notify-start)
Inspired by Genera's and KDE's concepts of "activities", this library allows the user to select an "activity", the loading of which restores a window configuration into a tab-bar
tab or frame, along with the buffers shown in each window. Saving an activity saves the state for later restoration. Switching away from an activity saves the last-used state for later switching back to, while still allowing the activity's initial or default state to be restored on demand. Resuming an activity loads the last-used state, or the initial/default state when a universal argument is provided. The implementation uses the bookmark system to save buffers states–that is, any major mode that supports the bookmark system is compatible.
Org-remark lets you highlight and annotate text files, websites, EPUB books and Info documentation using Org mode.
Features:
Highlight and annotate any text file. The highlights and notes are kept in an Org file as the plain text database. This lets you easily manage your marginal notes and use the built-in Org facilities on them – e.g. create a sparse tree based on the category of the notes
Create your your own highlighter pens with different colors, type (e.g. underline, squiggle, etc. optionally with Org’s category for search and filter on your highlights and notes)
Have the same highlighting and annotating functionality for websites (when browsing with EWW), EPUB books with
nov.el
, Info documentation
This package implements NHexl mode, a minor mode for editing files in hex dump format. The mode command is called nhexl-mode
.
This minor mode implements similar functionality to hexl-mode
, but using a different implementation technique, which makes it usable as a "plain" minor mode. It works on any buffer, and does not mess with the undo log or with the major mode.
It also comes with:
nhexl-nibble-edit-mode
: a "nibble editor" minor mode, where the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys (which only work for hex-digits) will only modify the nibble under point.nhexl-overwrite-only-mode
: a minor mode to try and avoid moving text. In this minor mode, not only self-inserting keys overwrite existing text, but commands like `yank' andkill-region
as well.It overrides
C-u
to use hexadecimal, so you can doC-u a 4 C-f
to advance by #xa4 characters.
Wanderlust is an mail/news management system on Emacsen. It supports IMAP4rev1(RFC2060), NNTP, POP and local message files.
The main features of Wanderlust:
Pure elisp implementation.
Supports IMAP4rev1, NNTP, POP(POP3/APOP), MH and Maildir format.
Unified access method to messages based on Mew-like Folder Specification.
Mew-like Key-bind and mark handling.
Manages unread messages.
Interactive thread display.
Folder Mode shows the list of subscribed folders.
Message Cache, Disconnected Operation.
MH-like FCC (Fcc: %Backup and Fcc: $Backup is allowed).
MIME compliant (by SEMI).
Transmission of news and mail are unified by Message transmitting draft.
Graphical list of folders.
View a part of message without retrieving the whole message (IMAP4).
Server-side message look up (IMAP4), multi-byte characters are allowed.
Virtual Folders.
Supports compressed folder using common archiving utilities.
Old articles in folders are automatically removed/archived (Expiration).
Automatic re-file.
Template function makes it convenient to send fixed form messages.
Tools for Home Assistant that work with GNU Emacs
Right now this is just auto completion support for entity names.
You either need to put the JSON contents of your Home Assistant's /api/states API output in a file (probably called api_states.txt in your config directory) or you need to populate a file hass-mode-secrets.el with your server name and an authentication token (gotten from HomeAssistant's UI).
If you do the former, you need to pass the name of the file to hass-setup-completion (possibly just by using a prefix-arg before calling the function interactively:
C-u M-x hass-setup-completion
Will prompt you for the filename that has the contents of /api/states from your server.
It's easier to just use hass-mode-secrets.el unless you have another reason to have api_states.txt lying around (I do, and I like this completion being able to work without the live server running, which is why I support the file version in addition to accessing via a live server)
The aim of this exporter to generate meeting minutes plain text that is convenient to send via email. - Unnecessary blank lines are removed from the final exported plain text. - Header decoration and section numbers done in the default ASCII exports is prevented. - Also TOC and author name are not exported. This is an ox-ascii derived backed for org exports. This backend effectively sets the `org-export-headline-levels to 0 and, `org-export-with-section-numbers', `org-export-with-author and `org-export-with-toc to nil time being for the exports. That is equivalent to manually putting the below in the org file: #+options: H:0 num:nil author:nil toc:nil This package has been tested to work with the latest version of org built from the master branch ( http://orgmode.org/cgit.cgi/org-mode.git ) as of Aug 10 2016. EXAMPLE ORG FILE: #+title: My notes * Heading 1 ** Sub heading *** More nesting - List item 1 - List item 2 - List item 3 * Heading 2 ** Sub heading - List item 1 - List item 2 - List item 3 *** More nesting MINUTES EXPORT: __________ MY NOTES __________ * Heading 1 + Sub heading - More nesting - List item 1 - List item 2 - List item 3 * Heading 2 + Sub heading - List item 1 - List item 2 - List item 3 - More nesting REQUIREMENTS: - Emacs 24 is required at minimum for lexical binding support. - Emacs 24.4 is required as ox-ascii got added to org-mode in that Emacs release.
Run Conway's Game of Life, in all windows, using the original window content as seed. In addition, when performing the animation, the original characters and the colors they have, are retained, resulting is a much more living result than when simply using, say, stars. By "seed", it means that the original content of the windows are seen as dots in the plane. All non-blank characters are seen as live dots. The Game of Life animation can be started as a screensaver, so that it starts automatically when Emacs has been idle for a while. By default, it stops after 1000 generations. Screenshot:  Usage: `gameoflife-animate -- Start the Game of Life animation. `gameoflife-screensaver-mode -- Run as a screensaver. The animation is started when Emacs has been idle for a while. About Conway's Game of Life: Conway's Game of Life is a simple simulation, originally developed in 1970, taking place in a two-dimentional grid -- think of it as an infinite chess board. A square can either be dead or alive. In each step in the simulation, the following rule applies: - A live square stays alive only if it has two or three neighbours. - A dead square is resurrected if it has exactly three neighburs. Personal reflection: I have noticed that sparse programming languages with a lot of highlighting, like C and C++, produde the most beautiful animations. More dense programming languages, like elisp, tend to "kill" many squares in the first generation, making them less suited for Game of Life seeds.
This file should not be confused with Rick Bielawski's cobol-mode.el (http://www.emacswiki.org/emacs/cobol-mode.el), which this mode attempts to supersede. This COBOL mode features syntax highlighting for most modern COBOL dialects, indentation, code skeletons, rulers and basic formatting functions. Highlighting changes with the code format, which can be specified using the M-x customize menu. Installation: To install cobol-mode.el, save it to your .emacs.d/ directory and add the following to your .emacs: (autoload cobol-mode "cobol-mode" "Major mode for highlighting COBOL files." t nil) To automatically load cobol-mode.el upon opening COBOL files, add this: (setq auto-mode-alist (append (("\\.cob\\'" . cobol-mode) ("\\.cbl\\'" . cobol-mode) ("\\.cpy\\'" . cobol-mode)) auto-mode-alist)) Finally, I strongly suggest installing auto-complete-mode, which makes typing long keywords and variable names a thing of the past. See https://github.com/auto-complete/auto-complete. Known bugs: * Switching source formats requires M-x customize settings to be changed, saved and cobol-mode to be unloaded then reloaded. * Copying-and-pasting content in fixed-format sometimes results in content being pasted in column 1 and spaces inserted in the middle of it. * The indentation code leaves a lot of trailing whitespace. * Periods on their own line are sometimes indented strangely. * String continuation does not work. Missing features: * Switch between dialect's reserved word lists via M-x customize (without unloading cobol-mode). * Allow users to modify easily reserved word lists. * Expand copybooks within a buffer. * String continuation (see above). * Allow users to modify start of program-name area.
Quickstart (require font-utils) (font-utils-exists-p "Courier") Explanation Font-utils is a collection of functions for working with fonts. This library has no user-level interface; it is only useful for programming in Emacs Lisp. The following functions are provided, most of which deal with font names rather than font objects: `font-utils-exists-p `font-utils-first-existing-font `font-utils-is-qualified-variant `font-utils-lenient-name-equal `font-utils-list-names `font-utils-name-from-xlfd `font-utils-normalize-name `font-utils-parse-name `font-utils-read-name The most generally useful of these is `font-utils-exists-p', which tests whether a font matching the given name is currently available for use. To use font-utils, place the font-utils.el library somewhere Emacs can find it, and add the following to your ~/.emacs file: (require font-utils) See Also M-x customize-group RET font-utils RET Notes Compatibility and Requirements GNU Emacs version 24.4-devel : yes, at the time of writing GNU Emacs version 24.3 : yes GNU Emacs version 23.3 : yes GNU Emacs version 22.3 and lower : no Uses if present: persistent-soft.el (Recommended) Bugs Behavior/echo messages are not sane when font-utils-use-memory-cache is nil, or pcache is not available. Checking for font availability is slow on most systems. Workaround: where supported, font information will be cached to disk. See customize for more. font-utils-exists-p only supports two styles of font name. This page http://www.gnu.org/software/emacs/manual/html_node/emacs/Fonts.html#Fonts describes four styles of font name. TODO Better support for disabling caching. Possibly return a font object instead of font-info vector from font-utils-exists-p. Test whether (find-font (font-spec :name "Name")) is faster than font-info. font-utils-create-fuzzy-matches is not exhaustive enough to catch many typos. ; License Simplified BSD License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by Roland Walker "AS IS" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Roland Walker or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Roland Walker.
Edit distance between two strings
Documentation at https://melpa.org/#/offlineimap
Documentation at https://melpa.org/#/ocamlformat
Documentation at https://melpa.org/#/autoscratch
Documentation at https://melpa.org/#/easysession
Documentation at https://melpa.org/#/wallpreview
Documentation at https://melpa.org/#/defrepeater