dvcrn / proton

space-atom. spacemacs and sublimious style editing in atom
GNU General Public License v3.0
565 stars 55 forks source link
atom atom-plugin clojurescript spacemacs

Proton

πŸ’« Maintainers wanted πŸ’«

spacemacs and sublimious style editing in Atom.

demo

What is it?

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.

Usage

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

Features

:handbag: dotfile friendly configuration

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.

:ok_hand: easy to remember keybindings

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:

You get the idea!

:mag: discoverable

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

:battery: batteries included

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.

:package: layer based configuration

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.

Install

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

Pre-warning

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.

Going full Proton

apm install proton-mode

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

Compiling

Requirements

Running it

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.

Help

Join us on the clojurians slack, channel #proton.

License

GPLv3