Commit graph

171 commits

Author SHA1 Message Date
Henrik Lissner
ec55884aae
General, minor reformatting & refactor 2019-02-18 00:47:46 -05:00
Henrik Lissner
7d0caf3efd
New editor/fold module
Extracted from feature/evil and emacs/hideshow.
2019-02-18 00:47:46 -05:00
Henrik Lissner
3dcd253f71
Remove emacs/ediff & move to core-ui 2019-02-17 21:54:26 -05:00
Henrik Lissner
9f2dff02fa
Rethink config/default & keybindings
+ Added +smartparens flag to config/default for default smartparens
  config.
+ Fixed +tng support for completion/company.
+ Removed super keybinds (for all but MacOS)
+ Moved "keybind fixes" to config/default/config.el (these should be
  universally available).
+ Replaced both +default-repeat-forward-key and +default-repeat-backward-key
  with +default-repeat-keys. If this variable is nil, the universal
  repeat motions won't be bound.
2018-12-24 00:04:50 -05:00
Henrik Lissner
f35837755c
Disable tools/editorconfig by default 2018-12-22 20:18:29 -05:00
Henrik Lissner
4daa9271a0
Introduce general.el & rewrite map!
+ Now uses an overriding keymap for leader keys, so that it is always
  available, even outside of normal/visual states. In insert/emacs
  states, or in sessions where evil is absent, an alternative prefix is
  used for leader/localleader keys. See these variables:
  + doom-leader-prefix
  + doom-leader-alt-prefix
  + doom-localleader-prefix
  + doom-localleader-alt-prefix
+ Keybinds now support alternative prefixes through the new :alt-prefix
  property. This is useful for non-evil users and non-normal evil
  states. By default, this is M-SPC (leader) and M-SPC m (localleader).
+ Removed +evil-commands flag from config/default (moved to
  feature/evil/+commands.el).
+ config/default/+bindings.el has been split into
  config/default/+{evil,emacs}-bindings.el, which one is loaded depends
  on whether evil is present or not. The latter is blank, but will soon
  be populated with a keybinding scheme for non-evil users (perhaps
  inspired by #641).
+ The define-key! macro has been replaced; it is now an alias for
  general-def.
+ Added unmap! as an alias for general-unbind.
+ The following modifier key conventions are now enforced for
  consistency, across all OSes:
    alt/option      = meta
    windows/command = super
  It used to be
    alt/option      = alt
    windows/command = meta
  Many of the default keybinds have been updated to reflect this switch,
  but it is likely to affect personal meta/super keybinds!

The map! macro has also been rewritten to use general-define-key. Here
is what has been changed:

+ map! no longer works with characters, e.g. (map! ?x #'do-something) is
  no longer supported. Keys must be kbd-able strings like "C-c x" or
  vectors like [?C-c ?x].
+ The :map and :map* properties are now the same thing. If specified
  keymaps aren't defined when binding keys, it is automatically
  deferred.
+ The way you bind local keybinds has changed:

    ;; Don't do this
    (map! :l "a" #'func-a
          :l "b" #'func-b)
    ;; Do this
    (map! :map 'local "a" #'func-a
                      "b" #'func-b)

+ map! now supports the following new blocks:
  + (:if COND THEN-FORM ELSE-FORM...)
  + (:alt-prefix PREFIX KEYS...) -- this prefix will be used for
    non-normal evil states. Equivalent to :non-normal-prefix in general.
+ The way you declare a which-key label for a prefix key has changed:

    ;; before
    (map! :desc "label" :prefix "a" ...)
    ;; now
    (map! :prefix ("a" . "label") ...)

+ It used to be that map! supported binding a key to a key sequence,
  like so:

    (map! "a" [?x])  ; pressing a is like pressing x

  This functionality was removed *temporarily* while I figure out the
  implementation.

Addresses: #448, #814, #860
Mentioned in: #940
2018-12-22 04:14:43 -05:00
Ting Zhou
d6ad5942be emacs/dired: move ranger module to ranger feature in dired module 2018-12-07 22:27:03 -08:00
Ting Zhou
b00ce82ef9 emacs/ranger: add ranger module to doom 2018-12-05 23:11:26 -08:00
Henrik Lissner
43502af697
Merge pull request #998 from ar1a/lispy-init
Add lispy to init.example.el
2018-11-13 18:16:33 -05:00
Henrik Lissner
19539dacef
Alphabetize & disable lisp in init.example.el 2018-11-13 18:15:32 -05:00
Henrik Lissner
7d2d27abe6 Make +childframe, +auto & +fuzzy opt-in
- +childframe is buggy on MacOS
- +auto is slow in some modes
- +fuzzy is slow with some ivy/helm commands
2018-11-12 02:37:58 -05:00
Aria
90f30efa67 Add lispy to init.example.el 2018-11-04 00:17:17 +11:00
Henrik Lissner
91b76d8437
Move default snippets library to feature/snippets
Removes the +snippets flag from config/default. The default snippets can
be disabled by disabling the emacs-snippets package.
2018-11-02 18:43:44 -04:00
Henrik Lissner
a116507672
Add tools/terraform to init.example.el 2018-10-16 14:02:02 -04:00
Henrik Lissner
ae7fbf05c0
init.example.el: fix swtft -> swift typo 2018-10-16 13:53:32 -04:00
Tuomo Syvänperä
90140f1ab5 Add vala-mode 2018-10-16 06:22:34 +03:00
Henrik Lissner
5fd0699158 init.example.el: disable with two semicolons
This avoids disruptive behavior where aggressive reformatting tools --
like parinfer, aggressive-indent, the elisp formatter (in the
editor/format module), or even Emacs' own indent-according-to-mode
command -- will reindent lines commented with one semicolon far to the
right.
2018-09-22 16:38:35 -04:00
Ruslan Kamashev
62212a4b94 Add tools/ansible 2018-09-11 22:42:05 +03:00
Henrik Lissner
6052e27bd1
Alphabetize :tools docker in init.example.el 2018-09-09 09:55:56 -04:00
Ruslan Kamashev
2fdd82a8f0 Add docker to init.example.el 2018-09-08 03:22:34 +03:00
Henrik Lissner
3d5c8ba279
Add :lang idris to init.example.el
Needs a witty comment!
2018-09-02 17:20:19 +02:00
Henrik Lissner
25ef67d01b
Merge pull request #849 from patrl/initUpdate
init.example.el update
2018-08-31 03:33:16 +02:00
Henrik Lissner
0cf9d1f2f2
Minor refactor & revision across the board 2018-08-31 02:53:50 +02:00
Patrick Elliott
10a1e46bf5
Added deft and coq modules 2018-08-29 11:03:28 +02:00
Henrik Lissner
a57c0fbede
feature/lookup: remove devdocs support (for now)
devdocs-lookup is broken at the moment. devdocs search is still
available through +lookup/online as a provider however. This may be
reversed later, when (and if) we find a better devdocs backend.
2018-08-28 20:52:27 +02:00
Henrik Lissner
f51f2948af
New :editor format module
Centralized code formatting with built-in support for a variety of
languages. Provides the set-formatter! function for defining your own.

Still experimental and needs more testing!
2018-08-22 02:20:11 +02:00
Henrik Lissner
a01aeb6daf
Make helm the default completion module for Doom
It's been a change a long time coming. Ivy's snappiness and simple API
was Ivy's selling point (as far as Doom is concerned). It helps that
much of helm's vast featureset has been ported over and its API is so
much simpler to grok, but its greatest weakness lies in its choice of
display mechanism: the minibuffer.

Ivy's performance suffers dramatically with large datasets because
mutating results in the minibuffer blocks the minibuffer, which also
happens to be where we type in our queries. This can make input feel
dreadfully sluggish in the best cases, locking up Emacs entirely in the
worst.

Helm updates a buffer asynchronously, so it suffers none of this (though
the overhead of maintaining this buffer is certainly overkill for tiny
datasets).

And Ivy's simple API, while easier to understand, is significantly less
powerful. That it takes so much effort to grok Helm is a huge turn
off (and of course, no fault of the dev). Still, there simply is no
excuse for power users like myself to not do so anyway. The more I learn
about it, the more I wonder why I stuck to ivy for so long (but also
reminds me exactly why I did)!
2018-08-06 00:31:23 +02:00
Henrik Lissner
8d26879f99
Add :editor multiple-cursors module
Moves evil-mc/evil-multiedit out of feature/evil.
2018-08-06 00:31:23 +02:00
Henrik Lissner
884173112c
Add :lang racket to init.example.el 2018-07-29 19:31:32 +02:00
Henrik Lissner
088480047c
Polish & move new modeline into :ui modeline
Removes modeline library out of core-ui and contains them in :ui
doom-modeline and :ui modeline.

:ui modeline will eventually replace :ui doom-modeline, but is still
considered experimental. This update provides makes it much more stable
and closer to being feature complete.
2018-07-29 19:31:32 +02:00
Henrik Lissner
a2ffbe4ede
Add new emacs/hideshow module
Brings better default code folding support to various languages, like
yaml, ruby, matlab, haml and vimrc. Hideshow is still quite
unsophisticated and will need the help of another package for complete
code folding functionality. Perhaps origami or vimish fold.

The code-folding functional in the feature/evil module will soon be
replaced by that.
2018-07-29 17:41:59 +02:00
Henrik Lissner
d6461d495b
General & minor reformatting+refactor 2018-07-19 03:40:31 +02:00
Brett Mandler
8ff5543d3b
Moved lang/fish into lang/sh +fish 2018-07-18 15:56:55 -04:00
Brett Mandler
8bdc0f72b8
Added fish to init.example.el 2018-07-18 11:29:26 -04:00
Henrik Lissner
f540c6c40a
Disable neotree, enable treemacs (by default) 2018-07-11 01:09:14 +02:00
Henrik Lissner
3a3eb92087
Move :tools rotate-text to :editor rotate-text
This change was a long time coming.
2018-06-22 01:49:20 +02:00
Henrik Lissner
60779c9aed
feature/version-control => ui/vc-gutter, emacs/vc
Reorganize vcs functionality. Moves the custom fringe bitmaps into :ui
vc-gutter.
2018-06-22 01:49:20 +02:00
Matthew Lyon
9d8679cfaa Fix init.example electric module
I've been keeping my init up-to-date with the example, but the example
still has `electric-indent` whereas `make` warns me it's been renamed to
`electric`. This provides the correct module name in the example.
2018-06-20 09:32:05 -07:00
Henrik Lissner
bac00f7d0a
Enable +irony +rtags by default in init.example.el 2018-06-17 14:45:07 +02:00
Henrik Lissner
ec8ae0bedc
Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +02:00
Henrik Lissner
733ac8bed7
Add :lang common-lisp to init.example.el 2018-06-14 19:49:55 +02:00
Henrik Lissner
04ec62c8f2
General, minor refactor & feedback revision 2018-06-14 19:49:03 +02:00
Henrik Lissner
63a8c30765
Merge pull request #670 from ar1a/parinfer
:editor parinfer for lisp editing
2018-06-12 21:36:46 +02:00
Henrik Lissner
5d79729c15
Move :editor to top; disable parinfer by default
And shorten post-comment.
2018-06-12 21:36:09 +02:00
Aria Edmonds
d178d78b2b Move +parinfer to :editor parinfer 2018-06-11 10:09:37 +10:00
Henrik Lissner
40077c6c4b
Merge pull request #669 from ar1a/treemacs
Add treemacs module
2018-06-10 23:19:43 +02:00
Henrik Lissner
24c57e785f
Disable both treemacs by default
Once treemacs has been through its rounds (and I've customed its icons), it will likely become the new default, but for now, neotree still wins.
2018-06-10 23:15:58 +02:00
Aria Edmonds
29ea01b772
lang/emacs-lisp: Add +parinfer feature 2018-06-09 21:47:26 +10:00
Aria Edmonds
981116d509
Add treemacs to init.example.el 2018-06-09 12:18:16 +10:00
Henrik Lissner
fb6490288a
Disable eshell, pdf, tmux, & upload by default
To enforce Doom's "opt-in or best default" principle.
2018-06-08 13:08:38 +02:00