Commit graph

393 commits

Author SHA1 Message Date
Henrik Lissner
b821bfca1f
Fix newline-and-indent advice forgetting indentation
e.g. in python-mode docstrings. The point-in-string case is no longer
handled, because indent-according-to-mode handles it properly already.
2019-05-15 15:22:08 -04:00
Henrik Lissner
f381701aab
Bind SPC f m -> doom/move-this-file 2019-05-14 20:28:19 -04:00
Henrik Lissner
13a20866aa
Add headers to leader prefixes for easy imenu access
SPC / i to jump between them
2019-05-13 22:34:43 -04:00
Henrik Lissner
b7d1702484
Add :prefix-map to map! macro
Each prefix now defines a doom-leader-DESC-map keymap, where DESC is the
which-key description for that prefix key. This should make it easier
for users to move leader prefixes. e.g.

To move SPC TAB (workspaces) to SPC l:

  (map! :leader
        "TAB" nil
        "l" doom-leader-workspaces-map)
2019-05-13 22:30:21 -04:00
Henrik Lissner
0f0fdbc00c
Add doom/{increase,decrease,reset}-font commands
Borrows the idea from zoom-frm (see #1389).
2019-05-12 21:56:52 -04:00
Henrik Lissner
c1b0ae6ac1
Move winum to ui/window-select module
And update its README
2019-05-09 21:44:19 -04:00
Henrik Lissner
c324992f7a
SPC h p -> describe-package
We already have doom/help-packages on SPC h d p
2019-05-06 22:09:43 -04:00
Henrik Lissner
84c5da844b
Add email/{wanderlust,mu4e,notmuch} modules
Removed app/{email,notmuch}
2019-05-05 14:14:12 -04:00
Henrik Lissner
2823c4e467
Bind SPC h R = doom/reload
As an alias to SPC h r r
2019-05-02 18:18:01 -04:00
Henrik Lissner
1c976dc0e4
Minor, general refactors
Also rename custom lookup handlers for consistency and use the new
inline :async property instead.
2019-05-02 17:57:31 -04:00
Henrik Lissner
6d314c2795
Revise and update docstrings and comments 2019-05-01 21:02:28 -04:00
Henrik Lissner
4aa65aa019
Move avy, ace-link & ace-window out of core
They don't belong there, and ace-window is no longer a core dependency
anyhow.
2019-05-01 21:02:28 -04:00
Dragnucs
787cab6007
Update treemacs open command
Update treemacs open command toggle +treemacs/toggle
2019-04-30 10:25:39 +01:00
Henrik Lissner
6b69eaa397
Minor refactors across the board 2019-04-26 17:42:44 -04:00
Henrik Lissner
a03b676297
Move leader which-key labels to core-keybinds 2019-04-26 17:29:54 -04:00
Henrik Lissner
40f6a2b6e3
Rewrite vanilla sandbox & report-bug commands
- Renamed doom/open-vanilla-sandbox to doom/sandbox (because it's not
  just for vanilla testing anymore)
- Renamed doom/open-bug-report to doom/report-bug (for consistency with
  `report-emacs-bug`; makes it easier to discover)
- Add SPC h d b for doom/report-bug
- Add SPC h d s for doom/sandbox
2019-04-24 18:16:06 -04:00
Henrik Lissner
fa7f7042b0
Add and expand doom/help* commands
Adds the following commands:

- doom/help (opens the Doom manual)
- doom/help-search (for searching through org headlines in Doom's
  documentation)
- doom/help-faq (for searching the FAQ)
- doom/help-news (for browsing the Doom newsletters)
- doom/help-autodefs (renamed from doom/describe-autodef -- for looking
  up documentation on autodef function/macros, like
  `set-lookup-handler!`)
- doom/help-modules (renamed from doom/describe-module, for jumping to a
  Doom module's documentation)
- doom/help-packages (renamed from doom/describe-package and recently
  fixed -- looks up information about installed packages, including what
  Doom module(s) install it and where it is configured)
- doom/help-package-config (for searching and jumping to any block where
  a package is configured in Doom Emacs)

Also adds the SPC h d (or C-h d) prefix for Doom-specific help commands.
SPC h D will invoke doom/help.

However, the documentation itself hasn't been committed yet, so some of
these commands may be useless atm. Sorry!
2019-04-24 18:16:06 -04:00
Henrik Lissner
5df4a2f18e
do-repeat! -> set-repeater!
Macro was renamed to be consistent with other autodefs

- Make these repeaters buffer-local
- Don't bind repeater if motion failed
- Defer evil-snipe repeaters until evil-snipe is loaded
2019-04-24 18:16:05 -04:00
Henrik Lissner
1fb2178716
Move sp skip-match disabler to config/default
This shouldn't be mandatory.
2019-04-24 18:16:04 -04:00
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
ee754362a2
Fix SPC f / for non-ivy users
Incorrect function signature for doom-project-find-file
2019-04-20 02:18:48 -04:00
Henrik Lissner
d1ab86c38c
Revise project & general find-file keybinds
Changes
- SPC f . -> Browse files from here
- SPC f / -> Find file from here (recursive)

Moves
- SPC f > -> SPC p > (Find file in another project)
- SPC f ? -> SPC p ? (Browse files in another project w/ find-file)
2019-04-19 20:53:22 -04:00
Henrik Lissner
c849495849
SPC q q = quit normally; SPC q Q = force quit 2019-04-19 20:51:09 -04:00
Henrik Lissner
d6839fc4c6
Remove references to old scratch buffer functions 2019-04-19 20:50:53 -04:00
Henrik Lissner
6cd30c926b
Persist scratch buffer across sessions
- Adds doom/open-project-scratch-buffer (persistent project scratch
  buffers)
- Prefix arg = open scratch buffer in current window, for both
  doom/open-scratch-buffer and doom/open-project-scratch-buffer.
- Rename doom/delete-scratch-files ->
  doom/delete-persistent-scratch-file
- Remove doom-scratch-buffer-display-fn
- Rename doom-scratch-files-dir -> doom-scratch-dir
- Add SPC p s keybind to open project scratch buffer
2019-04-17 11:15:56 -04:00
Henrik Lissner
94a2bc77ef
Unbind C-h in help-map
It interferes with which-key help/paging for the SPC h prefix.
2019-04-12 16:13:51 -04:00
Henrik Lissner
c1bc899e34
config/default: add & change SPC p keybinds
- Moved SPC p x to SPC p i (invalidate cache)
- Add SPC x prefix for opening terminals/ielm at project root
- Add SPC a and SPC d for adding/removing known projects
- Add SPC f for finding a file in other projects
- Add SPC b for switching project buffer (TODO improve ivy/helm support)
- Add SPC k for killing project buffers
2019-04-11 18:29:26 -04:00
Henrik Lissner
3c01de8876
Fix #1320: generalize SPC *
Was formerly using ripgrep, and only ripgrep.
2019-04-10 20:14:50 -04:00
Henrik Lissner
3f751c1179
Correctly regexp-quote symbol on SPC * 2019-04-10 20:11:41 -04:00
Henrik Lissner
5e8687cd45
Add SPC * for project-searching symbol at point 2019-04-10 18:57:57 -04:00
Henrik Lissner
4aec51525b
config/default: replace SPC c c with #'compile
SPC p c exists for projectile-compile-project
2019-04-10 18:52:34 -04:00
Henrik Lissner
3b2befe161
Move evil helpful keybinds to +evil-bindings 2019-04-07 15:56:30 -04:00
Henrik Lissner
72fb5603e7
Minor, general refactor & reformatting
Also swaps C-o and M-o in ivy

And use new ;;;###package cookie (not used yet)
2019-04-06 01:36:46 -04:00
Henrik Lissner
e83a6cbaa1
Turn comment headings into outline-mode headers
Also reformats a few keybinds with incorrect indentation.
2019-04-05 01:24:55 -04:00
Henrik Lissner
5cdb96888f
config/default: refactor/reformat help keybinds
Reduce internal usage of map! and improve readability of comments for
help-map binds.
2019-04-04 22:38:46 -04:00
Henrik Lissner
5a50820cd9
Bind z= -> flyspell-correct-word-generic
z= is a vim default. `flyspell-correct-word-generic` is superior to the
original command bound to z= (ispell-word).
2019-04-04 18:53:04 -04:00
Henrik Lissner
bf2aedc510
lang/org: rethink flyspell keybinds
- Remove ]s/[s keybinds in org-mode (rebound to ]c/[c); they overwrote
  next/prev flyspell error commands (which are vim defaults)
- Remove ]S/[S because z= already exists
- Remove redundant ]s/[s global keybinds (already bound by evil)
- Mention missing and evil's flyspell keybinds in a comment
2019-04-04 13:50:44 -04:00
Henrik Lissner
4b631f07ef
Apply smartparens config to all users
Not just evil users.
2019-04-03 19:15:02 -04:00
Henrik Lissner
9648af6f30
Fix keybinds to reflex helm-occur changes upstream
See emacs-helm/helm@f0f17413
2019-04-03 01:40:58 -04:00
Henrik Lissner
3310f9dfe2
tools/gist: open gists in non-popups
- Removes +gist/kill-cache (gist-list and gist-list-user with a
  universal argument already does this).
- Removes +gist/open-current. No longer necessary when gists aren't
  opened in popups.
- Makes keybinds more consistent with other "porcelains", like elfeed's
  or magit.
2019-04-02 15:47:09 -04:00
Henrik Lissner
5b890757e1
Add which-key labels for leader/localleader keys 2019-04-02 02:42:38 -04:00
Henrik Lissner
445673b0be
Remove reference to old variable in do-repeat! 2019-03-30 13:57:23 -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
Henrik Lissner
2dc52bc9be
💥 Replace exec-path-from-shell w/ 'bin/doom env'
IMPORTANT: This is a breaking update for Mac users, as your shell
environment will no longer be inherited correctly (with the removal of
exec-path-from-shell). The quick fix is: 'bin/doom env refresh'. Also,
the set-env! autodef now does nothing (and is deprecated), be sure to
remove calls to it in your config.

Smaller changes:
+ This update also adds --no-* switches to doom quickstart
+ Includes general improvements to the documentation of several bin/doom
  commands.
+ Moves doom/reload* commands to core/autoload/config.el
+ doom/reload-project has been removed (it didn't actually do anything)

The breaking change:
This update adds an "envvar file" to Doom Emacs. This file is generated
by `doom env refresh`, populated with variables scraped from your shell
environment (from both non-interactive and interactive sessions). This
file is then (inexpensively) loaded at startup, if it exists.

+ The file is manually generated with `doom env refresh`.
+ It can be regenerated automatically whenever `doom refresh` is run by
  running `doom env enable` (`doom env clear` will reverse this and
  delete the env file).
+ `doom quickstart` will ask if you want to auto-generate this envvar
  file. You won't need it if you're confident Emacs will always be
  started from the correct environment, however.
+ Your env file can be reloaded from a running Emacs session with `M-x
  doom/reload-env`. Note: this won't work if the Emacs session you're
  running it in doesn't have a correct SHELL set. i.e. don't use this to
  create your first env file!

The idea isn't mine -- it's borrowed from Spacemacs -- and was
introduced to me in #1053 by @yurimx. I was impressed with it. Prior to
this, I was unhappy with exec-path-from-shell (no hate to the dev, I
understand its necessity), and 'doom patch-macos' wasn't ideal for mac
users (needed to be reapplied every time you update Emacs). What's more,
many users (even Linux users) had to install exec-path-from-shell
anyway.

This solution suffers from none of their shortcomings. More reliable
than patch-macos, more performant and complete than
exec-path-from-shell, and easily handled by bin/doom.
2019-03-28 01:56:09 -04:00
Danny Navarro
d589f87253 Add maximize window key bindings
This includes maximization for entire buffer, vertically and
horizontally.
2019-03-24 14:47:55 +00:00
yuhan0
d44c80c565 Update evil-mc "gzu" and "gzq" bindings 2019-03-16 14:15:19 +08: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
90f36bceff
Undo 1f23eecd: un-homogenize TAB/RET/ESC
This is more trouble than its worth. Better to deal with the old edge
cases than the new ones this causes.

Addresses #1218
2019-03-14 17:59:24 -04:00
Henrik Lissner
5c7da455f8
More help-map keys and remaps
- Move profiler from 't' to 'T' (as not to override
  `help-with-tutorial', esp for non-evil users)
- Replace C-c (describe-copying) with describe-coding-system
- Bind doom/describe-symbol to 'h'
- Bind `describe-key-briefly' to 'C-k'
2019-03-13 01:54:40 -04:00