Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

dvcrn/proton

space-atom. spacemacs and sublimious style editing in atom

dvcrn/proton.json
{
"createdAt": "2015-10-06T04:54:07Z",
"defaultBranch": "master",
"description": "space-atom. spacemacs and sublimious style editing in atom",
"fullName": "dvcrn/proton",
"homepage": "",
"language": "Clojure",
"name": "proton",
"pushedAt": "2018-11-30T05:06:21Z",
"stargazersCount": 562,
"topics": [
"atom",
"atom-plugin",
"clojurescript",
"spacemacs"
],
"updatedAt": "2025-10-12T16:49:03Z",
"url": "https://github.com/dvcrn/proton"
}

💫 Maintainers wanted 💫

[spacemacs][1] and [sublimious][2] style editing in Atom.

![demo][3]

  • [Proton]!(#proton)
    • [What is it?]!(#what-is-it)
    • [Usage]!(#usage)
    • [Features]!(#features)
    • [Install]!(#install)
      • [Pre-warning]!(#pre-warning)
      • [Going full Proton]!(#going-full-proton)
    • [Compiling]!(#compiling)
      • [Requirements]!(#requirements)
      • [Running it]!(#running-it)
    • [Help]!(#help)
    • [License]!(#license)

Proton (name subject to change) brings the modal editing style of Spacemacs and Sublimious with all its superpowers to Atom.

We get rid of the annoying part of Atom — that being the configuration and package management — and concentrate on the cool bits: its full customization capabilities.

While not ready yet, a manual is slowly getting created here

Proton will take care of setting up Atom for you. All you need to do is configure your ~/.proton file — your central configuration point — and Proton will do the rest.

No one has time to remember a ton of keybindings and then learn another ton for a new tool. Proton leverages Spacemacs mnemonics in which each keybinding is assigned to a specific category:

  • SPC g s will execute [g]it [s]tatus
  • SPC p t will toggle the [p]rojects [t]ree-view

You get the idea!

No time to read through the docs? No problem. Proton is very easily discoverable through the keybindings helper. Just hit SPC and it will pop up:

![keybinding-helper][5]

Atom has a ton of packages but only a subset of them are actually useful. Instead of finding all the good bits yourself, rely on a crowd-configured layer system that does it for you! Every bit of functionality of Proton is encapsulated in layers. Enable what you want and don’t care about the rest.

Check out [all available layers here][4].

Imagine you want to do some JavaScript in Atom but you have no idea what to install and what to set up. Instead of just installing random packages by yourself, you include the :javascript layer and boom! Proton installs all the good packages and configuration for you.

There are 2 ways of installing Proton: You can compile the latest master (which should be fairly stable) or use the apm-published version.

Proton tries to be your unified configuration system. Please use a fresh Atom installation or backup your existing config as Proton will very likely wipe your settings and packages. Alternatively make sure your ~/.proton file contains your current configuration or add ["proton.core.wipeUserConfigs" false] to your ~/.proton. The template is available for download here.

apm install proton-mode

or through the package manager here: https://atom.io/packages/proton-mode

lein run -m build/release
# or if you want auto-compile on change:
lein run -m build/dev-repl

will compile the ClojureScript code into JavaScript. Once that’s done, go into the plugin/ folder and run

apm install
apm link

Proton should now be installed inside Atom under proton-mode.

Join us on the clojurians slack, channel #proton.

GPLv3

[1] !: https://github.com/syl20bnr/spacemacs/ [2] !: https://github.com/dvcrn/sublimious [3] !: http://i.imgur.com/UmxjocD.gif [4] !: https://github.com/dvcrn/proton/tree/master/src/cljs/proton/layers [5] !: http://i.imgur.com/npGILXj.png