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.
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.
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-regioncommand.Indentation of blocks.
Automatic enable of mode in
*.execfiles.Automatic enable of mode in files with
execlinebinterpreter.
inf-ruby provides a Read Eval Print Loop (REPL) buffer, allowing for easy interaction with a Ruby subprocess. Features include support for detecting specific uses of Ruby, e.g., when using Rails, and using an appropriate console.
If you are using Guix shell with manifest.scm, the inf-ruby-wrapper-command customization variable could be helpful.
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.
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 anotheraproposwith 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.
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.
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.
This package contains a command to read Perl documentation in Emacs: M-x perl-doc. It uses two external commands which come with Perl: perldoc to locate the Perl documentation for the Perl modules installed on your system, and pod2html to format the documentation to HTML. This HTML version is then displayed using the Emacs simple HTML renderer, shr.
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 Emacs package provides the selected-minor-mode for Emacs. When selected-minor-mode is active, the keybindings in selected-keymap will be enabled when the region is active. This is useful for commands that operates on the region, which you only want bound to a key when the region is active. selected.el also provides selected-global-mode, if you want selected-minor-mode in every buffer.
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.
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.