Skip to content

Latest commit

 

History

History
354 lines (352 loc) · 28.5 KB

interesting_modes.org

File metadata and controls

354 lines (352 loc) · 28.5 KB

Interesting Modes

Captures modes that we found interesting but haven’t had the time to investigate them properly.

  • outline hacks: series of utilities for outline mode.
  • bicycle: “This package provides commands for cycling the visibility of outline sections and code blocks. These commands are intended to be bound in outline-minor-mode-map and do most of the work using functions provided by the outline package.”
  • visual-fill-column: “visual-fill-column-mode is a small Emacs minor mode that mimics the effect of fill-column in visual-line-mode. Instead of wrapping lines at the window edge, which is the standard behaviour of visual-line-mode, it wraps lines at fill-column.”
  • systemd: “This package provides D-Bus bindings, major modes and interactive commands for working with systemd from within Emacs.”
  • magit-delta: “This Emacs package provides a minor mode which configures Magit to use delta when displaying diffs.”
  • org-spec: “An Org-mode template for technical specification documents and HTML publishing.”
  • multiple-cursors: “Multiple cursors for Emacs. This is some pretty crazy functionality, so yes, there are kinks. Don’t be afraid though, I’ve been using it since 2011 with great success and much merriment.”
  • Auto build and publish emacs org configuration as a website
  • Easily arrange hydra into a matrix
  • dot-mode: “It emulates the vi `redo’ command, repeating the immediately preceding sequence of commands. This is done by recording input commands which change the buffer, i.e. not motion commands.”
  • desktop-plus: could not get it to work.
  • filetree: “File tree viewer The viewer displays a file list as a directory tree in a special buffer.”
  • bui: “BUI (Buffer User Interface) is an Emacs library that can be used to make user interfaces to display some kind of entries (like packages, buffers, functions, etc.).”
  • test-cockpit: “This project attempts to create a user interface to run tests for different programming languages with a consistent user interface. There are commands common to all the supported programming languages and additional settings which are language specific.”
  • speed-type: “Practice touch/speed typing in emacs”.
  • burly: “This package provides tools to save and restore frame and window configurations in Emacs, including buffers that may not be live anymore. In this way, it’s like a lightweight “workspace” manager, allowing you to easily restore one or more frames, including their windows, the windows’ layout, and their buffers.”
  • bufler: “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.”
  • minions: “This package implements a menu that lists enabled minor-modes, as well as commonly but not currently enabled minor-modes. It can be used to toggle local and global minor-modes, to access mode-specific menus, and to get help about modes.”
  • aggressive-indent-mode: “aggressive-indent-mode is a minor mode that keeps your code always indented. It reindents after every change, making it more reliable than electric-indent-mode.”
  • taxy: “This library provides a programmable way to classify arbitrary objects into a hierarchical taxonomy. (That’s a lot of fancy words to say that this lets you automatically put things in nested groups.)”
  • piper: “Wrapper around existing Emacs functionality that creates an interactive user interface to dealing with unstructured textual data similar with how we transform data through pipes in the shell.”
  • cell-mode: “Cell-mode is an object-oriented spreadsheet control for GNU Emacs. It provides a major mode for spreadsheet-based user interfaces; it can be further extended by defining application-specific Emacs Lisp minor modes which supply new cell and spreadsheet classes via Emacs’ included object system, EIEIO.”
  • ctable: “ctable.el is a table component for emacs lisp. Emacs lisp programs can display a nice table view from an abstract data model. The many emacs programs have the code for displaying table views, such as dired, list-process, buffer-list and so on. So, ctable.el would provide functions and a table framework for the table views.”
  • common-header-mode-line: “Draws per-frame mode-line and/or header-line and allow to customize per-window header/mode-line.”
  • quickrun: “quickrun.el is a extension to execute editing buffer. quickrun.el is similar to executable-interpret, but quickrun.el provides more convenient commands. quickrun.el execute not only script languages(Perl, Ruby, Python etc), but also compiling languages(C, C++, Go, Java etc) and markup language.”
  • buffer-flip: “This package streamlines the operation of switching between recent buffers, with an emphasis on minimizing keystrokes. Inspired by the Alt-Tab convention in Windows, it keeps the most recently used buffers on the top of the stack.”
  • tablist: “This package adds marks and filters to tabulated-list-mode. It also puts a dired face on tabulated list buffers. It can be used by deriving from tablist-mode, or with more limited features by enabling tablist-minor-mode inside a tabulated-list-mode buffer.”
  • popper: “Popper is a minor-mode to tame the flood of ephemeral windows Emacs produces, while still keeping them within arm’s reach. Designate any buffer to “popup” status, and it will stay out of your way. Disimss or summon it easily with one key. Cycle through all your “popups” or just the ones relevant to your current buffer.”
  • undo-fu: “Simple, stable linear undo with redo for Emacs. This is a light weight wrapper for Emacs built-in undo system, adding convenient undo/redo without losing access to the full undo history, allowing you to visit all previous states of the document if you need.”
  • beginend: “Redefine M-< and M-> (or any key bound to beginning-of-buffer or end-of-buffer) for some modes so that point moves to meaningful locations. The real beginning and end of buffers (i.e., point-min and point-max) are still accessible by pressing the same key again.”
  • visual-regexp: “visual-regexp for Emacs is like replace-regexp, but with live visual feedback directly in the buffer. Check out visual-regexp-steroids if you want to use modern regular expressions instead of Emacs-style regular expressions.
  • boxy-headings: “View org files as a boxy diagram.”
  • embark: “This package provides a sort of right-click contextual menu for Emacs, accessed through the embark-act command (which you should bind to a convenient key), offering you relevant actions to use on a target determined by the context […]” Blog post: Fifteen ways to use embark
  • efar: “This package provides FAR-like file manager for Emacs.”
  • Bridging islands in emacs: re-builder and query-replace-regexp: binding between query replace and the regex builder.
  • corfu: “Corfu enhances the default completion in region function with a completion overlay. The current candidates are shown in a popup below or above the point. Corfu is the minimalistic completion-in-region counterpart of the Vertico minibuffer UI.”
  • bfs: “bfs (Browse File System) implements for emacs a dynamic tree view of the file system à la ranger.” See also ranger mode: “This is a minor mode that runs within dired, it emulates many of ranger’s features. This minor mode shows a stack of parent directories, and updates the parent buffers, while you’re navigating the file system. The preview window takes some of the ideas from Peep-Dired, to display previews for the selected files, in the primary dired buffer.”
  • filetree: “Filetree is a package that provides two basic functions: 1) File tree viewer The viewer displays a file list as a directory tree in a special buffer. […] 2) File notes The file notes enable the user to write and display (org-mode) notes associated with individual files and directories. […]”
  • Reddit: Which widget or TUI libraries for emacs do you know? widgets in emacs.
  • Avy can do anything: full power of Avy.
  • vertico-posframe: Vertico but using an external frame.
  • project-tab-groups: “Provides a global minor mode that enhances the Emacs built-in project.el library to support keeping projects isolated in named tab groups.”
  • eyebrowse-restore: “Never lose your Eyebrowse window configurations again.”
  • dtache: “Dtache, or Detach Emacs, is a package to run shell commands in sessions that are isolated from Emacs. Dtache also provides a convenient user interface to interact with the sessions.”
  • moody: “This package provides utilities for displaying elements of the mode line as tabs and ribbons. It also provides replacements for a few built-in elements.”
  • devdocs.el: “devdocs.el is a documentation viewer for Emacs similar to the built-in Info browser, but geared towards documentation obtained from the DevDocs website.”
  • org-sidebar: “This package presents helpful sidebars for Org buffers. Sidebars are customizable using org-ql queries and org-super-agenda grouping.”
  • org-side-tree: “Navigate Org mode outlines in Emacs via side window.”
  • turbo-log: “This project inspired by a similar package for vs-code - turbo-console-log, and provides functionality for fast log message inserting under current line. It works for js-mode, typescript-mode, go-mode and python.”
  • flight-attendant: “This is a quite unsophisticated attempt to get GitHub Copilot up and running in Emacs.”
  • accent: “accent.el shows a popup with accented characters based on the current letter under the cursor.”
  • flyspell-correct: “Correcting misspelled words with flyspell using favourite interface.”
  • demap: “Demap is an Emacs package that adds a minimap buffer that shows a zoomed out view of the active window. It updates what it is showing has you change the active window and it can be detached, moved, hidden or killed like any other Emacs buffer.”
  • sql-clickhouse: “We add ClickHouse as a new product type to the builtin sql-mode in Emacs. That way, we get syntax highlighting and can communicate with the DB using the CLI clickhouse-client.”
  • imenu-list: “This Emacs minor-mode creates an automatically updated buffer called Ilist that is populated with the current buffer’s imenu entries. The Ilist buffer is typically shown as a sidebar (Emacs vertically splits the window).”
  • httprepl: “httprepl.el allows you to interactively make HTTP requests at a REPL-like UI within Emacs.”
  • elfeed-tube: “Elfeed Tube is an Emacs package for a richer, interactive, noise-free and fully text-capable interface to your Youtube subscriptions and playlists using Elfeed, the RSS feed reader for Emacs. Think of it as supercharging Elfeed, or perhaps a taste of what the RSS/Atom protocol could have become today if it had continue to evolve.”
  • org-special-block-extras: “In particular, we are concerned with ‘custom’, or ‘special’, blocks which delimit how a particular region of text is supposed to be formatted according to the possible export backends. In some sense, special blocks are meta-blocks. Rather than writing text in, say, LaTeX environments using LaTeX commands or in HTML div’s using HTML tags, we promote using Org-mode markup in special blocks —Org markup cannot be used explicitly within HTML or LaTeX environments.”
  • repeat mode: “Repeat Mode lets you call multiple commands in a keymap without repeating the prefix each time.”
  • reverso: “Emacs client for the Reverso service. The implemented features are: Translation, Context (AKA bilingual concordances), Grammar check, Synonyms search.”
  • swagger-to-org: “This is a package that allows you to take parse a swagger.json file, and produce an org-mode buffer/file out of it’s contents.”
  • makefile-executor.el: “Interactively selecting a make target and running it.”
  • helm-make: “A call to helm-make will give you a helm selection of this directory Makefile’s targets. Selecting a target will call compile on it.”
  • helm-projectile: “Projectile can be integrated with Helm via helm-source-projectile-projects, helm-source-projectile-files-list, helm-source-projectile-buffers-list and helm-source-projectile-recentf-list sources (available in helm-projectile.el).” Docs.
  • combobulate: “Combobulate is an Emacs package that provides a standardized framework for manipulating and navigating your source code using tree sitter’s concrete syntax tree. Combobulate is language agnostic and should work with little modification almost all languages supported by tree sitter itself.”
  • citar: “This package provides a completing-read front-end to browse and act on BibTeX, BibLaTeX, and CSL JSON bibliographic data, and LaTeX, markdown, and org-cite editing support.”
  • origami.el: “A text folding minor mode for Emacs.”
  • json-navigator: “Display any JSON document as a tree by typing M-x json-navigator-navigator. Here is a screencast showing the navigation tree of an example JSON document.”
  • org-cc: “This Emacs package makes it easy to create rich multi-column custom completion commands to find specific Org entries based on their data and metadata. The goal is to have a completion interface similar to that of citar, but for arbitrary subsets of Org entries.”
  • consult-git-log-grep: provides an interactive way to search the git log using consult.”
  • Indium: “A JavaScript development environment for Emacs.”
  • org-modern: “This package implements a “modern” style for your Org buffers using font locking and text properties. The package styles headlines, keywords, tables and source blocks.”
  • ChatGPT.el: “ChatGPT in Emacs.”
  • gptel: “GPTel is a simple Large Language Model chat client for Emacs, with support for multiple models and backends.”
  • chatgpt-shell: “ChatGPT and DALL-E Emacs shells + Org Babel.”
  • chatgpt: “Use ChatGPT inside Emacs. This Emacs Code extension allows you to use the official OpenAI API to generate code or natural language responses from OpenAI’s ChatGPT to your questions, right within the editor. P.S. This plugin focuses on experience with making conversations with ChatGPT!”
  • llama-cpp.el: “Llama package for Emacs provides a client for the llama-cpp server. It allows you to ask llama for code completion and perform tasks within specified regions of the buffer.”
  • ellama: “Ellama lets you access LLMs locally using ollama’s API from Emacs. It offers a set of commands that allow you to inquire, define words, translate text and more through the Emacs interface. Ellama natively supports streaming output, making it effortless to use with your preferred text editor.”
  • jsonian: “jsonian.el provides a major mode for editing JSON files of any size. The goal is to be feature complete against json-mode with no external dependencies or file size limits.”
  • cape: “Cape provides Completion At Point Extensions which can be used in combination with the Corfu completion UI or the default completion UI. The completion backends used by completion-at-point are so called completion-at-point-functions (Capfs). In principle, the Capfs provided by Cape can also be used by Company.”
  • reverso.el: “Emacs client for the Reverso service.”
  • volatile-highlights.el: “This library provides minor mode volatile-highlights-mode, which brings visual feedback to some operations by highlighting portions relating to the operations.”
  • blamer: “A git blame plugin for emacs inspired by VS Code’s GitLens plugin and Vim plugin.”
  • diffed: “Emacs major mode which uses recursive diff output as a base for synchronization. Diffed is for recursive diff like Dired is for ls. Can be used somewhat like ediff-directories, but without the need to switch to another buffer to view a subdirectory or to copy a file to the opposite directory.”
  • emacs-cycle-at-point: “Immediately cycle text at the cursor, without prompting. Unlike most actions to select from a list cycle-at-point replaces the text immediately, calling again to cycle over options.”
  • flycheck-aspell: “The flycheck-aspell and flymake-aspell packages add support for spell checking to Flycheck and Flymake using the GNU Aspell application.”
  • org-asciidoc: “An Org Mode Exporter Backend For AsciiDoc and Asciidoctor”
  • sideline: “This library provides the frontend UI to display information either on the left/right side of the buffer window.”
  • dape: “Dape is an debug adapter client for Emacs.”
  • dotnet.el: “dotnet CLI mode for Emacs. This package gives you a set of key combinations to perform dotnet CLI tasks within your .NET Core projects.”
  • eshell-bookmark: “Simple package integrating eshell with bookmark.el. Read the blog post for introduction.”
  • binky.el: “Jump between points like a rabbit! This package provides commands to jump between points in buffers and files. Marked position, last jump position and recent buffers are all supported in same mechanism like point-to-register but with an enhanced experience.”
  • cov: “cov shows code coverage data for your program in emacs. Currently, it supports gcov, lcov, coverage.py, and clover output, as well as the Coveralls format produced by undercover.el.”
  • project-shells: “This is to manage multiple shell (or terminal, eshell) buffers for each project. For example, to develop for Linux kernel, I usually use one shell buffer to configure and build kernel, one shell buffer to run some git command not supported by magit, one shell buffer to run qemu for built kernel, one shell buffer to ssh into guest system to test. Different set of commands is used by the shell in each buffer, so each shell should have different command history configuration, and for some shell, I may need different setup. And I have several projects to work on. In addition to project specific shell buffers, I want some global shell buffers, so that I can use them whichever project I am working on. Project shells is an Emacs package to let my life easier via helping me to manage all these shell/terminal/eshell buffers.”
  • blammer.el: “A git blame plugin for emacs inspired by VS Code’s GitLens plugin and Vim plugin.”
  • fzf.el: “An Emacs front-end for fzf.”
  • stripe-buffer: “Use different background colors for even and odd lines.”
  • linkmarks: “Linkmarks.el leverages org-mode for bookmarks […]”
  • consult-jump-project: Quickly jump between projects, their files and buffers with consult.
  • ox-json: “JSON export back end for Emacs Org mode”
  • ox-hugo: “A carefully crafted Org exporter back-end for Hugo”
  • lambda-line: “Lambda-line is a custom status-line (or “mode-line) for Emacs. It is configurable for use either as a header-line or as a footer-line.”
  • lambda-themes: “Lambda-themes is a collection of four higher and lower contrast light and dark themes. The color palette is limited, and organized according to function and salience. ”
  • citeproc-el: “A CSL 1.0.2 Citation Processor for Emacs.”
  • citeproc-org: “Renders Org mode citations and bibliographies during export in Citation Style Language (CSL) styles using the citeproc-el library.”
  • orgcss: “Stylesheet for Org-exported HTML”
  • mustache.el: “a mustache templating library in Emacs Lisp”
  • llm: “This library provides an interface for interacting with Large Language Models (LLMs).”
  • elisa: “ELISA (Emacs Lisp Information System Assistant) is a project designed to help Emacs users quickly find answers to their questions related to Emacs and Emacs Lisp.”
  • slime: “SLIME is the Superior Lisp Interaction Mode for Emacs.”
  • difftastic.el: “The difftastic Emacs package is designed to integrate difftastic - a structural diff tool - into your Emacs workflow, enhancing your code review and comparison experience.”
  • emacs-fetch: “Efetch (or emacs-fetch) is a elisp GNU Emacs extention system information tool, inspired by neofetch.” See also this video.
  • justl.el: “justl.el mode is a major mode for driving justfiles. As compared to the just-mode, this mode is built for listing and executing the recipes in the justfile via the transient keymaps. Also works with TRAMP.”
  • time-uuid-mode: “Convert time based UUIDs into their ISO8601 date times and preview them inline as an overlay.”
  • embrace.el: “Add/Change/Delete pairs based on expand-region.”
  • activities.el: “Inspired by Genera’s and KDE’s concepts of “activities”, this Emacs library allows the user to manage frames/tabs, windows, and buffers according to their purpose. ”
  • project-tab-groups: “Provides a global minor mode that enhances the Emacs built-in project.el library to support keeping projects isolated in named tab groups.”
  • vundo: “Vundo (visual undo) displays the undo history as a tree and lets you move in the tree to go back to previous buffer states. To use vundo, type M-x vundo RET in the buffer you want to undo. A”
  • emacs-solaire-mode: “solaire-mode is an aesthetic plugin designed to visually distinguish “real” buffers (i.e. file-visiting code buffers where you do most of your work) from “unreal” buffers (like popups, sidebars, log buffers, terminals, etc) by giving the latter a slightly different – often darker – background:”
  • emacs-flymake-popon: “Flymake diagnostics on cursor hover”
  • VolatileHighlights: “VolatileHighlights highlights changes to the buffer caused by commands such as ‘undo’, ‘yank’/’yank-pop’, etc. The highlight disappears at the next command. The highlighting gives useful visual feedback for what your operation actually changed in the buffer.”
  • multi-vterm: “Managing multiple vterm buffers in Emacs This package is inspired by multi-term.el”
  • visual-regexp.el: “visual-regexp for Emacs is like replace-regexp, but with live visual feedback directly in the buffer. Check out visual-regexp-steroids if you want to use modern regular expressions instead of Emacs-style regular expressions.”
  • ready-player: “A lightweight major mode to open media (audio/video) files in an Emacs buffer.”
  • mrds-mode: org-roam with multiple directories.
  • org-remark: “Org-remark lets you highlight and annotate text files, websites, EPUB books and Info documentation with using Org mode.” Note: name change from Org-marginalia to Org-remark.