This package provides a major mode for editing abc music files. Includes some abc2midi features. Written for Emacs version 21. May or may not work with previous versions. See the Common Customizations section below. Or run `abc-customize'. This package is stored at https://github.com/mkjunker/abc-mode.
Js2 mode provides a JavaScript major mode for Emacs that is more advanced than the built-in javascript-mode. Features include accurate syntax highlighting using a recursive-descent parser, on-the-fly reporting of syntax errors and strict-mode warnings, smart line-wrapping within comments and strings, and code folding.
Emacs Org Roam is a solution for taking non-hierarchical notes with Org mode. Notes are captured without hierarchy and are connected by tags. Notes can be found and created quickly. Org Roam should also work as a plug-and-play solution for anyone already using Org mode for their personal wiki.
Polymode is an Emacs package that offers generic support for multiple major modes inside a single Emacs buffer. It is lightweight, object oriented and highly extensible. Creating a new polymode typically takes only a few lines of code. Polymode also provides extensible facilities for external literate programming tools for exporting, weaving and tangling.
This package enables you to associate file name patterns with external applications that are automatically invoked when you use commands like find-file
. For example, you can have it open png
files with feh
and mp4
files with mpv
. This is especially useful when browsing files with Dired.
Emacs Org Roam is a solution for taking non-hierarchical notes with Org mode. Notes are captured without hierarchy and are connected by tags. Notes can be found and created quickly. Org Roam should also work as a plug-and-play solution for anyone already using Org mode for their personal wiki.
This package adds supplemental Evil mode key-bindings to Emacs Org-mode. It features:
normal, visual and insert mode bindings;
key bindings organised in key themes;
operators like > and < to work on headings;
text objects;
table support;
calendar (date selection) support;
agenda support.
Orgalist writes and manages Org mode's plain lists in non-Org buffers. More specifically, it supports the syntax of Org mode for numbered, unnumbered, description items, checkboxes, and counter cookies.
The library also implements radio lists, i.e., lists written in Org syntax later translated into the host format, e.g., LaTeX or HTML.
This package provides an extensible means of specifying conditions which must be fulfilled before a task can be completed and actions to take once it is. Org Edna runs when either the BLOCKER or TRIGGER properties are set on a heading, and when it is changing from a TODO state to a DONE state.
Outshine attempts to bring the look and feel of org-mode
to an Emacs outside of the Org major-mode. It is an extension of outline-minor-mode
(org-mode
itself derives from outline-mode), so there is no such thing like an outshine mode, only outline-minor-mode
with outshine extensions loaded.
This package provides a major mode for editing execline scripts.
Features:
Syntax highlighting of commends, builtin commands and variable substitution.
Completion of builtin commands.
Working
comment-region
command.Indentation of blocks.
Automatic enable of mode in
*.exec
files.Automatic enable of mode in files with
execlineb
interpreter.
This package provides (and requires Emacs 24.4 or higher version):
Syntax highlighting for *.nim, *.nims, *.nimble and nim.cfg files
nim-compile command (C-c C-c), with error matcher for the compile buffer
Nimsuggest
Automatic indentation and line breaking (alpha)
Outline by procedures (hs-hide-all, hs-show-all etc.)
yaml-pro is a package that provides conveniences for editing yaml.
This package has been written to leverage tree-sitter parsing facilities, allowing all of these actions to be performed fast and accurate, even in the absence of parsing errors. The tree-sitter version is orders of magnitudes faster and I highly recommend its usage if your Emacs version permits.
Web mode is an Emacs major mode for editing web templates aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by client/server side engines). Web mode is compatible with many template engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker, Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template, Dust.js, React/JSX, Angularjs, ejs, etc.
emacs-bind-map
provides a macro bind-map which can be used to make a keymap available across different leader keys including ones tied to evil states. It is essentially a generalization of the idea of a leader key as used in Vim or the emacs-evil-leader
package, and allows for an arbitrary number of leader keys.
PHP mode is a major mode for editing PHP source code. It's an extension of C mode; thus it inherits all C mode's navigation functionality. But it colors according to the PHP grammar and indents according to the PEAR coding guidelines. It also includes a couple handy IDE-type features such as documentation search and a source and class browser.
This package maps ordinary graphemes (characters) to fancy ligatures, if both your version of Emacs and the font supports it. With this package you can control where Emacs must display ligatures. That is useful if you only want a subset of the ligatures in certain major modes, for instance, or if you want to ensure that some modes have no ligatures at all.
Helm-SLY defines a few new commands:
helm-sly-list-connections
: Yet another Lisp connection list with Helm.helm-sly-apropos
: Yet anotherapropos
with Helm.helm-sly-mini
: Likehelm-sly-list-connections
, but include an extra source of Lisp-related buffers, like the events buffer or the scratch buffer.
Emacsy is an embeddable Emacs-like library that uses GNU Guile as extension language. Emacsy can give a C program an Emacsy feel with keymaps, minibuffer, recordable macros, history, tab completion, major and minor modes, etc., and can also be used as a pure Guile library. It comes with a simple counter example using FreeGLUT and browser examples in C using Gtk+-3 and WebKitGtk.
This package provides a major mode for editing Elm source code, and working with common core and third-party Elm tools. Its features are:
Syntax highlighting
Intelligent indentation
Integration with elm-make
Integration with elm-repl
Integration with elm-reactor
Integration with elm-package
Integration with elm-oracle
Integration with elm-format
Integration with elm-test
This package collects Emacs garbage collection (GC) statistics over time and saves it in the format that can be shared with Emacs maintainers.
This package does not upload anything automatically. You will need to upload the data manually, by sending email attachment. If necessary, you can review emacs-gc-stats-file
(defaults to ~/.emacs.d/emacs-gc-stats.eld
) before uploading-it is just a text file.
This package provides on-the-fly syntax checking for GNU Emacs. It is a replacement for the older Flymake extension which is part of GNU Emacs, with many improvements and additional features.
Flycheck provides fully-automatic, fail-safe, on-the-fly background syntax checking for over 30 programming and markup languages with more than 70 different tools. It highlights errors and warnings inline in the buffer, and provides an optional IDE-like error list.
Currently, to jump to a link in a Info-mode
, help-mode
, woman-mode
, org-mode
, eww-mode
, compilation-mode
, goto-address-mode
buffer, you can tab through the links to select the one you want. This is an O(N) operation, where the N is the amount of links. This package turns this into an O(1) operation. It does so by assigning a letter to each link using avy.
Skeletor provides project templates for Emacs. It also automates the mundane parts of setting up a new project like version control, licenses and tooling. Skeletor comes with a number of predefined templates and allows you to easily create your own. To create a new project interactively, run M-x skeletor-create-project'. To define a new project, create a project template inside `skeletor-user-directory', then configure the template with the `skeletor-define-template macro. See the info manual for all the details.