Commit Graph

246 Commits

Author SHA1 Message Date
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
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
8d26879f99 Add :editor multiple-cursors module
Moves evil-mc/evil-multiedit out of feature/evil.
2018-08-06 00:31:23 +02:00
884173112c Add :lang racket to init.example.el 2018-07-29 19:31:32 +02:00
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
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
d6461d495b General & minor reformatting+refactor 2018-07-19 03:40:31 +02:00
8ff5543d3b Moved lang/fish into lang/sh +fish 2018-07-18 15:56:55 -04:00
8bdc0f72b8 Added fish to init.example.el 2018-07-18 11:29:26 -04:00
f540c6c40a Disable neotree, enable treemacs (by default) 2018-07-11 01:09:14 +02:00
3a3eb92087 Move :tools rotate-text to :editor rotate-text
This change was a long time coming.
2018-06-22 01:49:20 +02:00
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
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
bac00f7d0a Enable +irony +rtags by default in init.example.el 2018-06-17 14:45:07 +02:00
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
733ac8bed7 Add :lang common-lisp to init.example.el 2018-06-14 19:49:55 +02:00
04ec62c8f2 General, minor refactor & feedback revision 2018-06-14 19:49:03 +02:00
63a8c30765 Merge pull request #670 from ar1a/parinfer
:editor parinfer for lisp editing
2018-06-12 21:36:46 +02:00
5d79729c15 Move :editor to top; disable parinfer by default
And shorten post-comment.
2018-06-12 21:36:09 +02:00
d178d78b2b Move +parinfer to :editor parinfer 2018-06-11 10:09:37 +10:00
40077c6c4b Merge pull request #669 from ar1a/treemacs
Add treemacs module
2018-06-10 23:19:43 +02:00
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
29ea01b772 lang/emacs-lisp: Add +parinfer feature 2018-06-09 21:47:26 +10:00
981116d509 Add treemacs to init.example.el 2018-06-09 12:18:16 +10:00
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
426935e4ee Add wakatime/fci to init.example.el 2018-06-08 13:08:38 +02:00
f5fe36af23 Add :config literate module
It will tangle and byte-compile a config.org in your private config.
Doom will then load the resulting config.elc later.

Org is only loaded when updating this file.
2018-06-05 15:56:37 +02:00
43c65ab628 Disable :collab floobits by default 2018-06-05 13:44:53 +02:00
83232ac9aa Add basic qt support 2018-06-01 18:23:35 -04:00
bab530ea2e Revert +hub flag, but disable magithub by default
Must be enabled on a per-project basis. You can change this behavior by
setting +magit-hub-enabled-by-default to non-nil (before magit is
loaded).

Magithub has been made opt-in because:

1. Magithub is imposing, asking the user for a token, especially for
   users who don't use github (much or at all), but may occasionally
   have a project with a github remote.
2. magithub is really slow on first load for medium-to-large repos.
3. It's really easy to enable it through the magithub popup (H C e).
   magithub.enabled is saved into the project's .git/config file, so the
   setting will persist.

Also added a docstring to +magit-hub-features
2018-06-01 11:13:37 +02:00
1a28a0c088 tools/magit: gate magithub behind +hub flag
Use +magit-hub-features to customize which features to load. Set it to
`t` to load all features.
2018-05-31 21:30:41 +02:00
2784e3cb72 Disable company +childframe by default
The feature is still available, it simply isn't the default anymore (at
least until company-box is more stable).
2018-05-31 00:41:57 +02:00
7377ba7537 Add +fuzzy flags to helm/ivy in init.example.el 2018-05-30 16:05:24 +02:00
bdee28609a New emacs/ediff module
Ediff config was moved out of core. Also includes evil compatibility
(mvoed out of feature/evil) & wconf save/restore.
2018-05-27 12:52:28 +02:00
e2d055a40b 💥 Move dired, electric-indent, eshell, imenu, term modules to :emacs 2018-05-27 12:52:28 +02:00
13267250a4 Add :collab floobits #615 2018-05-26 21:20:30 +02:00
a814c833a2 Merge branch 'develop' into solidity-mode 2018-05-25 18:37:38 +02:00
f058505306 New bin/doom (eventual replacement for make)
This commit adds bin/doom, which acts as the middle man that make once
was (and will stay for a while, though the documentation will shift away
from using it). It does everything the previous make interface did, but
is faster and more flexible. bin/doom should eventually replace the
makefile.

bin/doom also makes it easier to run Doom outside of ~/.emacs.d and
~/.doom.d with, for example:

  bin/doom run -p ~/.other.doom.d/ -e ~/.other.emacs.d

bin/doom.cmd is included for Windows users, but I don't recommend using
it yet. It hasn't been tested nor have I ever written a batch script
before.

Also update init.example.el with new defaults.
2018-05-21 01:38:17 +02:00
3193e7a8a7 Add Solidity
Add basic Solidity module
2018-05-18 17:04:25 -05:00
45c21a5a83 Move :feature services => :tools prodigy 2018-05-16 22:41:21 +02:00
abb4d5a009 Move :tools impatient-mode to new :collab category 2018-05-14 21:23:48 +02:00
83118dc65c Move feature/popup => ui/popup
And move settings to ui/popup/init.el
2018-05-14 13:05:03 +02:00
30e0ab6aef feature/syntax-checker: new +childframe flag for popups 2018-05-09 12:17:23 +02:00
92c4770e11 Merge pull request #568 from miguelsantos/develop
Basic support for Nim
2018-05-09 10:02:11 +02:00
317b556bde Extract :ui posframe packages into other modules 2018-05-09 00:20:01 +02:00
8d936f2d0b Move editorconfig out of core into tools/editorconfig 2018-05-08 19:59:08 +02:00
1451b952b9 small typos 2018-05-08 11:58:59 -03:00
12e26761e2 add basic support for the nim language 2018-05-08 11:50:12 -03:00
306c41e7b8 Revise company module flag comment descriptions 2018-04-26 17:12:17 -04:00
00a429d65f Add comment for company childframes being only available on Emacs +26. 2018-04-25 02:10:03 +02:00