Merge branch 'develop'

* develop: (64 commits)
  Prepare for v2.0.5
  Temporarily disable doom-themes-visual-bell-config
  Fix neotree always changing root
  Update changelog
  Fix wrong-type-argument error from +org/insert-item
  Make +ivy-buffer-transformer autoloadable
  General refactor & cleanup
  Correct troubleshooting link in README
  org: set org-ellipsis to downward chevron
  Add elfeed-(show|search)-mode to evil-snipe-disabled-modes
  Autoload json library
  Rethink smartparens config #181
  README: expand troubleshooting
  Fix wiki links in README (again)
  Correct intro in README
  Fix wiki links in README
  Prevent private commands from affecting projectile cache
  Remove recentf-filename-handlers fix for projectile-recentf-files
  lang/sh: remove unused setup.sh
  Convert +ivy/switch-buffer to transformers + add mode icons #169
  ...
This commit is contained in:
Henrik Lissner 2017-09-03 23:32:23 +02:00
commit d2d71795e5
75 changed files with 1165 additions and 954 deletions

View file

@ -0,0 +1,17 @@
#+TITLE: :ui doom-dashboard
This module gives Doom Emacs a dashboard buffer.
It is loosely inspired by Atom's dashboard.
* Table of Contents :TOC:
- [[#install][Install]]
- [[#keybindings][Keybindings]]
- [[#customization][Customization]]
* Install
This module only requires that ~all-the-icons~'s icon fonts are installed. Use ~M-x all-the-icons-install-fonts~ to do so.
* Keybindings
* Customization

View file

@ -1,4 +1,4 @@
* :ui doom-modeline
#+TITLE: :ui doom-modeline
This module customizes the Emacs mode-line.
@ -17,12 +17,18 @@ The DOOM modeline was designed for minimalism, and offers:
[[/../screenshots/ml-version.png]]
[[/../screenshots/ml-errors.png]]
** Install
* Table of Contents :TOC:
- [[#install][Install]]
- [[#extracting-my-modeline][Extracting my modeline]]
- [[#troubleshooting][Troubleshooting]]
- [[#where-are-my-minor-modes][Where are my minor modes?]]
* Install
This module requires the fonts included with ~all-the-icons~ to be installed.
Run ~M-x all-the-icons-install-fonts~ to do so.
** Extracting my modeline
* Extracting my modeline
Some might want my modeline without the DOOM config altogether. I've tried to make this easier for you, but there are a few things you'll need to do:
+ Ensure [[https://github.com/bbatsov/projectile][projectile]] and [[https://github.com/domtronn/all-the-icons.el][all-the-icons]] are installed.
@ -30,7 +36,6 @@ Some might want my modeline without the DOOM config altogether. I've tried to ma
+ Ensure the fonts included with ~all-the-icons~ are installed (~M-x all-the-icons-install-fonts~).
+ Replace ~def-package!~ calls with ~use-package~.
+ Replace ~doom-project-root~ calls with ~projectile-project-root~.
+ Change the one ~def-memoized!~ function to ~defun~.
+ The ~+doom-modeline--make-xpm~ function is memoized with the ~def-memoized!~ macro. Change ~def-memoized!~ to ~defun~.
+ Copy the ~add-hook!~ macro definition from [[/master/core/core-lib.el][core/core-lib.el]].
+ Copy the following macros and functions from [[/master/core/core-ui.el][core/core-ui.el]]:
@ -40,8 +45,8 @@ Some might want my modeline without the DOOM config altogether. I've tried to ma
+ ~doom-modeline~
+ ~doom-set-modeline~
That /should/ be everything. As I have never used this out of my config I can't guarantee immediate success, but I'd be happy to help you out. File an issue.
That /should/ be everything. As I have never used this out of my config I can't guarantee immediate success, but I'd be happy to help you out if you file an issue.
** Troubleshooting
*** Where are my minor-modes?
I didn't need it, so I removed it. I wrote ~doom/what-minor-mode~ in the rare case I needed to investigate the currently active minor modes however.
* Troubleshooting
** Where are my minor modes?
I didn't need it, so I removed it. Run ~M-x doom/what-minor-mode~ to investigate what minor modes are currently active.

View file

@ -0,0 +1,7 @@
#+TITLE: :ui doom-quit
Remember these?
[[http://cf.geekdo-images.com/images/pic969210_md.jpg]]
Yeah.

View file

@ -1,32 +1,60 @@
* :ui doom
#+TITLE: :ui doom
This module modifies Emacs' user interface.
DOOM's look is loosely inspired by Atom's One Dark theme, and is largely contained in the [[https://github.com/hlissner/emacs-doom-theme/][doom-themes]] plugin.
Doom's look is loosely inspired by Atom's One Dark theme, and is largely contained in the] plugin.
By default, this module uses:
+ A colorscheme inspired by Atom's One Dark theme (now available in a separate plugin: [[https://github.com/hlissner/emacs-doom-theme/][doom-themes]])
+ Uses the [[https://github.com/mozilla/Fira][Fira Mono and Fira Sans]] fonts, and [[https://dejavu-fonts.github.io/][DejaVu Sans Mono]] for unicode symbols.
+ A custom folded-region indicator for ~hideshow~
+ "Thin bar" fringe bitmaps for ~git-gutter-fringe~
+ File-visiting buffers are slightly brighter (powered by solaire-mode)
+ [[https://github.com/mozilla/Fira][Fira Mono and Fira Sans]] (fonts)
+ [[https://dejavu-fonts.github.io/][DejaVu Sans Mono]] (font, for displaying unicode characters)
+ ~hideshow~, modified to use a nicer folded-region indicator.
+ Custom fringe bitmaps for ~git-gutter-fringe~ (thin bars)
* Table of Contents :TOC:
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#configuration][Configuration]]
- [[#changing-fonts][Changing fonts]]
- [[#troubleshooting][Troubleshooting]]
- [[#strange-font-symbols][Strange font symbols]]
** Install
[[https://github.com/mozilla/Fira][Fira Mono]] is this module's only dependency (if you want to use it).
* Install
This module optionally depends on:
*** MacOS
+ The [[https://github.com/mozilla/Fira][Fira Mono]] family of fonts
+ [[https://dejavu-fonts.github.io/][DejaVu Sans Mono]]
You don't have to install these if you use a different font.
** MacOS
#+BEGIN_SRC sh :tangle (if (doom-system-os 'macos) "yes")
brew tap caskroom/fonts
brew cask install font-fira-{sans,mono} font-dejavu-sans
#+END_SRC
*** Arch Linux
** Arch Linux
#+BEGIN_SRC sh :dir /sudo:: :tangle (if (doom-system-os 'arch) "yes")
sudo pacman --noconfirm --needed -S ttf-fira-{sans,mono} ttf-dejavu
#+END_SRC
** Troubleshooting
*** Strange font symbols
If you're getting strange unicode symbols, that is likely ~all-the-icons~ doing (caused by other UI modules, specifically [[../doom-modeline][doom-modeline]] and [[../doom-dashboard][doom-dashboard]]).
* Configuration
** Changing fonts
There are four font settings you can change:
You must install the fonts included with ~all-the-icons~ with: ~M-x all-the-icons-install-fonts~.
+ ~:font~ :: the default font.
+ ~:big-font~ :: the font to use when ~doom-big-font-mode~ is enabled.
+ ~:variable-font~ :: the font to use when ~variable-pitch-mode~ is active (or where the ~variable-pitch~ face is used).
+ ~:unicode-font~ :: the font used to display unicode symbols. This is ignored if the =:ui unicode= module is enabled.
#+BEGIN_SRC emacs-lisp
;; These are the defaults of this module
(set! :font "Fira Mono" :size 12)
(set! :big-font "Fira Mono" :size 18)
(set! :variable-font "Fira Sans" :size 12)
(set! :unicode-font "DejaVu Sans Mono" :size 12)
#+END_SRC
* Troubleshooting
** Strange font symbols
If you're seeing strange unicode symbols, this is likely because you don't have ~all-the-icons~'s font icon installed. You can install them with ~M-x all-the-icons-install-fonts~.

View file

@ -16,8 +16,11 @@
(load "doom-themes-common.el" nil t))
(add-hook 'doom-pre-reload-theme-hook #'+doom|reload-theme)
;; improve integration with org-mode
(add-hook 'doom-init-ui-hook #'doom-themes-org-config)
;; blink mode-line on errors
(add-hook 'doom-init-ui-hook #'doom-themes-visual-bell-config)
;; (add-hook 'doom-init-ui-hook #'doom-themes-visual-bell-config)
;; Add file icons to doom-neotree
(add-hook 'doom-init-ui-hook #'doom-themes-neotree-config)
@ -40,6 +43,7 @@
(add-hook 'doom-popup-mode-hook #'turn-off-solaire-mode)
:config
(setq solaire-mode-real-buffer-fn #'doom-real-buffer-p)
(add-hook 'doom-init-ui-hook #'solaire-mode-swap-bg t)
;; Prevent color glitches when reloading either DOOM or the theme
(defun +doom|reset-solaire-mode (&rest _) (solaire-mode-reset))

View file

@ -1,12 +1,16 @@
* :ui evil-goggles
#+TITLE: :ui evil-goggles
This module uses ~evil goggles~ to displays visual hints when editing with evil.
** Install
* Table of Contents :TOC:
- [[#install][Install]]
- [[#configure][Configure]]
* Install
This module requires:
+ ~evil~ (inherently tied to evil mode)
** Configure
* Configure
By default, ~evil-goggles~ will be enabled by default and requires no additional configuration.

View file

@ -0,0 +1,13 @@
#+TITLE: :ui hl-todo
This module adds syntax highlighting for TODO/FIXME/NOTE tags in programming major-modes.
What keywords are highlighted (and their color) can be customized through ~hl-todo-keyword-faces~.
#+BEGIN_SRC emacs-lisp
;; the default
(setq hl-todo-keyword-faces
`(("TODO" . ,(face-foreground 'warning))
("FIXME" . ,(face-foreground 'error))
("NOTE" . ,(face-foreground 'success))))
#+END_SRC

View file

@ -1,4 +1,4 @@
* :ui nav-flash
#+TITLE: :ui nav-flash
This module uses ~nav-flash~ to flash the line around the cursor after any motion command that might reasonably send the cursor somewhere the eyes can't follow.
@ -6,10 +6,14 @@ This module uses ~nav-flash~ to flash the line around the cursor after any motio
Tremendously helpful on a 30" 2560x1600 display.
#+end_quote
** Install
* Table of Contents :TOC:
- [[#install][Install]]
- [[#configure][Configure]]
* Install
This module has no other dependencies.
** Configure
* Configure
By default, ~nav-flash~ will be triggered whenever ~recenter~ is called. =:feature jump= attaches ~recenter~ to various hooks:
#+BEGIN_SRC emacs-lisp

View file

@ -0,0 +1,5 @@
#+TITLE: :ui tabbar
This module adds a tabbar to the Emacs UI.
I don't recommend you use this module. It is here for reference, is unstable and doesn't integrate with Doom's UI well. I find ivy, helm or even ~buffer-menu~ to be better suited for buffer management.

View file

@ -0,0 +1,10 @@
#+TITLE: :ui unicode
This unicode extends Doom's ability to display non-English unicode.
This is for non-English Emacs users, for whom Doom's built-in unicode support in insufficient.
When this module is enabled...
+ The first time you run Emacs a unicode cache will be generated -- this will take a while!
+ Doom will ignore the ~doom-unicode-font~ variable and the ~:unicode-font~ setting.