Commit graph

333 commits

Author SHA1 Message Date
Henrik Lissner
3f195614d9
Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
Henrik Lissner
451c16b8ee
Revise :after-call & :defer-incrementally comments
Now implicitly adds the current package to :defer-incrementally's list
of packages.
2018-12-23 00:25:51 -05:00
Henrik Lissner
d6cb0ec5f5
General cleanup & minor refactoring 2018-12-22 04:25:15 -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
Henrik Lissner
67fa4b31ea
Restore =S gpg-sign option for magit
Curiously, interactive rebasing seems to fail to sign commits without
this option present in some cases.
2018-12-07 18:00:17 -05:00
Henrik Lissner
7214affc73 tools/upload: set ssh-deploy vars sooner
So that they don't overwrite file/dir local vars in some cases.
2018-12-05 22:11:54 -05:00
Aria
fe8b17d6da move projectile fd out of magit.el
lol
2018-12-04 20:09:44 +11:00
Aria
e7141d2c96 use --type f with fd
will show folders otherwise
2018-12-02 00:06:55 +11:00
Aria
c3dc660b1b Use fd for populating projectile cache 2018-11-29 23:22:07 +11:00
Henrik Lissner
9bb5b4ef72
tools/magit: +magit-hub-features = t
Since magithub is "disabled" by default, if enabled it might be
confusing that its features aren't all enabled (which is magithub's
default behavior).
2018-10-17 00:21:18 -04:00
Henrik Lissner
794b1a94bf tools/terraform: use map!'s :after 2018-10-16 02:49:21 -04:00
Dominik Süß
6e057d53d8 autoload company-terraform 2018-10-15 09:19:21 +02:00
Dominik Süß
9a3e48d65a added company-terraform 2018-10-15 09:12:01 +02:00
Dominik Süß
73f99a1a26 Added keybinds 2018-10-11 17:32:54 +02:00
Dominik Süß
9fd5b7d0ed Added terraform mode 2018-10-11 17:19:35 +02:00
Henrik Lissner
f0465f22cc
tools/magit: fix +magit/quit & default display fn
When used with magit-display-buffer-traditional, q wouldn't close the
window, just kill the buffer inside.
2018-10-07 11:12:51 -04:00
Ting Zhou
e4191a944b fix +macos/open-in-default-project under ranger-mode 2018-10-04 11:13:51 -07:00
Henrik Lissner
b573fcce20
quit-window on multiple magit-status windows
If you accidentally open multiple magit status windows, you'll be stuck
in a deadlock, where `q` will do nothing. Now, +magit/quit will use
`quit-window` on excess magit-status windows instead.
2018-10-03 00:04:08 -04:00
Henrik Lissner
b674aef31b
tools/editorconfig: add binary check to doctor.el 2018-09-28 23:52:22 -04:00
Henrik Lissner
ad3024ae9d
Merge pull request #916 from seanfarley/smf/minor-fixes
magit: only implement leader key logic when doom-leader-key is non-nil
2018-09-28 21:16:17 -04:00
Henrik Lissner
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
Henrik Lissner
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
Sean Farley
8efc5828ea magit: only implement leader key logic when doom-leader-key is non-nil 2018-09-28 16:58:26 -07:00
Henrik Lissner
fcd1e913c5
tools/magit: update vc on +magit/quit
Instead of magit-post-refresh-hook, which fires much more frequently.
Updating vc across all buffers is expensive, so let's only do it when we
quit magit.

Warning: this may make quitting magit expensive when you have many
buffers open. Still searching for a better solution.
2018-09-26 12:10:00 -04:00
UndeadKernel
239c183b70 tools/pdf: recognize modeline and doom-modeline 2018-09-26 12:55:22 +02:00
Henrik Lissner
20cf412c96
tools/pdf: revert fd7f498
Causes an issue where cursor invisibility persists through a workspace
session restore.

Relevant to #892
2018-09-21 10:47:26 -04:00
Henrik Lissner
b653039535
Add :defer-incrementally use-package keyword 2018-09-20 10:42:45 -04:00
Henrik Lissner
25d19514de
tools/upload: refactor safe-local-variable setters 2018-09-19 23:58:01 -04:00
Henrik Lissner
e0e63850d4
tools/upload: mark file-local variables as safe 2018-09-19 23:51:56 -04:00
Henrik Lissner
40a2fffac7
tools/upload: clarify instructions in comments 2018-09-19 23:48:05 -04:00
Henrik Lissner
fd7f498858
tools/pdf: hide cursor in pdf-view-mode #892 2018-09-19 19:27:46 -04:00
Henrik Lissner
b7be38b2a9
New incremental lazy-loading at startup
This is for loading large packages (like org and magit) quietly in the
background during idle time. It is already set up to incrementally load
org and magit.

This is still experimental, however. the idle timers may need to be
tweaked.
2018-09-18 11:42:35 -04:00
Henrik Lissner
c37e3a1b80
tools/magit: fix hijacked leader key in magit-diff-mode 2018-09-13 19:15:16 -04:00
Ruslan Kamashev
62212a4b94 Add tools/ansible 2018-09-11 22:42:05 +03:00
Henrik Lissner
da2a8b1063
tools/magit: don't mark process buffers as real
Otherwise, kill-this-buffer may switch to them.
2018-09-09 09:58:22 -04:00
Henrik Lissner
1b172e9f43
Better enh-ruby-mode suport in doom/describe-module & editorconfig
+ Associates enh-ruby-mode with :lang ruby for doom/describe-module
+ Enables editorconfig to detect extension-less or file-less ruby
  files (from shebang lines or file local variables).
2018-09-09 09:58:21 -04:00
Henrik Lissner
c58077810d
General refactor of modules
General code and comment improvements.

Also, removed the :desc's for csv-mode because map! is currently unable
to set which-key descriptions mode-locally, and should be avoided for
anything but global keybinds. This will be fixed when General is
introduced into Doom.
2018-09-09 09:58:20 -04:00
Henrik Lissner
7d3ffdff06
Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
Henrik Lissner
0f901b560f
tools/editorconfig: add enh-ruby-mode support 2018-09-09 09:58:18 -04:00
Henrik Lissner
0b07220c5f
Lazy-load docker.el & refactor evil-initial-state
`set-evil-initial-state!` accepts multiple modes as its first argument and is marginally faster when used that way.
2018-09-09 09:52:23 -04:00
Henrik Lissner
0e1049189c
Lazy-load docker-tramp & dockerfile-mode
No extra configuration is required to lazy load these two plugins (they autoload themselves). These blocks would force them to load at startup otherwise.
2018-09-09 09:49:22 -04:00
Ruslan Kamashev
dc3a366094 Fix bindings 2018-09-08 03:51:37 +03:00
Ruslan Kamashev
2fdd82a8f0 Add docker to init.example.el 2018-09-08 03:22:34 +03:00
Ruslan Kamashev
515ed02dfb Add docker module 2018-09-06 22:07:58 +03:00
Henrik Lissner
3a23ff56cd
General formatting & minor refactors 2018-09-02 17:20:19 +02:00
Henrik Lissner
3e9146cc02
Merge pull request #854 from shuxiao9058/develop
add shortcut to "magit-gitflow-popup" with '%' in magit-mode
2018-09-01 13:38:37 +02:00
Henrik Lissner
d72f485a97
tools/editorconfig: defer for 3 seconds
Give other plugins more room to load first.
2018-08-31 23:44:30 +02:00
啸傲居士
79cbae56b6 add shortcut to "magit-gitflow-popup" with '%' in magit-mode 2018-09-01 01:56:12 +08:00
Henrik Lissner
55d4cbd314
Fix vestigial refs to before-switch-buffer hook
doom-before-switch-buffer-hook was renamed to doom-enter-buffer-hook
2018-08-31 14:10:25 +02:00
Henrik Lissner
d80e79203a
Replace delete-trailing-whitespace with ws-butler
ws-butler only strips trailing spaces on lines that have been modified.

+ ws-butler is disabled if editorconfig enables
  trim_trailing_whitespace, which resorts to delete-trailing-whitespace
  instead.
+ Updates doom|(enable|disable)-delete-trailing-whitespace hooks to use
  ws-butler-mode.
2018-08-31 13:59:12 +02:00