Atom is a
free and open-source text and
source code editor
A source-code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE) or web browser. Source-code ed ...
for
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, and
Microsoft Windows with support for
plug-ins written in
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
, and embedded
Git Control. Developed by
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
, Atom is a
desktop application built using
web technologies
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
. Most of the extending packages have free software licenses and are community-built and maintained. It is based on the
Electron framework, which was developed for that purpose, and hence was formerly called Atom Shell. Electron is a
framework that enables cross-platform desktop applications using
Chromium
Chromium is a chemical element with the symbol Cr and atomic number 24. It is the first element in group 6. It is a steely-grey, lustrous, hard, and brittle transition metal.
Chromium metal is valued for its high corrosion resistance and h ...
and
Node.js. Atom was initially written in
CoffeeScript
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehen ...
and
Less, but much of it has been converted to
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
.
Atom was released from beta, as version 1.0, on June 25, 2015. Its developers call it a "hackable text editor for the 21st Century",
as it is fully customizable in
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
,
CSS, and
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
.
On June 8, 2022, GitHub announced that Atom’s
end-of-life will happen on December 15, "in order to prioritize technologies that enable the future of software development", specifically its Github Codespaces and Microsoft's
Visual Studio Code.
Features
Atom is a "hackable" text editor, which means it is customizable. There is an
init script one can customize using
CoffeeScript
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehen ...
, a style sheet to customize the looks of Atom, and a keymap to map or re-map
key combinations to commands. One can even make a package to wrap all of this functionality into a single package, written in their choice of
CoffeeScript
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehen ...
or
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
.
History
Atom was (and is) developed by
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
as a text editor, and served as the basis for
the Electron Framework.
Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
then developed the Nuclide and Atom
IDE projects to turn Atom into an
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
(IDE),
but development on Nuclide and Atom IDE stopped in December 2018.
On June 8, 2022,
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
announced the expected shutdown of Atom by scheduling archival of all development repositories of Atom by December 15, 2022.
Atom's founder, Nathan Sobo, has announced that he's building the "spiritual successor" to Atom, titled Zed.
Unlike Atom, Zed will be written in
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH), ...
and will not be using
the Electron framework.
Packages
Like most other configurable text editors, Atom enables users to install third-party packages and themes to customize the features and looks of the editor. Packages can be installed, managed and published via Atom's package manager apm. All types of packages, including but not limited to: Syntactic highlighting support for languages other than the default, debuggers, etc. can be installed via apm.
Programming language support
Atom's default packages can apply
syntax highlighting
Syntax highlighting is a feature of text editors that are used for programming, scripting, or markup languages, such as HTML. The feature displays text, especially source code, in different colours and fonts according to the category of terms. ...
for multiple programming languages and
file format
A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
s.
License
Initially, extension packages for Atom and anything not part of Atom's core were released under an
open-source license. On May 6, 2014, the rest of Atom, including the core application, its package manager, as well as its desktop framework Electron, were released as
free and open-source software under the
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license co ...
.
Privacy
There was initially concern and discussion about two opt-out packages that report various data to external servers.
However, those packages are now opt-in with a verbose dialog at the initial launch:
*Metrics package: Reports usage information to
Google Analytics (As of version 1.31.0, this has been removed, now usage information is sent to GitHub's analytics pipeline directly.), including a
unique UUID v4 random identifier.
According to the authors, this is to determine the performance and know the most-used functions. This feature can be disabled by the user by opening the Settings View, searching for the metrics package, and disabling it.
*Exception-reporting package: Reports uncaught Atom exceptions to www.bugsnag.com.
See also
*
List of text editors
*
*
Comparison of HTML editors
*
List of formerly proprietary software
References
External links
*
{{JavaScript
Formerly proprietary software
Free text editors
Free and open-source software
Free integrated development environments
GitHub
HTML editors
JavaScript-based HTML editors
Linux text editors
MacOS text editors
Microsoft free software
Software using the MIT license
Text editors
Unix text editors
Windows text editors
XML editors
2014 software
Free HTML editors