Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
The features of GNU Emacs include content-sensitive editing modes, including syntax coloring, for a variety of file types including plain text, source code, and HTML; complete built-in documentation; full Unicode support for nearly all human languages and their scripts. The app is highly customizable, using Emacs Lisp code or a graphical interface, and includes a large number of extensions that add other functionality, including a project planner, mail and news reader, debugger interface, calendar, and more. Many of these extensions are distributed with GNU Emacs, others are available separately.