Commit Graph

182 Commits

Author SHA1 Message Date
Henrik Lissner
390edee702
ui/fci -> fill-column: replace fci w/ hl-fill-column
fci was buggy, slow and presented numerous incompatibilities with other
modes. It is also unmaintained.

Relevant to #1045
2019-04-01 13:44:20 -04:00
Henrik Lissner
0cfab2e507
Disable indent guides by default
It's hard on the fontifier and slows Emacs down tremendously.
2019-03-11 18:31:16 -04:00
Henrik Lissner
8392c9dcf6
Add new :ui indent-guides module
Replaces old highlight-indentation-mode with new highlight-indent-guides
plugin.
2019-03-11 12:39:38 -04:00
Henrik Lissner
8832737671
Adopt seagle0128/doom-modeline for :ui modeline
And remove obsolete :ui doom-modeline module.

Relevant to: #136, #921
2019-03-02 01:34:14 -05:00
Henrik Lissner
cedadb3233
Enable magit by default #1052
Co-authored-by: Aria Edmonds <ar1a@users.noreply.github.com>
2019-03-01 00:44:45 -05:00
Henrik Lissner
b7228fdfad
Default to ivy, rather than helm
As an ivy user, I maintain the ivy module more actively. Also, my former
misgivings with ivy have mostly be resolved.
2019-02-24 22:24:57 -05:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
Henrik Lissner
88f50bbdec
Merge pull request #1144 from SteamedFish/develop
Add vterm layer
2019-02-21 20:16:57 -05:00
Henrik Lissner
cb923eadcc
Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
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
SteamedFish
d6496fc168 rename vterm from :emacs to :tools 2019-02-17 00:18:39 +08:00
SteamedFish
424c358786 Add vterm layer
vterm layer uses emacs-libvterm for terminal support
2019-01-27 03:53:33 +08: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