diff --git a/README.md b/README.md
index 80569bb49..54aeaacfe 100644
--- a/README.md
+++ b/README.md
@@ -1,87 +1,106 @@
+[][sc]
+
[](./LICENSE)
+[](./init.el)
-[](http://ultravioletbat.deviantart.com/art/Yay-Evil-111710573)
+
+
+
-This is an Emacs configuration for a stubborn, melodramatic and shell-dwelling
-vimmer disappointed with the text-editor status quo.
+This is an Emacs configuration for a stubborn, melodramatic and
+shell-dwelling vimmer disappointed with the text-editor status quo.
-Doom tries to look and act like modern editors (whatever that will mean to me on
-any given day), emulates vim as best it can and strives to surpass it in any way
-possible. All to fit my needs as a software developer, indie gamedev, designer,
-scientist and doom enthusiast.
+Doom tries to look and act like modern editors (whatever that will
+mean to me on any given day), emulates vim as best it can and strives
+to surpass it in any way possible. All to fit my needs as a software
+developer, indie game developer, UX designer, scientist and doom
+enthusiast.
-It was tailored for Emacs 25+ on OSX 10.11+. I use [vim] everywhere else.
+It was tailored for Emacs 25+ on **OSX 10.11+** and
+**Arch Linux 4.7+**. I use [vim] everywhere else.
-
-
-**NOTE:** you can [find the theme in a separate repo](https://github.com/hlissner/emacs-doom-theme).
+**NOTE:** you can [find the theme in a separate repo][doom-theme].
## Installation
+Depends on [Cask] and make:
+
```bash
-# Ensure homebrew is up to date
-brew update && brew upgrade
-
-# Install cask + emacs
-brew install cask
-brew tap railwaycat/emacsmacport
-brew install emacs-mac --with-imagemagick --with-modern-icon --HEAD
-
-# Install this emacs.d
git clone https://github.com/hlissner/.emacs.d ~/.emacs.d
cd ~/.emacs.d
make # installs plugins via cask and generates autoloads
-# Optional
+# OPTIONAL
make compile # compiles core and autoloaded files
make snippets # install hlissner/emacs-snippets into private/snippets
```
-For a more comprehensive byte compile, run `:bc!` (`:bc` will compile the
-current *.el file).
+Run `:bc!` for a more comprehensive byte compile (`:bc` will compile
+the current, open *.el file).
+
+For OSX users, I recommend Yukihiro Matsumoto's fork of Emacs, which
+you can get through homebrew:
+
+```bash
+brew tap railwaycat/emacsmacport
+brew install emacs-mac --with-imagemagick --with-modern-icon --HEAD
+```
## Features
To get a picture of what's in here, check out:
-* **[The Caskfile](Cask)**: lists installed plugins and where they're configured.
-* **[init.el](init.el)**: lists all loaded modules
-* **[core/core-modeline.el](core/core-modeline.el)**: my modeline config
-* **[private/my-bindings.el](private/my-bindings.el)**: most of the custom keybinds
-* **[private/my-commands.el](private/my-commands.el)**: available custom ex commands
-* **[ext/*.sh](ext/)**: scripts for external dependency setup (e.g. irony-mode)
+* **[The Caskfile](Cask)**: lists installed plugins & where they're
+ configured.
+* **[init.el](init.el)**: birds-eye view of loaded modules and load
+ order.
+* **[core/core-modeline.el](core/core-modeline.el)**: my modeline
+ config.
+* **[private/my-bindings.el](private/my-bindings.el)**: most of my
+ custom keybinds.
+* **[private/my-commands.el](private/my-commands.el)**: custom ex
+ commands.
+* **[ext/*.sh](ext/)**: scripts that will set up external
+ dependencies, such as [irony-mode] or [racer].
See screenshots in the [screenshots branch][sc].
### Highlights
-* Tamed popup windows with **[shackle]**; see `def-popup!` and `shackle-rules`.
- e.g. help buffers will always pop up at the bottom of the frame, and are
- removed with ESC.
-* Workspaces & session persistence with **[workgroups2]**
+* Strong support for a large selection of languages, including C/C++,
+ Ruby, Python, PHP, JS, Elisp, Haskell, Lua, Julia, Go, Crystal,
+ Assembly, Java, Swift, (Ba|z)?sh, Scala, Rust, LaTeX, Processing,
+ Octave, and more!
+* Tamed popup windows with **[shackle]**. e.g. help buffers will
+ always pop up at the bottom of the frame, and are removed with ESC.
+* Workspaces & session persistence with **[workgroups2]**.
* Project and workspace-sensitive buffer navigation and functions
* A vim-like environment with **[evil-mode]**
- * vim-seek/vim-sneak functionality with **[evil-snipe]** (provides 2-char motions)
+ * vim-seek/vim-sneak functionality with **[evil-snipe]** (2-char
+ motions)
* [Multiple cursors][sc-multiedit] with **[evil-multiedit]**
* Repeat (most) motions with SPC and
- shift+SPC
+ shift+SPC (backwards)
* On-the-fly keybindings with `:[nviom]map`
- * Global C-x omnicompletion (e.g. C-x+C-f for
- files)
+ * Global C-x omnicompletion (e.g.
+ C-x+C-f for files)
* Fast search utilities:
* Project and buffer navigation with **[ivy]**
* File browser sidebar with **[neotree]**
- * Project search (and replace) with **[counsel-ag]** and **[wgrep]**
+ * Project search (and replace) with **[counsel-ag]** (and
+ **[wgrep]**)
* Buffer search with **[swiper]**
-* REPLs for many languages including Ruby, Python, PHP, JS, Elisp, Haskell and
- Lua.
+* REPLs for many languages including Ruby, Python, PHP, JS, Elisp,
+ Haskell and Lua.
* [Minimalistic diffs in the fringe][sc-diffs] with **[git-gutter-fringe]**.
-* Modded **org-mode** to be a modern note-taking/LaTeX/word-processing platform. (WIP)
-* Code debugging interface with **[realgud]** (currently supports gdb, trepanjs,
- bashdb and zshdb, working on Python/Ruby support)
-* A do-what-I-mean jump-to-definition implementation that either uses major-mode
- commands or falls back to **[dumb-jump]**/ctags.
-* A [pretty mode-line](core/core-modeline.el) with:
+* Modded **org-mode** to be a modern note-taking/LaTeX/word-processing
+ platform. (WIP)
+* Code debugging interface with **[realgud]** (currently supports gdb,
+ trepanjs, bashdb and zshdb, working on Python/Ruby support)
+* A do-what-I-mean jump-to-definition implementation that either uses
+ major-mode commands or falls back to **[dumb-jump]**/ctags.
+* A [pretty mode-line](core/core-modeline.el) inspired by Atom's. It
+ includes:
* evil-search/iedit/evil-substitute mode-line integration
* Macro-recording indicator
* Python/ruby version in mode-line (for rbenv/pyenv)
@@ -96,7 +115,8 @@ See screenshots in the [screenshots branch][sc].
* Snippet expansion and file templates with **[yasnippet]**
* Completion with **[company-mode]**
* Syntax checking with **[flycheck]**
-* Custom O/S interaction commands, like **os-reveal** and **os-open-in-browser**
+* Custom O/S interaction commands, like **os-reveal** and
+ **os-open-in-browser**
* Custom TODO, FIXME and NOTE highlighting and search (`:todo`)
* **big-mode** for presentations and demonstrations (`:big`)
* Tmux integration with `:t` and `:tcd` ex commands
@@ -120,6 +140,10 @@ A few things to keep in mind:
Emacs open while doing so.
+[yay-evil]: http://ultravioletbat.deviantart.com/art/Yay-Evil-111710573
+[Cask]: https://github.com/cask/cask
+[Homebrew]: http://brew.sh
+
[auto-yasnippet]: https://melpa.org/#/auto-yasnippet
[company-mode]: https://melpa.org/#/company
[counsel-ag]: https://melpa.org/#/counsel
@@ -129,20 +153,22 @@ A few things to keep in mind:
[evil-snipe]: https://melpa.org/#/evil-snipe
[flycheck]: https://melpa.org/#/flycheck
[git-gutter-fringe]: https://melpa.org/#/git-gutter-fringe
+[irony-mode]: https://github.com/Sarcasm/irony-mode
[ivy]: https://melpa.org/#/ivy
[neotree]: https://melpa.org/#/neotree
[nlinum]: http://elpa.gnu.org/packages/nlinum.html
[quickrun]: https://melpa.org/#/quickrun
+[racer]: https://github.com/phildawes/racer
[realgud]: https://melpa.org/#/realgud
[repl-toggle]: https://melpa.org/#/repl-toggle
[shackle]: https://melpa.org/#/shackle
[swiper]: https://melpa.org/#/swiper
-[workgroups2]: https://melpa.org/#/workgroups2
[wgrep]: https://melpa.org/#/wgrep
+[workgroups2]: https://melpa.org/#/workgroups2
[yasnippet]: https://melpa.org/#/yasnippet
[sc]: https://github.com/hlissner/.emacs.d/tree/screenshots
[sc-diffs]: https://github.com/hlissner/.emacs.d/blob/screenshots/git-gutter.png?raw=true
[sc-multiedit]: https://raw.githubusercontent.com/hlissner/evil-multiedit/screenshots/main.gif?raw=true
[vim]: https://github.com/hlissner/.vim
-
+[doom-theme]: https://github.com/hlissner/emacs-doom-theme
diff --git a/core/defuns/defuns-buffers.el b/core/defuns/defuns-buffers.el
index 724646ec4..66d0c1d67 100644
--- a/core/defuns/defuns-buffers.el
+++ b/core/defuns/defuns-buffers.el
@@ -298,7 +298,7 @@ then include buffers that aren't part of the current project."
(new-buf (get-buffer-create "*doom:scratch*")))
(with-current-buffer new-buf
(setq default-directory old-project)
- (setq mode-line-format (doom-modeline 'scratch))
+ (setq mode-line-format (doom-modeline))
(when (and (not (eq major-mode mode))
(functionp mode))
(funcall mode))