#+HTML:
#+HTML:
Welcome to Awesome Emacs, a community-driven list of useful Emacs packages, utilities, and libraries. Most of the following packages are available in [[https://github.com/melpa/melpa][MELPA]]. We recommend installing packages with it.
Also, please do consider contributing back to the Emacs community. One major way is by financially sponsoring the lead developers and teams of developers that create and maintain the wonderful Emacs packages that so many of us use. [[https://github.com/tarsius/elisp-maintainers][Elisp Maintainers]] provides a fantastic collection of ways that one can donate to several prolific Emacs package developers. Please do so donate.
Above all, enjoy using Emacs. The community, more than anything, makes Emacs a great ecosystem and place to develop, learn and grow.
** Installation Much information can be found at the [[https://www.gnu.org/savannah-checkouts/gnu/emacs/download.html][GNU Emacs Download & Installation]] page. Upgrading to the newest/current version of emacs (if emacs comes preinstalled on ones operating system) will give the best user experience, and it is advised to do so as soon as possible. Here are several resources to assist you as you start or continue your journey with emacs.
*** Linux Use your favorite Linux package manager (e.g. apt, dnf, yum, pacman, etc) or build from [[https://git.savannah.gnu.org/cgit/emacs.git/][source]]. Typically, either a relatively recent version of emacs or no instance of emacs will be on a default install of one's Linux [[https://distrowatch.com][distribution]].
*** macOS Use [[https://brew.sh][Homebrew]] or [[https://www.macports.org][MacPorts]] to install emacs with a package manager. Also, consider [[https://emacsformacosx.com][Emacs for Mac OS X]] and the Homebrew [[https://github.com/d12frosted/homebrew-emacs-plus][Emacs Plus]] formula for installation candidates. The preinstalled version of emacs on a default macOS install is quite [[https://apple.stackexchange.com/questions/229669/update-emacs-that-comes-with-os-x][old]]. For an optimal emacs experience, upgrading to a newer version is highly recommended.
*** Windows Emacs can be downloaded from the [[http://ftp.gnu.org/gnu/emacs/windows/][GNU FTP]] or a GNU mirror listed on the [[https://www.gnu.org/software/emacs/download.html][GNU Emacs Download & Installation page]], and/or using the [[https://www.msys2.org][MSYS2]] pacman manager. Another option is to install emacs via the [[https://community.chocolatey.org/packages/Emacs][Chocolatey]] or [[https://github.com/ScoopInstaller/Extras/blob/master/bucket/emacs.json][scoop]] Windows package managers. A default install of Windows does not contain emacs.
*** Alternative The following resources can be used to build emacs in various environments-- e.g. containerized [[https://www.docker.com][docker]] builds, [[https://en.wikipedia.org/wiki/Continuous_integration][continuous integration]], building various versions of emacs, etc. - [[https://github.com/rejeep/evm][evm]] - Emacs Version Manager. - [[https://github.com/flycheck/emacs-travis][flycheck/emacs-travis]] - Install emacs on Travis CI. - [[https://github.com/npostavs/emacs-travis][npostavs/emacs-travis]] - Pre-built emacs binaries for Travis CI (fork of flycheck/emacs-travis, significant though in that it is used for CI in projects such as Magit). - [[https://github.com/Silex/docker-emacs][Silex/docker-emacs]] - Run emacs in docker containers (multiple image variants, with options for [[https://ubuntu.com][Ubuntu]] or [[https://alpinelinux.org][Alpine]] Linux based images). - [[https://github.com/JAremko/docker-emacs][JAremko/docker-emacs]] - Dockerized emacs with GUI (Mac, Windows, GNU/Linux and your browser). - [[https://github.com/purcell/nix-emacs-ci][nix-emacs-ci]] - Emacs installations for continuous integration.
** Interface Enhancement
*** Window & Frame Management #+begin_quote The window & frame system of Emacs itself, NOT the window system of OS (See "[[#operating-system][Operating System]]"). #+end_quote
**** Font
**** Layout
**** Switching
*** Tabbar
*** Navigation
- [[https://github.com/winterTTr/ace-jump-mode][Ace jump]] - A quick cursor jump mode.
- [[https://github.com/emacs-vs/goto-line-preview][goto-line-preview]] - Preview line when executing =goto-line= command.
- [[https://github.com/abo-abo/avy][Avy]] - Jump to visible text using a char-based decision tree.
- [[https://github.com/cute-jumper/avy-zap][avy-zap]] - Zap to char using avy.
- [[https://github.com/doitian/iy-go-to-char][iy-go-to-char]] - Go to next CHAR which is similar to "f" and "t" in vim, works well with Multiple Cursors.
- [[https://github.com/camdez/goto-last-change.el][goto-last-change]] - Move point through buffer-undo-list positions.
- [[https://github.com/emacsorphanage/helm-swoop][Helm-swoop]] - Efficiently jump between matched string/lines.
- [[https://github.com/radian-software/ctrlf][CTRLF]] - An intuitive and efficient solution for single-buffer text search in Emacs.
- [[https://github.com/emacsorphanage/anzu][anzu]] - displays current match and total matches.
- [[https://www.emacswiki.org/emacs/ImenuMode][imenu]] - =[built-in]= Menus for accessing locations in documents.
- [[https://github.com/vspinu/imenu-anywhere][imenu-anywhere]] - IDO/Helm imenu tag selection across all buffers with the same mode.
- [[https://www.emacswiki.org/emacs/MiniMap][Minimap]] - A SublimeText-style minimap sidebar.
- [[https://github.com/abo-abo/ace-link][ace-link]] - Quickly follow links in =org-mode=, =help-mode=, =Info-mode=, and several other modes.
- [[https://github.com/rolandwalker/back-button][back-button]] - Visual navigation through mark rings.
- [[https://github.com/joodland/bm][bm]] - Visual Bookmarks, provides an easy way to navigate in a buffer.
- [[https://github.com/aki2o/emacs-pophint][emacs-pophint]] - Provide navigation like the Vimperator/KeySnail Hint Mode of Firefox.
- [[https://github.com/noctuid/vertigo.el][vertigo.el]] - Jump lines using the home row.
- [[https://github.com/nixin72/block-nav.el][block-nav]] - Navigate by indentation block levels.
- [[https://codeberg.org/ideasman42/emacs-spatial-navigate][emacs-spatial-navigate]] - Navigate by indentation and whitespace blocks.
- [[https://github.com/alezost/mwim.el][mwim]] - Toggle point between line positions of interest.
- [[https://gitlab.com/Vonfry/zoxide.el][zoxide]] - A smarter cd command for Emacs.
*** Key-bindings #+BEGIN_QUOTE Possibly help prevent keyboard-related repetitive strain injury (RSI) from occurring. #+END_QUOTE - [[https://github.com/emacs-evil/evil][Evil]] - An e xtensible vi l ayer: manipulate Emacs with Vi key binding. - [[https://github.com/emacs-evil/evil-collection][Evil Collection]] - A collection of Evil bindings. - [[https://github.com/emacs-evil/evil-ediff][Evil Ediff]] - Evil bindings for Ediff. - [[https://github.com/emacs-evil/evil-magit][Evil Magit]] - Evil bindings for Magit. - [[https://github.com/JorisE/evil-mu4e][Evil mu4e]] - Evil bindings for mu4e. - [[https://github.com/noctuid/lispyville][LispyVille]] - Evil bindings for lispy-mode. - [[https://github.com/abo-abo/hydra][Hydra]] - Make bindings that stick around. - [[https://github.com/emacsorphanage/god-mode][god-mode]] - Global minor mode for entering Emacs commands without modifier keys. - [[https://github.com/meow-edit/meow][meow]] - Yet another modal editing on Emacs. - [[https://github.com/mrkkrp/modalka][modalka]] - Introduce native modal editing of your own design. - [[https://github.com/Kungsgeten/ryo-modal][ryo-modal]] - Inspired by modalka, ryo-modal provides useful features for creating your own modal editing environment. - [[https://gitlab.com/matsievskiysv/multistate][multistate]] - Use Evil-like binding states without predefined keybindings (Evil mode without vi). - [[https://github.com/xahlee/xah-fly-keys][xah-fly-keys]] - A modal keybinding for emacs (like vim), but based on command frequency and ergonomics. - [[https://github.com/ergoemacs/ergoemacs-mode][ergoemacs-mode]] - Global minor mode to use both common interface keys and ergonomic keys for emacs. - [[https://github.com/noctuid/general.el][general]] - A convenient, unified interface for key definitions - like use-package but for key-bindings.
*** Minibuffer
M-x fido-mode
.
**** Fuzzy & Narrowing #+begin_quote Tools or libraries specially focused on fuzzy searching in list, mostly for minibuffer. #+end_quote
- [[https://github.com/radian-software/prescient.el][prescient.el]] - Fast and intuitive frequency-and-recency-based sorting and filtering for Emacs.
- [[https://github.com/oantolin/orderless][Orderless]] - Use space-separated search terms in any order when completing with Icomplete or the default interface.
- [[https://github.com/manateelazycat/snails][Snails]] - A modern, easy-to-expand fuzzy search framework.
- [[https://github.com/radian-software/selectrum][selectrum]] - Clean, stable, and intuitive incremental narrowing framework for Emacs. [Deprecated. The project suggests using Vertico]
*** Mode-line
*** Dim Distracting
- [[https://github.com/gonewest818/dimmer.el][dimmer.el]] - Interactively highlight which buffer is active by dimming the others.
- [[https://github.com/hlissner/emacs-solaire-mode][Solaire mode]] - Visually distinguish file-visiting windows from other types of windows (like popups or sidebars) by giving them a slightly different background.
- [[https://github.com/larstvei/Focus][focus]] - Dim the font color of text in surrounding paragraphs.
** Editing Enhancement
*** Indentation Enhancement
- [[https://github.com/antonj/Highlight-Indentation-for-Emacs][highlight-Indentation-mode]] - Highlight indentation.
- [[https://github.com/zk-phi/indent-guide][indent-guide]] - Show vertical lines to guide indentation.
- [[https://github.com/Malabarba/aggressive-indent-mode][Aggressive-indent]] - Keeps your code always indented automatically.
- [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Indent-Convenience.html][electric-indent-mode]] - =[built-in]= (enabled by default) Auto-indent current and new lines ([[https://www.emacswiki.org/emacs/AutoIndentation][Emacs Wiki]])
- [[https://github.com/DarthFennec/highlight-indent-guides][highlight-indent-guides]] - Highlight indentation.
- [[https://codeberg.org/ideasman42/emacs-hl-indent-scope][hl-indent-scope]] - Highlight indentation using source-code scope (typically defined by brackets).
*** Symbols / Tokens
- [[https://github.com/emacsmirror/rainbow-mode][rainbow-mode]] - Colorize color names / color hex code in buffers.
- [[https://github.com/wolray/symbol-overlay][symbol-overlay]] - Highlight symbols with keymap-enabled overlays (inspired by highlight-symbol).
- [[https://github.com/nschum/highlight-symbol.el][highlight-symbol]] - Auto/manually highlight the same symbols in code, navigate in them, or replace string.
- [[https://github.com/fgeller/highlight-thing.el][highlight-thing]] - Light-weight minor mode to highlight thing under point using built-ins.
- [[https://github.com/ankurdave/color-identifiers-mode][color-identifiers-mode]] - Color Identifiers is a minor mode for Emacs that highlights each source code identifier uniquely based on its name.
- [[https://codeberg.org/ideasman42/emacs-idle-highlight-mode][idle-highlight-mode]] - Light-weight minor mode to automatically highlight the thing at point when idle, with configurable exceptions & behavior.
*** Whitespaces Enhancement
- [[https://www.emacswiki.org/emacs/WhiteSpace][whitespace]] - =[built-in]= Visualize blanks (tab/space/newline).
- [[https://github.com/purcell/whitespace-cleanup-mode][whitespace-cleanup-mode]] - Intelligently call whitespace-cleanup on save.
- [[https://github.com/lewang/ws-butler][ws-butler]] - Unobtrusively trim extraneous white-space *ONLY* in lines edited.
*** Delete Enhancement
*** Fancy Icons
*** Massive Edit
- [[Https://github.com/magnars/multiple-cursors.el][Multiple cursors]] - Mark, edit multiple lines at once.
- [[https://github.com/benma/visual-regexp.el][visual-regexp]] - Replace via RegExp, with real-time visual feedback directly in the buffer.
- [[https://github.com/benma/visual-regexp-steroids.el/][visual-regexp-steroids]] - The same as visual-regexp, but use modern regular expressions instead of Emacs-style.
- [[https://github.com/mkcms/interactive-align][ialign]] - Interactively align lines using a regular expression.
- [[https://github.com/abo-abo/tiny][tiny]] - Templates based on linear range transformations.
*** Quotes & Parenthesis & Delimiters Handling
**** Insert & Edit
**** Select
**** Highlight
*** Kill-ring / Clipboard
*** Drag Lines
*** Undo & Redo
*** Multiple Major-Mode
*** Snippet
*** Text Conversion
** Programming
*** Completion
- [[https://github.com/auto-complete/auto-complete][Auto-Complete]] - An intelligent auto-completion extension with great interface.
- [[https://company-mode.github.io/][Company]] - A text completion framework.
- [[https://github.com/company-mode/company-quickhelp][company-quickhelp]] - Documentation popups for company.
- [[https://github.com/lewang/flx][flx]] - Fuzzy matching for Emacs like Sublime Text.
- [[https://www.emacswiki.org/emacs/AbbrevMode][abbrev]] - =[built-in]= Abbreviation expander.
- [[https://github.com/abingham/emacs-ycmd][emacs-ycmd]] - Emacs client for YCM.
- [[https://github.com/minad/corfu][corfu]] - Corfu enhances the default completion in region function with a completion overlay.
- [[https://codeberg.org/ideasman42/emacs-recomplete][recomplete]] - Immediate completion that doesn't block user input, but cycles through options on successive calls. It can also be used with ISpell as a fast way to correct typos.
- [[https://codeberg.org/ideasman42/emacs-mono-complete][mono-complete]] - Non-blocking completion with preview that doesn't block user input which supports multiple back-ends at once including back-ends for dabbrev, capf and statistical word prediction among others.
*** Jump to Definition / Tagging
*** LSP Client
*** Debugging
*** Error Checking
- [[https://www.emacswiki.org/emacs/FlyMake][FlyMake]] - =[built-in]= on-the-fly syntax checks on files using external tools.
- [[https://github.com/flycheck/flycheck][Flycheck]] - Modern on-the-fly syntax checking meant to be a replacement to =FlyMake=.
*** Document
*** Code Folding
- [[https://github.com/matsievskiysv/vimish-fold][vimish-fold]] - Vim-like text folding.
- [[https://www.emacswiki.org/emacs/HideShow][hideshow]] - =[built-in]= Folding regions by balanced-expression code.
- [[https://www.emacswiki.org/emacs/download/hideshowvis.el][hideshowvis]] - Based on =hideshow=, just display its nodes on fringe.
- [[https://github.com/gregsexton/origami.el][Origami.el]] - Feature rich text folding minor mode.
*** Compiling
- [[https://github.com/ReanGD/emacs-multi-compile][multi-compile]] - Multi target interface to compile.
- [[https://codeberg.org/ideasman42/emacs-fancy-compilation][fancy-compilation]] - Output enhancements to compilation-mode (including color support).
** Project management
** File Manager
** Programming Language
*** C/C++ - [[https://cc-mode.sourceforge.net/][CC Mode]] - =[built-in]= An Emacs and XEmacs mode for editing C and other languages with similar syntax. - [[https://github.com/Andersbakken/rtags][rtags]] - A C/C++ client/server indexer with for integration with emacs based on clang. - [[https://github.com/emacs-lsp/emacs-ccls][emacs-ccls]] - Emacs client of [[https://github.com/MaskRay/ccls][ccls]], a C/C++/Objective-C language server powered by clang. - [[https://github.com/cquery-project/emacs-cquery][emacs-cquery]] - Emacs client of [[https://github.com/jacobdufault/cquery][cquery]], a C/C++/Objective-C language server powered by clang. - [[https://github.com/Sarcasm/irony-mode][irony-mode]] - A C/C++ minor mode for Emacs powered by libclang. - [[https://github.com/Lindydancer/cmake-font-lock][cmake-font-lock]] - Enhanced font-lock rules for CMake. - [[https://github.com/abo-abo/function-args][function-args]] - visual CEDET enhancements for C++. - [[https://www.gnu.org/software/emacs/manual/html_node/ebrowse/index.html][Ebrowse]] - =[built-in]= A C++ class browser. - [[https://github.com/atilaneves/cmake-ide/][cmake-ide]] - Configures other packages to consider compile options like include paths from cmake projects to improve e.g. autocompletion. - [[https://github.com/emacsmirror/clang-format][clang-format]] - An interface to clang-format for Emacs, provides C/C++ code formatting functionality.
*** Python
- [[https://github.com/jorgenschaefer/elpy][Elpy]] - An Emacs Python development environment.
- [[https://github.com/pythonic-emacs/anaconda-mode][anaconda-mode]] - Code navigation, documentation lookup and completion for Python.
- [[https://github.com/porterjamesj/virtualenvwrapper.el][virtualenvwrapper.el]] - Manage virtualenv from inside Emacs.
- [[https://github.com/pwalsh/pipenv.el][pipenv.el]] - Integrates pipenv to emacs providing useful commands.
- [[https://github.com/Reagankm/renpy-mode][renpy-mode]] - Emacs major mode for working with the Ren'Py visual novel engine.
*** Ruby
- [[https://github.com/senny/rvm.el][rvm]] - Ruby versions manager within Emacs.
- [[https://github.com/endofunky/bundler.el][bundler]] - Interact with gem Bundler from Emacs.
- [[https://github.com/nonsequitur/inf-ruby][inf-ruby]] - REPL buffer connected to a Ruby subprocess.
- [[https://github.com/zenspider/enhanced-ruby-mode][enhanced-ruby-mode]] - Enhanced Ruby Mode replaces the emacs ruby mode that
comes with ruby. It uses the Ripper class found in ruby 1.9.2 (and later)
to parse and indent the source code.
- [[https://www.emacswiki.org/emacs/yari.el][yari]] - Yet Another RI interface for Emacs.
- [[https://github.com/dgutov/robe][robe]] - Code navigation, documentation lookup and completion for Ruby.
- [[https://github.com/rubocop/rubocop][rubocop]] - A Ruby static code analyzer, based on the community Ruby style guide.
- [[https://github.com/ainame/motion-mode][motion-mode]] - A package to provide emacs' major mode for RubyMotion environment.
- [[https://github.com/pezra/rspec-mode][rspec-mode]] - An RSpec minor mode for Emacs.
- [[https://github.com/michaelklishin/cucumber.el][feature-mode]] - Emacs mode for editing Cucumber plain text stories.
- [[https://github.com/asok/projectile-rails][projectile-rails]] - Emacs minor mode for working with Ruby on Rails applications and engines.
- [[https://github.com/eschulte/rinari][rinari]] - Rinari Is Not A Rails IDE (it is an Emacs minor mode for Rails).
*** Lisp Family
- [[https://www.emacswiki.org/emacs/ParEdit][Paredit]] - Minor mode for editing parentheses. Strict parenthesis auto-pairing and easy depth adjustment. Compatible with Lisp/Scheme/Clojure.
- [[https://github.com/abo-abo/lispy][lispy]] - Minor mode for editing parenthesis, evaluating and refactoring LISP code with extremely short key bindings. Compatible with Lisp/Scheme/Clojure.
- [[https://github.com/DogLooksGood/parinfer-mode][Parinfer]] - [[https://shaunlebron.github.io/parinfer/][Parinfer]] for Emacs, simpler Lisp editing.
**** Common Lisp
- [[https://github.com/slime/slime][SLIME]] - A fully-functional IDE for Common Lisp development, with debugger, REPL.
- [[https://github.com/joaotavora/sly][SLY]] - A fork of SLIME.
- [[https://github.com/mrkkrp/common-lisp-snippets][common-lisp-snippets]] - Yasnippets for Common Lisp.
**** Scheme
- [[https://www.neilvandyke.org/quack/][Quack]] - Enhanced Emacs Support for Editing and Running Scheme Code.
- [[http://www.nongnu.org/geiser/][Geiser]] - Integrated development with Guile and Racket.
**** Racket
- [[https://github.com/greghendershott/racket-mode][racket-mode]] - major modes for Racket: Edit and REPL.
**** Clojure
- [[https://github.com/clojure-emacs/clojure-mode][Clojure mode]] - A major mode for clojure.
- [[https://github.com/clojure-emacs/cider][Cider]] - Clojure IDE and REPL.
- [[https://github.com/mpenet/clojure-snippets][Clojure snippets]] - Clojure snippets with yasnippet.
- [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor.el]] - A collection of Clojure refactoring functions for Emacs.
**** Emacs Lisp - [[https://github.com/Fanael/highlight-defined][highlight-defined]] - Highlight defined functions' / variables' name. - [[https://www.emacswiki.org/emacs/InferiorEmacsLispMode][ielm]] - =[built-in]= A simple Emacs Lisp REPL. - [[https://github.com/Silex/elmacro][elmacro]] - Display keyboard macros or latest interactive commands as Emacs Lisp. - [[https://github.com/Wilfred/suggest.el][suggest.el]] - Discover elisp functions that do what you want. - [[https://github.com/cpitclaudel/easy-escape][easy-escape]] - Improve readability of escape characters in ELisp regular expressions. - [[https://github.com/xiongtx/eros][eros]] - Evaluation Result OverlayS for Emacs Lisp. - [[https://codeberg.org/ideasman42/emacs-elisp-autofmt][elisp-autofmt]] - Auto-format ELisp (with support for formatting the buffer on save).
*** Web Development
- [[https://web-mode.org/][web-mode]] - major mode for editing various html templates (PHP, JSP, ASP, ERB...etc).
- [[https://github.com/smihica/emmet-mode][emmet]] - [[https://emmet.io/][Emmet]] support for Emacs.
- [[https://github.com/yasuyk/web-beautify][web-beautify]] - Format HTML, CSS and JavaScript/JSON by js-beautify.
- [[https://github.com/skeeto/skewer-mode][skewer-mode]] - live interact with JavaScript, CSS, and HTML in a web-browser.
- [[https://github.com/skeeto/impatient-mode][impatient-mode]] - See your changes in the browser as you type.
- [[https://github.com/pashky/restclient.el][restclient.el]] - HTTP REST client tool for emacs.
- [[https://github.com/nicferrier/elnode][elnode]] - An evented IO webserver in Emacs Lisp.
- [[https://github.com/federicotdn/verb][verb]] - Organize and send HTTP requests from Emacs.
**** JavaScript
- [[https://github.com/mooz/js2-mode/][js2-mode]] - Improved JavaScript editing mode.
- [[https://js-comint-el.sourceforge.net/][js-comint.el]] - Run an inferior javascript REPL process in Emacs.
- [[http://ternjs.net/doc/manual.html#emacs][tern]] - Emacs flavor of the popular JavaScript analysis engine.
- [[https://github.com/json-emacs/json-mode][json-mode]] - Major mode for editing JSON files.
- [[https://github.com/NicolasPetton/indium][indium]] - A JavaScript development environment for Emacs.
- [[https://github.com/js-emacs/js2-refactor.el][js2-refactor]] - A JavaScript refactoring library for emacs.
- [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]] - A JSX major mode for Emacs.
- [[https://github.com/shaneikennedy/npm.el][npm.el]] - Run your npm workflows in emacs.
***** CoffeeScript
- [[https://github.com/defunkt/coffee-mode][coffee-mode]] - An Emacs major mode for CoffeeScript and IcedCoffeeScript.
***** TypeScript
- [[https://github.com/ananthakumaran/tide][Tide]] - TypeScript Interactive Development Environment for Emacs.
***** PureScript
- [[https://github.com/dysinger/purescript-mode][purescript-mode]] - An Emacs major mode for PureScript.
- [[https://github.com/purescript-emacs/emacs-psci][emacs-psci]] - An Emacs major mode for psci.
- [[https://github.com/purescript-emacs/psc-ide-emacs][psc-ide-emacs]] - Emacs integration for PureScript's psc-ide tool.
**** PHP
- [[https://github.com/emacs-php/php-mode][php-mode]] - Major mode for PHP programming.
- [[https://github.com/nlamirault/phpunit.el][phpunit.el]] - Launch PHP unit tests using phpunit.
- [[https://github.com/emacs-php/phpactor.el][phpactor.el]] - Interface to Phpactor (an intelligent code-completion and refactoring tool for PHP).
- [[https://github.com/emacs-php/composer.el][composer.el]] - PHP Composer interface for Emacs.
- [[https://github.com/emacs-php/psysh.el][psysh.el]] - PsySH on Emacs, PHP interactive shell (REPL).
*** Java
- [[https://github.com/emacs-eclim/emacs-eclim][emacs-eclim]] - An Eclipse plugin which exposes Eclipse features through a server interface.
- [[https://github.com/mopemope/meghanada-emacs][meghanada-emacs]] - A Better Java Development Environment for Emacs.
- [[https://github.com/emacs-lsp/lsp-java][lsp-java]] - Eclipse JDT Language Server integration for Emacs.
*** Go
- [[https://github.com/dominikh/go-mode.el][Gomode]] - Go mode rewrite for Emacs. Provides Go toolchain integration.
- [[https://github.com/dougm/goflymake][Goflymake]] - Go syntax checker. Wrapper around Emacs flymake for Go.
- [[https://github.com/nsf/gocode][Gocode]] - An autocompletion daemon for the Go programming language.
- [[https://github.com/dominikh/go-errcheck.el][Goerrcheck]] - go-errcheck provides an easy way to invoke errcheck from within Emacs.
- [[https://github.com/grafov/go-playground][Go-playground]] - Local playground for Go code snippets.
- [[https://github.com/manute/gorepl-mode][GoRepl]] - A minor emacs mode for Go REPL.
- [[https://github.com/nlamirault/gotest.el][gotest.el]] - Launch GO unit tests.
- [[https://github.com/brantou/emacs-go-tag][emacs-go-tag]] - Edit field tags for golang struct fields, based on [[https://github.com/fatih/gomodifytags][gomodifytags]].
- [[https://github.com/weijiangan/flycheck-golangci-lint][flycheck-golangci-lint]] - Flycheck checker for golangci-lint.
*** C#
- [[https://github.com/emacs-csharp/csharp-mode][csharp-mode]] - Major mode for C#.
- [[https://github.com/OmniSharp/omnisharp-emacs][omnisharp-emacs]] - IDE-like features for editing C# code.
*** Rust
- [[https://github.com/rust-lang/rust-mode][rust-mode]] - An Emacs major mode for editing Rust code.
- [[https://github.com/flycheck/flycheck-rust][flycheck-rust]] - Better Rust/Cargo support for Flycheck.
- [[https://github.com/racer-rust/emacs-racer][emacs-racer]] - Racer support for Emacs.
- [[https://github.com/kwrooijen/cargo.el][cargo.el]] - Cargo support for Emacs.
- [[https://github.com/brotzeit/rustic][rustic]] - A fork of rust mode with improvements and configurations for things such as flycheck and lsp-mode.
*** Erlang
- [[https://www.erlang.org/doc/apps/tools/erlang_mode_chapter.html][erlang]] - The official Erlang mode for Emacs.
- [[https://github.com/massemanet/distel][distel]] - Distel is a library for Emacs<->Erlang communication, plus a suite of tools built on top of it, such as a debugger front-end.
- [[https://github.com/sebastiw/edts][EDTS]] - EDTS is meant to be able to replace Distel but only provides part of the most commonly used of Distel's features.
- [[https://github.com/RefactoringTools/Wrangler][Wrangler]] - Wrangler is a mode that supports interactive refactoring of Erlang programs.
*** Elixir
- [[https://github.com/elixir-editors/emacs-elixir][elixir-mode]] - Emacs major mode for Elixir.
- [[https://github.com/tonini/alchemist.el][alchemist]] - Elixir Tooling Integration Into Emacs.
*** Haskell
- [[https://github.com/haskell/haskell-mode][haskell-mode]] - Major mode for Haskell.
- [[https://github.com/jyp/dante][dante]] - Dante provides a frontend to GHCi features: type-checking, execution, completion and cross referencing. It integrates with standard Emacs tooling as much as possible.
- [[https://github.com/projectional-haskell/structured-haskell-mode][structured-haskell-mode]] - Minor mode for structured editing of Haskell.
- [[https://github.com/alanz/HaRe][HaRe]] - Haskell refactoring tool with Emacs integration.
- [[https://github.com/matthewbauer/nix-haskell-mode]] - Nix integration for Haskell development.
- [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] and [[https://github.com/haskell/haskell-language-server][haskell-language-server]] - A successor to Intero under active development.
#+BEGIN_QUOTE External Guides:
*** Swift
- [[https://github.com/swift-emacs/swift-mode][swift-mode]] - Emacs support for Apple's Swift programming language.
- [[https://gitlab.com/michael.sanders/swift-playground-mode][swift-playground-mode]] - Emacs support for Swift playgrounds.
- [[https://github.com/nathankot/company-sourcekit][company-sourcekit]] - Completion for Swift projects via SourceKit with the help of SourceKitten.
*** Scala
- [[https://ensime.github.io/][Ensime]] - ENhanced Scala Interaction Mode for Emacs.
- [[https://github.com/hvesalai/emacs-sbt-mode_old][sbt-mode]] - An emacs mode for interacting with scala sbt and projects.
- [[https://scalameta.org/metals/docs/editors/emacs/][Metals]] - Scala language server with rich IDE features.
*** Lua
- [[https://github.com/immerrr/lua-mode/][lua-mode]] - A major mode for editing Lua sources in Emacs.
*** Makefile
- [[https://www.emacswiki.org/emacs/MakefileMode][Makefile Mode]] - =[built-in]= A major mode for editing Makefiles.
- [[https://github.com/abo-abo/helm-make][helm-make]] - Select a Makefile target with helm.
- [[https://github.com/nick96/basic-c-compile][basic-c-compile]] - Emacs package to create a Makefile, compile and run a C file.
- [[https://github.com/Olivia5k/makefile-executor.el][makefile-executor]] - Emacs helpers to run things from Makefiles.
- [[https://github.com/danamlund/emacs-makefile-runner][emacs-makefile-runner]] - Searches for Makefile and fetches targets.
*** SML
- [[http://www.iro.umontreal.ca/~monnier/elisp/][SML mode]] - a major Emacs mode for editing Standard ML source code.
*** Gdscript
- [[https://github.com/godotengine/emacs-gdscript-mode][gdscript-mode]] - An Emacs package to get GDScript support and syntax highlighting.
*** Groovy
- [[https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes][groovy-emacs-modes]] - A collection of modes for use with Groovy-related technology -- Groovy, Grails, etc.
- [[https://github.com/lifeisfoo/emacs-grails][grails.el]] - A minor mode for Grails projects.
*** Kotlin
- [[https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode][kotlin-mode]] - Kotlin major mode for Emacs.
*** R
- [[https://ess.r-project.org/][ESS]] - Emacs Speaks Statistics (ESS) supports editing of scripts and interaction with various statistical analysis programs such as R, S-Plus, SAS, Stata and OpenBUGS/JAGS.
*** Julia
- [[https://github.com/JuliaEditorSupport/julia-emacs/][julia-mode]] - Major mode for editing Julia source code.
- [[https://github.com/tpapp/julia-repl][julia-repl]] - A minor emacs mode for Julia REPL.
*** OCaml
- [[https://github.com/ocaml/tuareg][tuareg]] - a Caml mode for Emacs.
- [[https://www.typerex.org/][TypeRex]] - a set of tools for developing in OCaml.
- [[https://github.com/ocaml/merlin][Merlin]] - an assistant for editing OCaml code.
*** ReasonML
- [[https://github.com/reasonml-editor/reason-mode][reason-mode]] - An Emacs major mode for ReasonML.
*** Mint
- [[https://github.com/creatorrr/emacs-mint-mode][emacs-mint-mode]] - An Emacs major mode for editing Mint code.
*** Nim
- [[https://github.com/nim-lang/nim-mode][nim-mode]] - An Emacs major mode for editing Nim code.
*** D
- [[https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode][Emacs-D-Mode]] - An Emacs major mode for editing D code.
*** Raku
- [[https://github.com/Raku/raku-mode][raku-mode]] - An Emacs major mode for editing Raku code.
*** Elm
- [[https://github.com/jcollard/elm-mode][elm-mode]] - An Emacs major mode for editing Elm code.
*** Stan
- [[https://github.com/stan-dev/stan-mode][stan-mode]] - An Emacs major mode for editing Stan code.
*** MIPS Assembly
- [[https://github.com/hlissner/emacs-mips-mode][mips-mode]] - An emacs major mode for editing MIPS assembly.
*** RISC-V Assembly
- [[https://github.com/AdamNiederer/riscv-mode][riscv-mode]] - An emacs major mode for editing RISC-V assembly.
*** Verilog/SystemVerilog
- [[https://github.com/veripool/verilog-mode][verilog-mode]] - Emacs major mode for Verilog and SystemVerilog with Indentation, Highlighting and AUTOs.
*** LAMMPS
- [[https://github.com/HaoZeke/lammps-mode][lammps-mode]] - Emacs major mode for [[https://github.com/lammps/lammps][LAMMPS Molecular Dynamics Simulator]] scripts with proper font-locking.
** AI
*** Code Completion
- [[https://github.com/zerolfx/copilot.el][Copilot.el]] - an Emacs plugin for GitHub Copilot.
*** ChatGPT
- [[https://github.com/xenodium/chatgpt-shell][chatgpt-shell]] - ChatGPT and DALL-E Emacs shells + Org Babel.
- [[https://github.com/karthink/gptel][GPTel]] - A simple ChatGPT client for Emacs.
- [[https://github.com/rksm/org-ai][org-ai]] - Minor mode for Emacs org-mode that provides access to generative AI models.
** Keys Cheat Sheet
** Note
- [[http://www.gnu.org/software/emacs-muse/][Emacs Muse]] - a publishing environment for Emacs.
- [[https://github.com/rnkn/fountain-mode/][Fountain Mode]] - a full-featured screenwriting environment for GNU Emacs using the Fountain markup format.
- [[https://github.com/tmalsburg/guess-language.el][guess-language]] - Robust automatic language detection (e.g. Arabic, Czech, Danish, etc).
- [[https://github.com/SavchenkoValeriy/emacs-powerthesaurus][emacs-powerthesaurus]] - Powerthesaurus integration for Emacs.
- [[https://github.com/jrblevin/deft][deft]] - Quickly browse, filter, and edit directories of plain text notes.
- [[https://github.com/EFLS/zetteldeft][zetteldeft]] - Extend deft.el and turn it into a basic Zettelkasten note-taking system.
*** Org-mode
- [[https://orgmode.org/][Org]] - =[built-in]= Write notes, GTD, authoring, publish and wash dishes.
- [[https://github.com/emacsorphanage/org-page][org-page]] - A static site generator based on org-mode files.
- [[https://github.com/coldnew/org-ioslide][org-ioslide]] - Export Org document into Google I/O HTML5 slide.
- [[https://github.com/sabof/org-bullets][org-bullets]] - Shows org-mode bullets as pretty UTF-8 characters.
- [[https://github.com/minad/org-modern][org-modern]] - Implements a modern style for org buffers, including UTF-8 characters.
- [[https://github.com/org-trello/org-trello][org-trello]] - Minor mode to synchronize org-mode buffer and [[https://trello.com][trello]] board.
- [[https://github.com/alphapapa/org-protocol-capture-html][org-protocol-capture-html]] - Capture HTML from the browser selection into Emacs as org-mode content.
- [[https://github.com/Kungsgeten/org-brain][org-brain]] - Org-mode wiki + concept-mapping.
- [[https://github.com/rexim/org-cliplink][org-cliplink]] - Insert org-mode links from clipboard.
- [[https://github.com/alphapapa/org-rifle][helm-org-rifle]] - Rifle through your Org buffers and acquire your target.
- [[https://github.com/abo-abo/org-download][org-download]] - Drag and drop images to Emacs org-mode.
- [[https://github.com/fniessen/org-html-themes][org-html-themes]] - Export Org mode files into awesome HTML in 2 minutes.
- [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]] - Help organize your agenda items into tidy groups.
- [[https://github.com/weirdNox/org-noter][org-noter]] - Annotate documents with a synchronized org-mode buffer alongside them.
- [[https://github.com/felipelalli/org-sort-tasks][org-sort-tasks]] - Functions to keep TODO tasks in orgmode sorted and organized.
- [[https://github.com/DanielDe/org-web][org-web]] - Web app for viewing and editing org files online, optimized for mobile use.
- [[https://github.com/org-roam/org-roam][org-roam]] - a [[https://roamresearch.com/][Roam]] replica built on top of the all-powerful Org-mode.
- [[https://github.com/alphapapa/org-ql][org-ql]] - An Org-mode query language, including search commands and saved views.
- [[https://github.com/nobiot/org-transclusion][org-transclusion]] - Link content between buffers to make multiple changes with one edit.
- [[https://github.com/snosov1/toc-org][toc-org]] - Generate TOC for Org files.
** Version control
#+BEGIN_QUOTE For additional git-related emacs packages to use or to get inspiration from, take a look at the following resource: [[https://github.com/tarsius-legacy/git-elisp-overview]]. #+END_QUOTE
** Integration
*** Console
- [[https://www.emacswiki.org/emacs/CategoryEshell][EShell]] - =[built-in]= A shell-like command interpreter implemented in Emacs Lisp.
- [[https://www.emacswiki.org/emacs/AnsiTerm][Term]] - =[built-in]= A terminal emulator in Emacs.
- [[https://www.emacswiki.org/emacs/MultiTerm][multi-term]] - Managing multiple terminal buffers in Emacs.
- [[https://github.com/akermu/emacs-libvterm][vterm]] - A fully-fledged terminal emulator inside Emacs based on [[https://github.com/neovim/libvterm][libvterm]].
- [[https://codeberg.org/akib/emacs-eat][Eat]] - Emulate A Terminal, in a region, in a buffer and in Eshell.
- [[https://github.com/purcell/exec-path-from-shell][exec-path-from-shell]] - Get environment variables such as $PATH from the shell for Mac user.
- [[https://github.com/zwild/eshell-prompt-extras][eshell-prompt-extras]] - Display extra information and color for your eshell prompt.
- [[https://github.com/kyagi/shell-pop-el][shell-pop]] - Quickly toggle a shell with one key action.
- [[https://github.com/peterwvj/eshell-up][eshell-up]] - Quickly navigate to a specific parent directory in eshell without having to repeatedly typing ~cd ..~.
- [[https://framagit.org/steckerhalter/emacs-fasd][fasd]] - Emacs integration for the command-line productivity booster fasd.
- [[https://github.com/dieggsy/esh-autosuggest/][esh-autosuggest]] - Fish-like history autosuggestions in Eshell.
- [[https://github.com/Ambrevar/emacs-fish-completion][fish-completion]] - Fallback on [[https://fishshell.com/][fish shell]] completion for ~M-x shell~ and Eshell.
- [[https://github.com/manateelazycat/aweshell][aweshell]] - Awesome shell extension based on eshell with wonderful features!
- [[https://github.com/bling/fzf.el][fzf.el]] - An extensible Emacs front-end for [[https://github.com/junegunn/fzf][fzf]].
*** Operating System - [[https://github.com/ch11ng/exwm][EXWM]] - EXWM turns Emacs into a full-featured tiling X window manager. - [[https://github.com/emacs-helm/helm-exwm][Helm-EXWM]] - EXWM-specific sources for Helm together with an application launchers and switches. - [[https://github.com/sinic/ednc/][EDNC]] - Manage all your desktop notifications without leaving Emacs. - [[https://depp.brause.cc/eyebrowse/][Eyebrowse]] - A simple-minded way of managing window configs in emacs. - [[https://github.com/emacs-eaf/emacs-application-framework][Emacs Application Framework]] - EAF's extensibility allows one to interact with [[https://riverbankcomputing.com/software/pyqt/intro][PyQt]] GUI applications, so that one can develop any PyQt application and integrate it into Emacs (e.g. web browser, video player, camera, rss reader, etc). - [[https://github.com/zk-phi/symon/][Symon]] - Tiny graphical system monitor. - [[https://github.com/iqbalansari/restart-emacs][restart-emacs]] - A simple emacs package to restart emacs from within emacs. - [[https://github.com/emacs-helm/helm-system-packages][Helm System Packages]] - A Helm interface to the package manager of your operating system. - [[https://gitlab.com/jabranham/system-packages][system-packages]] - Manage your installed packages with emacs. - [[https://github.com/jcaw/theme-magic][theme-magic]] - Apply your Emacs theme to the rest of Linux. - [[https://github.com/benmaughan/spotlight.el][spotlight]] - Emacs package to query macOS Spotlight. - [[https://github.com/raghavgautam/osx-lib][osx-lib]] - Emacs functions for macOS. - [[https://github.com/emacsorphanage/osx-trash/][osx-trash]] - Make ~delete-by-moving-to-trash~ do what you expect it to do on macOS.
*** Search
- [[https://github.com/mhayashi1120/Emacs-wgrep][wgrep]] - Writable grep/ack/ag/pt buffer and apply the changes to files.
**** Ack
- [[http://nschum.de/src/emacs/full-ack/][full-ack]] - An Emacs front-end for ack.
- [[https://github.com/leoliu/ack-el][ack-el]] - Emacs Interface to Ack-like Tools.
**** Ag
- [[https://github.com/Wilfred/ag.el][ag.el]] - An Emacs frontend to Ag ("the silver searcher" ack replacment).
- [[https://github.com/emacsorphanage/helm-ag][helm-ag]] - Ag with helm interface.
**** Pt
- [[https://github.com/bling/pt.el][pt.el]] - An emacs front-end for Pt, the [[https://github.com/monochromegane/the_platinum_searcher][Platinum Searcher]].
**** Sift
- [[https://github.com/nlamirault/sift.el][sift.el]] - Front-end for [[https://github.com/svent/sift][sift]], a fast and powerful grep alternative.
**** Ripgrep
- [[https://github.com/Wilfred/deadgrep][deadgrep]] - Deadgrep is the fast, beautiful text search that your Emacs deserves.
- [[https://github.com/dajva/rg.el][rg.el]] - Emacs search tool based on ripgrep.
- [[https://github.com/nlamirault/ripgrep.el][ripgrep.el]] - Emacs front-end for [[https://github.com/BurntSushi/ripgrep][ripgrep]], a command line search tool.
- [[https://github.com/manateelazycat/color-rg][color-rg.el]] -- Search and refactoring tool base on ripgrep, integrate edit feature like wgrep, don't need install wgrep added.
*** Pastebin
- [[https://github.com/defunkt/gist.el][gist.el]] - Paste Gist in Emacs.
- [[https://github.com/mhayashi1120/yagist.el][yagist.el]] - Yet another Gist integration.
- [[https://github.com/gregnewman/dpaste.el][dpaste.el]] - Emacs mode to post to dpaste.com.
- [[https://github.com/emacs-pe/jist.el][jist.el]] - Yet another gist client for Emacs.
- [[https://github.com/theanalyst/ix.el][ix.el]] - Paste to [[http://ix.io/][ix.io]] pastebin.
- [[https://github.com/etu/webpaste.el][webpaste.el]] - Paste to pastebin-like services.
- [[https://github.com/Malabarba/emacs-google-this][google-this]] - A set of functions and bindings to google under point.
- [[https://github.com/atykhonov/google-translate][google-translate]] - Interface to Google Translate.
- [[https://github.com/jd/google-maps.el][google-maps]] - Google Maps support for Emacs.
*** Blog System
- [[https://github.com/nibrahim/Hyde][Hyde]] - An Emacs mode to manage [[https://jekyllrb.com/][Jekyll]] blogs.
- [[https://github.com/kuanyui/hexo.el][hexo.el]] - A frontend UI of [[https://hexo.io/][Hexo]] for Emacs.
- [[https://github.com/xcodebuild/blog-admin][blog-admin]] - Write blog in emacs with hexo/org-page/nikola.
- [[https://github.com/thiefuniverse/blog-minimal][blog-minimal]] - A simple static site generator based on org mode.
- [[https://ox-hugo.scripter.co][ox-hugo]] - Export Org subtrees/files to Markdown with front-matter for [[https://gohugo.io][Hugo]] static site generator.
** Markdown
** LaTeX
** Internet
*** Browser
- [[https://www.gnu.org/software/emacs/manual/html_mono/eww.html][EWW]] - =[built-in]= EWW, the Emacs Web Wowser, is a web browser for Emacs.
- [[https://www.emacswiki.org/emacs/CategoryGnus][Gnus]] - =[built-in]= Reading e-mail and Usenet news.
- [[https://www.emacswiki.org/emacs/MessageMode][Messages]] - =[built-in]= Composing and sending e-mail inside Emacs.
- [[https://www.djcbsoftware.nl/code/mu/mu4e.html][mu4e]] - An e-mail client for Emacs.
- [[https://github.com/iqbalansari/mu4e-alert/][mu4e-alert]] - Desktop notifications and modeline display for mu4e.
- [[https://gitlab.com/ambrevar/mu4e-conversation/][mu4e-conversation]] - Alternative view for displaying emails in mu4e.
- [[https://notmuchmail.org/][notmuch]] - A mail indexer which can serve as a complete client with its emacs integration.
- [[https://www.emacswiki.org/emacs/WanderLust][Wanderlust]] - A powerful email and Usenet client for Emacs (IMAP4rev1, NNTP, POP(POP3/APOP), MH/Maildir).
- [[http://www.mew.org/en/][mew]] - A very easy to use e-mail reader and client for Emacs.
*** IRC
- [[https://www.emacswiki.org/emacs/ERC][ERC]] - =[built-in]= A powerful, modular, and extensible IRC client.
- [[http://www.nongnu.org/riece/index.html.en][Riece]] - An IRC client for Emacs.
- [[https://www.emacswiki.org/emacs/rcirc][Rcirc]] - =[built-in]= Next generation IRC client.
- [[https://github.com/emacs-circe/circe][Circe]] - A Client for IRC in Emacs.
*** Chat
- [[https://github.com/the-kenny/weechat.el][Weechat.el]] - A Weechat-relay client for Emacs.
- [[https://github.com/yuya373/emacs-slack][slack]] - slack client for Emacs.
- [[https://github.com/legoscia/emacs-jabber][emacs-jabber]] - XMPP client.
- [[https://github.com/alphapapa/ement.el][ement]] - A Matrix client for Emacs.
*** Social Network
- [[https://twmode.sourceforge.net/][Twittering mode]] - Major mode for Twitter.
- [[https://github.com/vermiculus/sx.el/][SX]] - Stack Exchange for Emacs.
- [[https://github.com/atykhonov/emacs-howdoi][howdoi]] - Instant coding answers via Emacs, a way to query Stack Overflow directly from within Emacs.
- [[https://github.com/austin-----/weibo.emacs][weibo.emacs]] - Sina weibo client in Emacs.
- [[https://codeberg.org/martianh/mastodon.el][Mastodon.el]] - An Emacs client for Mastodon.
*** Web Feed
- [[https://github.com/skeeto/elfeed][Elfeed]] - RSS/Atom Reader for Emacs.
- [[https://github.com/remyhonig/elfeed-org][elfeed-org]] - An extension for Elfeed which lets you define all feeds in an Org file.
- [[https://www.gnu.org/software/emacs/manual/html_node/newsticker/index.html][Newsticker]] - =[built-in]= RSS/Atom Reader for Emacs.
*** FTP - [[https://www.emacswiki.org/emacs/AngeFtp][AngeFTP]] - FTP client for Emacs. *** Torrent - [[https://github.com/skangas/mentor][mentor]] - GNU Emacs frontend for the rTorrent bittorrent client.
** DevOps
** Package Management
*** Package Manager
- [[https://www.emacswiki.org/emacs/ELPA][package.el]] - =[built-in]= Install and manage Emacs packages easily.
- [[https://github.com/Malabarba/paradox][paradox]] - Modernizing Emacs' Package Menu with package ratings, usage statistics, customizability & more.
- [[https://github.com/Silex/package-utils][package-utils]] - Interactive extensions for package.el .
- [[https://github.com/larstvei/Try][try]] - Try out Emacs packages.
- [[https://github.com/dimitri/el-get][el-get]] - apt-get style Emacs packages manager.
- [[https://github.com/cask/cask][cask]] - Manage dependencies for your local Emacs configuration and automate the package development cycle.
- [[https://github.com/rdallasgray/pallet][pallet]] - A package management tool for Emacs, built on Cask.
- [[https://github.com/quelpa/quelpa][quelpa]] - Build and install your Emacs Lisp packages on-the-fly directly from source.
- [[https://github.com/brew-stuff/homebrew-emacs][homebrew-emacs]] - Homebrew tap for installing Emacs packages.
- [[https://github.com/emacscollective/borg][borg]] - Assimilate Emacs packages as Git submodules.
- [[https://github.com/radian-software/straight.el][straight.el]] - Next-generation, purely functional package manager for the Emacs hacker.
- [[https://github.com/progfolio/elpaca][Elpaca]] - Elpaca is an elisp package manager. It allows users to find, install, update, and remove third-party packages for Emacs.
*** Package Configuration
- [[https://github.com/jwiegley/use-package][use-package]] - =[built-in]= A declaration macro to isolate package configuration in a way that is performance-oriented and tidy.
- [[https://github.com/edvorg/req-package][req-package]] - A use-package wrapper for package runtime dependencies management.
- [[https://github.com/conao3/leaf.el][leaf]] - Flexible, declarative, and modern init.el package configuration.
- [[https://github.com/emacscollective/no-littering][no-littering]] - Help keeping ~/.emacs.d clean.
*** Package Updates
- [[https://github.com/rranelli/auto-package-update.el][auto-package-update.el]] - Automatically update Emacs packages.
- [[https://github.com/mola-T/SPU][SPU]] - Emacs Silent Package Upgrader.
** Config Management
[[https://github.com/jschaf/esup][ESUP]] - Emacs Start Up Profiler. Benchmark Emacs Startup time without ever leaving your Emacs.
[[https://github.com/plexus/chemacs][Chemacs]], [[https://github.com/plexus/chemacs2][Chemacs2]] - Ease testing of different emacs setups, an Emacs profile switcher which assists running multiple Emacs configurations side by side.
[[https://github.com/Malabarba/elisp-bug-hunter][elisp-bug-hunter]] - Debug and bisect your init file for errors or assertions.
[[https://github.com/lastquestion/explain-pause-mode][explain-pause-mode]] - Monitor interactions to discover configurations or packages which slow down Emacs. ** Library
[[https://github.com/magnars/dash.el][dash.el]] - A modern list library.
[[https://elpa.gnu.org/packages/seq.html][seq.el]] - =[built-in]= Sequence manipulation functions.
[[https://elpa.gnu.org/packages/cl-lib.html][cl-lib.el]] - =[built-in]= Common Lisp extensions for Emacs.
[[https://github.com/magnars/s.el][s.el]] - String manipulation library.
[[https://github.com/Wilfred/ht.el][ht.el]] - The missing hash table library for Emacs.
[[https://github.com/rejeep/f.el][f.el]] - Modern API for working with files and directories in Emacs.
[[https://github.com/jwiegley/emacs-async][emacs-async]] - Simple library for asynchronous processing in Emacs.
[[https://github.com/emacsorphanage/ov][ov.el]] - Overlay library for Emacs Lisp.
[[https://github.com/Malabarba/names][Names]] - A Namespace implementation for Emacs Lisp.
[[https://github.com/kiwanami/emacs-deferred][emacs-deferred]] - Simple asynchronous functions for Emacs Lisp.
[[https://www.gnu.org/software/emacs/manual/html_node/eieio/][EIEIO]] - =[built-in]= EIEIO (“Enhanced Implementation of Emacs Interpreted Objects”) provides an Object Oriented layer for Emacs Lisp.
[[https://github.com/auto-complete/popup-el][popup.el]] - Visual Popup Interface Library for Emacs.
[[https://github.com/jwiegley/alert][alert]] - A Growl-like alerts notifier for Emacs.
[[https://github.com/sigma/gh.el][gh.el]] - GitHub API library for Emacs.
[[https://github.com/tkf/emacs-request][request]] - A HTTP request library with multiple backends.
[[https://github.com/ahyatt/emacs-websocket][websocket]] - A websocket implementation in elisp, for emacs.
[[https://github.com/Fuco1/indicators.el][indicators.el]] - Display the buffer relative location of line in the fringe.
[[https://github.com/tjarvstrand/pos-tip][pos-tip]] - Show tooltip at point.
[[https://github.com/SavchenkoValeriy/jeison][jeison]] - A library for declarative JSON parsing.
[[https://github.com/alphapapa/ts.el][ts.el]] - A timestamp and date-time library for Emacs.
[[https://github.com/radian-software/el-patch][el-patch]] - Future-proof your Emacs Lisp customizations and automatically notify you about upstream changes that might break your hacks.
[[https://github.com/rougier/svg-lib][SVG Library]] - A small Emacs library to create and display various SVG objects, namely tags, progress bars, progress pies, and icons. Each object is guaranteed to fit nicely in a text buffer ensuring width is an integer multiple of character width.
** Theme
#+BEGIN_QUOTE The above list contains some of the most popular/installed themes. You can also take a look at [[https://pawelbx.github.io/emacs-theme-gallery/][GNU Emacs Themes Gallery]] for screenshots of almost all available Emacs themes. Another amazing collection of themes can be found at [[https://github.com/freesteph/peach-melpa.org][Peach Melpa]], an Emacs themes showcase automatically retrieved from MELPA. Themes are refreshed daily and automatically screenshot for browsing at [[https://peach-melpa.org/][peach-melpa.org]]. #+END_QUOTE
** Multimedia
** Finance
** Fun
** Music
** Screencasting
** Starter Kit
#+BEGIN_QUOTE
** Tutorials
** Links and resources
Your contributions are always welcome! Please submit a pull request or create an issue to add a new package, library, or software to the list.
Before contributing, please read this tiny guideline:
** The Order of Items
Please don't rearrange the package ordering without any reason! The items should be sorted by its popularity ( /roughly, because it's impossible to have a precise standard./ e.g. most people would use it; recommended for every newbie...), instead of your personal preference.
For example, =Evil= is obviously not a package that every Emacser needs. So please don't move it to the top of its category.
In contrast, if you think a package is recommended for every Emacser (especially for a newbie), just place it at a higher place in the list.
** Emacs Built-In Packages If a package is available in the latest version of Emacs, please remember to add a =[built-in]= tag in the front of the description.
** Generate "Table of Contents"
It is recommended to install [[https://melpa.org/#/toc-org][toc-org]] which will update the Table Of Contents for you automatically on each save. It will also give you convenient navigation - if you press =C-c C-o= (=org-open-at-point=) when the point is on the entry in the Table Of Contents, you will jump to the respective section.
If for some reason, you don't want to install it, you can download a single file [[https://github.com/snosov1/toc-org/blob/master/toc-org.el][toc-org.el]] manually, open it, and call =M-x eval-buffer=.
Then change buffers to =README.org=. Subsequently, issue =M-x toc-org-insert-toc= within the =README.org= buffer. If a new category of packages has been added in your commit, the Table of Contents section will be revised and updated.
A curated list of awesome lists can be found at [[https://awesome.re][awesome.re]].
[[https://creativecommons.org/publicdomain/zero/1.0/][https://licensebuttons.net/p/zero/1.0/88x31.png]]
To the extent possible under law, [[https://github.com/emacs-tw][emacs.tw]] has waived all copyright and related or neighboring rights to this work.