Commit graph

31 commits

Author SHA1 Message Date
Henrik Lissner
77e4cc4d58
💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Henrik Lissner
d6839fc4c6
Remove references to old scratch buffer functions 2019-04-19 20:50:53 -04:00
Henrik Lissner
848399fec1
Add C-c C-e to invoke wgrep from project search
To be consistent with helm-ag-edit
2019-03-30 13:27:09 -04:00
Andrew Whatson
cd3346b7ec Add forward/back-button bindings in help-mode 2019-03-15 15:03:30 +10:00
Henrik Lissner
3e2779da39
Refactor leader/localleader keybinds
- Some buffer-local commands were removed from leader binds
- Some more commands were added to org's localleader
- Reformatted some leader keys so that lower/upper case keys are grouped
  together, rather than apart.
- Add SPC-s-c and SPC-s-e for creating/using temporary snippets (with
  auto-yasnippet).
2019-03-14 18:38:51 -04:00
Henrik Lissner
d22538d6ce
Merge pull request #1238 from flatwhatson/fix-ace-helpful
Fix ace-link-help binding in helpful-mode
2019-03-12 11:29:05 -04:00
Andrew Whatson
7b4afa32e4 Improvements to apropos and describe-symbol
Patch the apropos button types so they call helpful instead of the
built-in describe functions.  Also add some bindings to apropos-mode-map
so it behaves like other help modes.

Add `doom/describe-symbol` function, which shows documentation for
callable and variable symbols.  If a symbol is both a variable and a
callable, it dispatches to apropos.  This gives a better workflow than
`helpful-symbol`, which annoyingly prompts the user.

Remap `describe-symbol` to `doom/describe-symbol`, and update
`+emacs-lisp-lookup-documentation` to call it also.
2019-03-12 18:52:24 +10:00
Andrew Whatson
ea14407c16 Fix ace-link-help binding in helpful-mode 2019-03-10 23:05:03 +10:00
Henrik Lissner
1a6f0c2f1d
💥 Redesign vanilla Emacs keybind scheme
The leader keys have been redesigned a) for consistency, b) to reduce
collisions with packages, and c) to improve command coverage. However,
much of it still comes from a vim user, so it needs more testing.
2019-03-09 03:42:55 -05:00
Henrik Lissner
8a90f29c91
Make session persistence module agnostic
They've been removed from feature/workspaces and moved into
core/autoload/sessions, which falls back to desktop.el if persp-mode
isn't present. This also offers a substantial speed up to
restart+restoring and restoring sessions in general.

Also fixes #1210, where the newly spawned frame after doom/restart
wasn't focused.

Introduces the following commands:

- doom/restart
- doom/restart-and-restore
- doom/quickload-session
- doom/quicksave-session
- doom/load-session
- doom/save-session
- +workspace/restore-last-session (alias for doom/quickload-session)

And removes

- +workspace/load-session
- +workspace/save-session
- +workspace/load-last-session (renamed to +workspace/restore-last-session)
- +workspace/restart-emacs-then-restore (replaced by doom/restart-and-restore)
- :ss (ex command)
- :sl (ex command)
2019-03-02 01:34:19 -05:00
Andrew Whatson
faa4367636 Improved switch-to-buffer-other-window for ivy 2019-02-25 22:29:41 +10:00
Andrew Whatson
a39f366f6a Fix wrong function name for non-evil repl 2019-02-24 22:07:23 +10:00
Andrew Whatson
e479e83534 Fix wrong function names in non-evil yas-keymap 2019-02-23 23:53:45 +10:00
Henrik Lissner
a72a0e6a62
Replace magithub with forge
Should also fix void-function/void-variable errors caused by evil-magit
depending on the newer version of magit (#1174).

Also introduces a redesign of the SPC g prefix.
2019-02-16 18:26:17 -05:00
Henrik Lissner
b0c84384a4
Fix <f9> = +treemacs/toggle for non-evil users 2019-01-29 18:59:21 -05:00
Henrik Lissner
5c1edde613
app/irc: general refactor 2019-01-23 15:54:12 -05:00
Henrik Lissner
26caa28e8f
Merge pull request #1130 from seanfarley/smf/irc
irc: automatically add circe buffers to irc workspace
2019-01-21 22:22:41 -05:00
Sean Farley
274d9a6c0c irc: add +irc/tracking-next-buffer
This way the user won't accidentally switch to the next unread buffer in
the wrong workspacee and end up in a weird state.
2019-01-21 17:48:55 -08:00
Henrik Lissner
096ca1e4cc
Remove redundant "C-a" keybind 2019-01-21 17:51:12 -05:00
Undead Kernel
7ce8fe4c22 bindings: fix typo (circle -> circe) 2019-01-12 11:04:12 +01:00
UndeadKernel
4a56eb2b00 bindings: incorrect :when keyword fix 2019-01-11 08:48:20 +01:00
UndeadKernel
14317dcaa4 bindings: quit menu 2019-01-10 16:36:32 +01:00
UndeadKernel
8dfe547601 bindings: swiper and resume for ivy and helm 2019-01-10 14:40:42 +01:00
UndeadKernel
e910e1279f bindings: er/contract-region 2019-01-10 13:52:35 +01:00
UndeadKernel
40851db96b bindings: neotree or treemacs with f9 2019-01-10 13:52:35 +01:00
UndeadKernel
d3aa611f85 bindings: app bindings (twitter, email, irc) 2019-01-10 13:52:35 +01:00
UndeadKernel
c8f6c81455 bindings: workspace switch-to 2019-01-10 13:52:35 +01:00
UndeadKernel
1aca8aa378 bindings: move and add more text size bindings 2019-01-10 13:52:35 +01:00
UndeadKernel
5ac21091d7 bindings: add an alt localleader 2019-01-10 13:52:35 +01:00
Undead Kernel
b0b666b8f5 bindings: default set of bindings for emacs users 2019-01-10 13:52:35 +01: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