Commit Graph

484 Commits

Author SHA1 Message Date
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
6d314c2795 Revise and update docstrings and comments 2019-05-01 21:02:28 -04:00
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
787cab6007 Update treemacs open command
Update treemacs open command toggle +treemacs/toggle
2019-04-30 10:25:39 +01:00
6b69eaa397 Minor refactors across the board 2019-04-26 17:42:44 -04:00
a03b676297 Move leader which-key labels to core-keybinds 2019-04-26 17:29:54 -04:00
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
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
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
1fb2178716 Move sp skip-match disabler to config/default
This shouldn't be mandatory.
2019-04-24 18:16:04 -04:00
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
ee754362a2 Fix SPC f / for non-ivy users
Incorrect function signature for doom-project-find-file
2019-04-20 02:18:48 -04:00
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
c849495849 SPC q q = quit normally; SPC q Q = force quit 2019-04-19 20:51:09 -04:00
d6839fc4c6 Remove references to old scratch buffer functions 2019-04-19 20:50:53 -04:00
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
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
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
3c01de8876 Fix #1320: generalize SPC *
Was formerly using ripgrep, and only ripgrep.
2019-04-10 20:14:50 -04:00
3f751c1179 Correctly regexp-quote symbol on SPC * 2019-04-10 20:11:41 -04:00
5e8687cd45 Add SPC * for project-searching symbol at point 2019-04-10 18:57:57 -04:00
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
3b2befe161 Move evil helpful keybinds to +evil-bindings 2019-04-07 15:56:30 -04:00
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
e83a6cbaa1 Turn comment headings into outline-mode headers
Also reformats a few keybinds with incorrect indentation.
2019-04-05 01:24:55 -04:00
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
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
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
4b631f07ef Apply smartparens config to all users
Not just evil users.
2019-04-03 19:15:02 -04:00
9648af6f30 Fix keybinds to reflex helm-occur changes upstream
See emacs-helm/helm@f0f17413
2019-04-03 01:40:58 -04:00
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
5b890757e1 Add which-key labels for leader/localleader keys 2019-04-02 02:42:38 -04:00
445673b0be Remove reference to old variable in do-repeat! 2019-03-30 13:57:23 -04:00
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
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
d589f87253 Add maximize window key bindings
This includes maximization for entire buffer, vertically and
horizontally.
2019-03-24 14:47:55 +00:00
d44c80c565 Update evil-mc "gzu" and "gzq" bindings 2019-03-16 14:15:19 +08:00
cd3346b7ec Add forward/back-button bindings in help-mode 2019-03-15 15:03:30 +10:00
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
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
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
5e5ae456bb Replace doom/what-face with describe-char
describe-char produces the same information and much more.
2019-03-13 01:37:55 -04:00
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
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
8392c9dcf6 Add new :ui indent-guides module
Replaces old highlight-indentation-mode with new highlight-indent-guides
plugin.
2019-03-11 12:39:38 -04:00
ea14407c16 Fix ace-link-help binding in helpful-mode 2019-03-10 23:05:03 +10:00
b0bc1d925f Minor refactors; revise docstrings+comments 2019-03-09 19:56:47 -05:00
66d75936fc config/default: split into evil/emacs files
Done to better facilitate a non-evil config.

- Adds winum (and enables support for it in doom-modeline)
- Adds expand-region (#1231)
- Uses default smartparens config for non-evil users (WIP)
2019-03-09 03:43:14 -05:00
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
54d1c0dd56 Minor, general refactors 2019-03-09 03:42:55 -05:00