Commit Graph

81 Commits

Author SHA1 Message Date
c2e2c4c11e Fix git-link not loading on SPC-g-I from fresh emacs start 2018-05-31 23:39:17 +10:00
d443a9d2dd Respect git-commit style/length conventions
See https://chris.beams.io/posts/git-commit/
2018-05-30 19:16:22 +02:00
05c098234c Update git-gutter on magit-{un,}stage{file,} commands 2018-05-29 17:52:26 +02:00
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
06915312dd Update git-gutter on doom//escape, even for non-evil users 2018-05-26 23:28:36 +02:00
d7f7efaa97 git-commit-fill-column = 72 2018-05-26 23:27:18 +02:00
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
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
0b48575c14 Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
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
5eadfdc880 Add EMACS26+ & EMACS27+ constants 2018-03-24 07:25:00 -04:00
f8fa07d668 Move magit from features/version-control to new tools/magit module 2018-03-14 18:33:26 -04:00
1aa108ce02 feature/version-control: load magit autoloads #446
This prevents void-function issues with magit.
2018-03-07 03:24:35 -05:00
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
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
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
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
01b4a59f84 feature/version-control: don't manage magit popups 2018-01-09 17:44:39 -05:00
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
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
961a55e764 Activate insert-mode in git-commit-mode #282 2017-12-20 22:10:07 -05:00
dec16e46c7 feature/version-control: add byte-compile cookie to +git 2017-12-16 12:28:06 -05:00
1de396ae8d feature/version-control: appease byte-compiler in Emacs 26 2017-12-10 15:12:25 -05:00
76a4ae459d Fix obsolete (when|if)-let messages in Emacs 26 2017-12-10 14:49:52 -05:00
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
771199e904 When calling +vcs-root, load git-link first. 2017-10-18 20:30:20 +02:00
a4ddb1bc9b General minor refactor + cleanup 2017-09-28 18:19:15 +02:00
52be654cc4 General/minor refactor 2017-09-24 20:49:36 +02:00
597bfb1a3c Move feature/hydra into core-keybinds 2017-09-24 17:10:47 +02:00
91783e0695 General refactor & cleanup 2017-09-15 14:37:20 +02:00
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
c64769c114 Check if the hydra feature is enabled before opening smerge hydra 2017-08-09 11:56:12 -04:00
d173ae1ed8 Add module flag support to :feature version-control 2017-08-08 19:14:33 +02:00
5849a1fe38 Update :feature version-control to support module flags 2017-08-08 16:38:17 +02:00
91ff3afcd6 Autoload defhydra, remove unnecessary requires 2017-07-19 00:25:05 +02:00
02eccbe6c5 Cut: feature/version-control: git-gutter:clear is obsolete 2017-07-16 04:53:09 +02:00
3ffe496f79 Add: feature/version-control: make git-gutter hydra prettier 2017-07-16 04:53:09 +02:00
8479e1c8b9 Add: feature/version-control: make smerge hydra prettier 2017-07-16 04:53:09 +02:00
228f478f99 Add: feature/version-control: smerge + hydra for smerge
closes #5
2017-07-16 04:53:09 +02:00
f4b68936a3 Add: feature/hydra: added git-gutter hydra 2017-07-16 04:52:57 +02:00
6a5bd216e5 Appease byte-compiler senpai 2017-07-14 18:19:08 +02:00
822c78554f destructuring-bind => cl-destructuring-bind 2017-06-25 02:04:50 +02:00
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
41e8752d8f Fix git-gutter reactivating on ESC #114 2017-06-18 23:09:59 +02:00
ec23f1f06b Fix typo (missing package name in after! block) 2017-06-10 22:15:39 +02:00
df4ce8616d feature/version-control: refactor 2017-06-10 11:54:47 +02:00
ea128027e9 Remove evil-magit; use emacs mode for magit (#102) 2017-06-10 11:54:37 +02:00
723e8a6570 Fix +vcs/git-browse (aka :gbrowse) 2017-06-09 13:59:23 +02:00
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
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