Commit graph

4486 commits

Author SHA1 Message Date
Henrik Lissner
64e633df0d
Add feature/evil/+commands.el 2018-12-22 04:43:48 -05:00
Henrik Lissner
65290d3d2f
app/irc: re-nest keybinds
And restore missing circe-command-NAMES keybind.
2018-12-22 04:36:51 -05:00
Henrik Lissner
5331a28533
set-pretty-symbols!: fix void-variable mode error
Occurs when unsetting pretty symbols for a mode
with (set-pretty-symbols! 'some-mode nil), because of a forgotten loop
and let-var.
2018-12-22 04:25:15 -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
ce38a80cf8
emacs/dired: refactor #1038
+ Removed ranger/dired-setup hook and performed its config globally
+ Lazy-loaded ranger
+ Removed unnecessary `:defer t`s (redundant with :commands and :hook)
  and `:commands` (redundant with :hook)
+ Set image-dired-dir before trying to create it, to give users an
  opportunity to modify it before it is created
+ Use sharp quotes consistently for keybind commands
2018-12-13 15:44:43 -05:00
Henrik Lissner
5e7a2d8703
Merge pull request #1038 from ztlevi/ranger
Adding Ranger module to doom
2018-12-13 15:04:37 -05:00
Henrik Lissner
a89a2aa70c
completion/{helm,ivy}: fix stringp error
Cause by the expectation that doom-project-root would never return
nil (which was changed to return nil if not in a valid project, due to
an update upstream, in projectile).
2018-12-11 18:59:30 -05:00
Henrik Lissner
a37d199862
lang/org: add ob-async 2018-12-10 20:31:31 -05:00
Henrik Lissner
ced8f94830
lang/org: improve ob-async lazy loading
ob-async adds its own advice around org-babel-execute-src-block, which
directly interferes with Doom's lazy loader for babel
packages (sometimes bypassing it entirely). This ensures it can't do
that.
2018-12-10 18:09:28 -05:00
Henrik Lissner
2d13dbe10a
lang/org: fix ob-async support
ob-async uses org-babel-load-languages to load babel packages in a child
process, but packages entered into the org-babel-load-languages variable
by Doom's lazy loader were misnamed. This caused load errors in the
child process.

The language-to-package resolution is now performed before it is entered
into org-babel-load-languages. Additionally, ob-async will now be lazy
loaded if it is available (and fail silently otherwise).
2018-12-10 13:50:58 -05:00
Ting Zhou
be531d4dcc emacs/dired: enable evil-window-map in motion state 2018-12-08 22:34:27 -08:00
Ting Zhou
eedbbdd9c1 emacs/dired: use all-the-icons font lock fix recipe 2018-12-08 21:52:24 -08:00
Henrik Lissner
9144bcb19c
Merge pull request #1042 from ar1a/swoop-cleanup
Clean up after swoop removal
2018-12-08 12:17:20 -05:00
Aria
d378fdbed0 Clean up after swoop removal
removed in 7f5e778b0c
2018-12-08 19:17:52 +11:00
Ting Zhou
d6ad5942be emacs/dired: move ranger module to ranger feature in dired module 2018-12-07 22:27:03 -08: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
5e96b42ccc
lang/latex: fix TeX-latex-mode error
Caused because use-package is creating an autoload for TeX-latex-mode as
if it were in the tex package, but it's in the latex package, instead.

Since auctex already autoloads TeX-latex-mode, there's no need to set
our own.
2018-12-06 19:07:36 -05:00
Henrik Lissner
1610cd32b2
ui/popup: respect org-src-window-setup
Added a new value for org-src-window-setup: 'popup-window

Other values (like 'other-window) will revert to org's old behavior.

Needs more testing.
2018-12-06 17:52:12 -05:00
Henrik Lissner
5c14fb42e0
Add +popup/diagnose for debugging popup rules 2018-12-06 17:51:40 -05:00
Henrik Lissner
b41e38dcf4
Make RET respect popups in Buffer-menu 2018-12-06 17:50:32 -05:00
Henrik Lissner
745bd3238c
Fix delete-other-windows from inside popups
Occasionally, a window will lose its popup status, but not its special
window parameters, forcing non-popups to be treated like popups when
delete-other-windows is called.
2018-12-06 17:45:53 -05:00
Henrik Lissner
c71a73e43b
feature/eval: split shrink-window & scroll-to-bof hook
Easier to customize.
2018-12-06 17:45:53 -05:00
Ting Zhou
5698066c0a emacs/ranger: check GUI for all-the-icons-dired-mode 2018-12-05 23:15:23 -08:00
Ting Zhou
b00ce82ef9 emacs/ranger: add ranger module to doom 2018-12-05 23:11:26 -08:00
Aria
c2bce8cee4 lang/elixir: src_block{,_end} commented out 2018-12-06 17:09:00 +11:00
Aria
a11e78d710 Change src_block_end to left arrows 2018-12-06 17:05:55 +11:00
Aria
1dc3e5289b lang/elixir: add pretty-symbols 2018-12-06 17:05:50 +11:00
Henrik Lissner
9ccb55ad44
Merge pull request #1036 from ar1a/setq_auth_sources
setq auth-sources properly
2018-12-05 22:28:47 -05:00
Henrik Lissner
db4e17d76d
Reindent auth-sources' value 2018-12-05 22:28:37 -05:00
Henrik Lissner
693711bf9c ui/vc-gutter: git-gutter:window-width = 1
Hopefully fixes "jumpy gutter" when refreshing git-gutter in tty Emacs.
2018-12-05 22:11:54 -05:00
Henrik Lissner
5c294f5b01 ui/pretty-code: :src_block_end = "»"
In some cases, emacs fontification struggles with whitespace symbols.
2018-12-05 22:11:54 -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
Henrik Lissner
408eecad8e lang/python: lazyload python-pytest #1026 2018-12-05 22:11:54 -05:00
Henrik Lissner
38d0d88018 lang/common-lisp: lazyload sly-repl-ansi-color #1032 2018-12-05 22:11:54 -05:00
Henrik Lissner
72bf089249 Move evilified helpful keybinds to feature/evil
So that they are available even if config/default isn't enabled.
2018-12-05 22:11:54 -05:00
Henrik Lissner
7c3cc3ed5f Expand %:P relative to % instead of current buffer
So ~/some/other/project/somefile.txt:P will resolve to
~/some/other/project, and not the project root of the current buffer.
2018-12-05 22:11:54 -05:00
Henrik Lissner
7b761a9b42 Refactor feature deferral for (common|emacs)-lisp
'lisp-mode is now deferred, to make it easier to lazy-configure it
2018-12-05 22:11:54 -05:00
Henrik Lissner
f003d2b4fe
Merge pull request #1032 from mfiano/develop
Various changes
2018-12-05 18:59:42 -05:00
Henrik Lissner
4455dc8baa
Extract ipython/jupyter arglist to variables
Also fixes #1022 by removing default --pylab arg from
+python/open-ipython-repl.
2018-12-05 14:31:02 -05:00
Henrik Lissner
553cee5921
lang/cc: remove naive cdb file check #1028
irony looks for compile_commands.json in several places, but
+cc/reload-compile-db would error out if there it didn't exist at the
project root.
2018-12-05 14:22:14 -05:00
Henrik Lissner
9d374b3bfb
Fix "not in project" projectile error #1037
helm-projectile-find-file doesn't respect
projectile-require-project-root by hard-coding it's no-project error
handling into its helm-projectile-* functions. This means if you try to
use helm-projectile-find-file in a non-project you get this error. So we
use helm-find-files for non-projects instead.
2018-12-05 14:16:42 -05:00
Aria
a5f9b8460a setq auth-sources properly 2018-12-05 15:21:53 +11:00
Henrik Lissner
10a732a89a
Merge pull request #1031 from ar1a/magit-fd
Use fd for populating projectile cache
2018-12-04 18:18:45 -05:00
Aria
fe8b17d6da move projectile fd out of magit.el
lol
2018-12-04 20:09:44 +11:00
Henrik Lissner
1a7797f0fa
Merge pull request #1026 from Emiller88/feature/pytest
Add pytest
2018-12-03 23:16:12 -05:00
Henrik Lissner
30fbb0d62f
Lazy-load python-pytest 2018-12-03 23:15:40 -05:00
Henrik Lissner
714c30aea1
Merge pull request #1034 from djeis97/coq-popup-config
Coq popup config
2018-12-03 22:24:33 -05:00
Henrik Lissner
84af639fc3
set-popup-rules! -> set-popup-rule!
Semantic refactor.

Also adjusts regexp to use non-capturing group (for slight performance benefit).
2018-12-03 22:23:57 -05:00
Henrik Lissner
ffdea3ff0f
Merge pull request #1030 from Emiller88/feature/magithub
Add MagitHub default binding
2018-12-03 22:18:35 -05:00