Commit graph

81 commits

Author SHA1 Message Date
Aria
c2e2c4c11e
Fix git-link not loading on SPC-g-I from fresh emacs start 2018-05-31 23:39:17 +10:00
Henrik Lissner
d443a9d2dd
Respect git-commit style/length conventions
See https://chris.beams.io/posts/git-commit/
2018-05-30 19:16:22 +02:00
Henrik Lissner
05c098234c
Update git-gutter on magit-{un,}stage{file,} commands 2018-05-29 17:52:26 +02:00
Henrik Lissner
1a452b6842
💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
Henrik Lissner
06915312dd
Update git-gutter on doom//escape, even for non-evil users 2018-05-26 23:28:36 +02:00
Henrik Lissner
d7f7efaa97
git-commit-fill-column = 72 2018-05-26 23:27:18 +02:00
Henrik Lissner
dc86b61704
Fix vcs/git-browse* commands #616
Caused by upstream changes to git-link, where `git-link--remote-host' was
removed.
2018-05-26 11:13:21 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
0b48575c14
Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
Henrik Lissner
8cab2f19fd
Remove redundant config & auto-mode-alist entries
Much of this config is done in package autoloads, and now that
auto-mode-alist is cached in doom-package-alist (after reading autoload
files), we can save some space by removing redundant config.
2018-05-14 20:48:14 +02:00
Henrik Lissner
5eadfdc880
Add EMACS26+ & EMACS27+ constants 2018-03-24 07:25:00 -04:00
Henrik Lissner
f8fa07d668
Move magit from features/version-control to new tools/magit module 2018-03-14 18:33:26 -04:00
Henrik Lissner
1aa108ce02
feature/version-control: load magit autoloads #446
This prevents void-function issues with magit.
2018-03-07 03:24:35 -05:00
Henrik Lissner
963c809c70
feature/version-control: fix git-gutter-fringe not loading
Due to the new policy on package-initialize, git-gutter-fringe wouldn't
autoload properly (since we try to fool Emacs into loading it when
git-gutter-mode is called).
2018-02-28 17:57:30 -05:00
Henrik Lissner
400c7cbfa4
feature/version-control: update magit popup rule (due to upstream changes)
The leading asterix in magit buffers is sometimes omitted. This change
is experimental.
2018-02-11 04:43:34 -05:00
Henrik Lissner
9b41423537
feature/version-control: fix git-timemachine headerline
On first invokation of git-timemachine the headerline isn't visible
until you jump to another revision. This fix ensures it's visible from
the start.
2018-02-07 02:27:09 -05:00
Henrik Lissner
5210ee5f7e
feature/version-control: remove -git flag
As much as possible, I'd prefer flags to be additive rather than
subtractive. Meaning, specifying a flag should add features, rather than
disable them; simply as a general Doom convention.
2018-01-30 21:21:34 -05:00
Henrik Lissner
01b4a59f84
feature/version-control: don't manage magit popups 2018-01-09 17:44:39 -05:00
Henrik Lissner
3cbddbfd88
Generalize +evil-esc-hook into doom-escape-hook
This lets vanilla Emacs users in on having a universal "escape" key.
2018-01-06 02:38:39 -05:00
Henrik Lissner
91357a3e5d
💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
Henrik Lissner
961a55e764
Activate insert-mode in git-commit-mode #282 2017-12-20 22:10:07 -05:00
Henrik Lissner
dec16e46c7
feature/version-control: add byte-compile cookie to +git 2017-12-16 12:28:06 -05:00
Henrik Lissner
1de396ae8d
feature/version-control: appease byte-compiler in Emacs 26 2017-12-10 15:12:25 -05:00
Henrik Lissner
76a4ae459d
Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Undead Kernel
771199e904 When calling +vcs-root, load git-link first. 2017-10-18 20:30:20 +02:00
Henrik Lissner
a4ddb1bc9b
General minor refactor + cleanup 2017-09-28 18:19:15 +02:00
Henrik Lissner
52be654cc4
General/minor refactor 2017-09-24 20:49:36 +02:00
Henrik Lissner
597bfb1a3c
Move feature/hydra into core-keybinds 2017-09-24 17:10:47 +02:00
Henrik Lissner
91783e0695
General refactor & cleanup 2017-09-15 14:37:20 +02:00
Henrik Lissner
d2d71795e5 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
  ...
2017-09-03 23:32:23 +02:00
Bryan Gilbert
c64769c114 Check if the hydra feature is enabled before opening smerge hydra 2017-08-09 11:56:12 -04:00
Henrik Lissner
d173ae1ed8
Add module flag support to :feature version-control 2017-08-08 19:14:33 +02:00
Henrik Lissner
5849a1fe38 Update :feature version-control to support module flags 2017-08-08 16:38:17 +02:00
Henrik Lissner
91ff3afcd6
Autoload defhydra, remove unnecessary requires 2017-07-19 00:25:05 +02:00
Benjamin Andresen
02eccbe6c5 Cut: feature/version-control: git-gutter:clear is obsolete 2017-07-16 04:53:09 +02:00
Benjamin Andresen
3ffe496f79 Add: feature/version-control: make git-gutter hydra prettier 2017-07-16 04:53:09 +02:00
Benjamin Andresen
8479e1c8b9 Add: feature/version-control: make smerge hydra prettier 2017-07-16 04:53:09 +02:00
Benjamin Andresen
228f478f99 Add: feature/version-control: smerge + hydra for smerge
closes #5
2017-07-16 04:53:09 +02:00
Benjamin Andresen
f4b68936a3 Add: feature/hydra: added git-gutter hydra 2017-07-16 04:52:57 +02:00
Henrik Lissner
6a5bd216e5
Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
Henrik Lissner
822c78554f
destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
Henrik Lissner
928812da8a
Make def-setting! behave more like defmacro
set! used to aggressively evaluate its arguments (at expansion-time),
even if placed inside an after! block. This causes unavoidable errors if
those arguments use functions/variables that don't exist yet.

Fixes #112
2017-06-19 00:32:44 +02:00
Henrik Lissner
41e8752d8f Fix git-gutter reactivating on ESC #114 2017-06-18 23:09:59 +02:00
Henrik Lissner
ec23f1f06b
Fix typo (missing package name in after! block) 2017-06-10 22:15:39 +02:00
Henrik Lissner
df4ce8616d
feature/version-control: refactor 2017-06-10 11:54:47 +02:00
Henrik Lissner
ea128027e9
Remove evil-magit; use emacs mode for magit (#102) 2017-06-10 11:54:37 +02:00
Henrik Lissner
723e8a6570
Fix +vcs/git-browse (aka :gbrowse) 2017-06-09 13:59:23 +02:00
Henrik Lissner
c7254e7bdc
Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
Henrik Lissner
fbe782df22 Heavily redesign keybinding design
+ SPC and SPC m as leader/localleader (spacemacs-ey)
+ Move all custom keybindings to private +bindings.el file
+ Redesign+rearrange keybindings
2017-05-28 02:48:20 +02:00