Commit graph

420 commits

Author SHA1 Message Date
Henrik Lissner
a4c5396558
Add better-jumper
Replaces evil's jumplist; makes its functionality available for non evil
users.
2019-04-24 18:16:04 -04:00
Henrik Lissner
b189254050
Don't kill magit on ESC (for evil users)
q is enough. An ESC could be accidental (e.g. when ESCing from visual
mode in magit).
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
d811f58ed2
+lookup/documentation -> lsp-describe-thing-at-point
More reliable in lsp-mode
2019-04-19 20:55:44 -04:00
Henrik Lissner
e7e1383b08
tools/lsp: replace lookup commands w/ lsp-ui-peek 2019-04-16 20:56:52 -04:00
Henrik Lissner
da34862e56
Fix TAB in magit-diff-mode 2019-04-10 18:51:20 -04:00
Henrik Lissner
f9b6f6746f
General, minor refactor/reformatting 2019-04-08 23:03:19 -04:00
Henrik Lissner
ffe297bc7f
lang/haskell: rewrite README + minor refactor
- Documents lsp-haskell
- Use hie-wrapper on MacOS
- Update tools/lsp README to include :lang haskell
- Mention cabal-new-repl setting (#1140)
2019-04-07 16:46:59 -04:00
Henrik Lissner
a4283427f5
Fix autoloaded hydras
They weren't marked as interactive, making them unavailable for `M-x` or
keybinds.
2019-04-07 16:06:52 -04:00
Henrik Lissner
fa95984427
tools/lsp: add basic README 2019-04-06 01:37:11 -04:00
Henrik Lissner
df748e6cee
tools/editorconfig: remove extra indent vars
They were merged upstream in editorconfig/editorconfig-emacs#196

Relevant to: #1283, #1289
2019-04-05 14:23:28 -04:00
Henrik Lissner
cb5abcea0e
Add tools/direnv module 2019-04-05 03:16:37 -04:00
Henrik Lissner
dfc21e1157
tools/editorconfig: fix syntax error
Typo introduced in 8cd0a31a
2019-04-05 03:14:13 -04:00
Henrik Lissner
8cd0a31aef
Register terra-indent-level with editorconfig 2019-04-05 02:18:16 -04:00
Henrik Lissner
2c81ee4d98
tools/flyspell: minor refactor
- Allow flyspell-correct-* packages to be disabled by the end-user
  without breaking errors.
- Tie proselint detection to flycheck (which is what uses it)
2019-04-02 15:47:09 -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
7286b32322
Merge pull request #1273 from UndeadKernel/choose_spellchecker
Choose which spell checker flyspell will use
2019-04-02 14:06:22 -04:00
Henrik Lissner
6a99d7840b
Correct minor typo in warning message 2019-04-02 14:04:10 -04:00
Henrik Lissner
a08e00c4d4
Refactor aspell/hunspell initialization 2019-04-02 14:03:27 -04:00
Henrik Lissner
79e8a466a3
tools/flycheck: change idle delay behavior
Flycheck will now wait longer to check for errors when the last check
produced no errors, and quicker when there are. It will also avoid
displaying flycheck-posframe if in insert mode (as it can disturb cursor
positioning and change evil state in some edge cases).
2019-04-02 00:52:09 -04:00
Henrik Lissner
5bcab488a7
Add {vc,git-gutter}-mode checks to vc refresher 2019-04-01 13:21:25 -04:00
Henrik Lissner
bdd410cb9c
Refresh vc on-demand after quitting magit #1298
To avoid the long delay when you have many buffers open while quitting
magit.
2019-04-01 13:12:00 -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
Henrik Lissner
820d77c546
tools/magit: bind TAB in more magit modes 2019-03-26 03:43:23 -04:00
UndeadKernel
76f98043f1 flyspell: allow enabling either aspell or hunspell
* Previously, a user could not choose which spell checker to use.
  Instead, the first one found was used.
* This PR adds the flags `+aspell` and `+hunspell` which allow a user to
  choose which spellchcker to use (even if both are installed).
* Report an error if spell checking is enabled but no spell checker
  is found.
2019-03-18 15:59:55 +01:00
Henrik Lissner
fa98551d19
tools/vterm: minor refactor
Don't end warnings in punctuation, and throw error if modules support is
missing.
2019-03-13 20:41:48 -04:00
Henrik Lissner
4715412b5c
tools/vterm: remove use-emacs-theme-colors hack
Causes invalid face errors. This will be resolved in doom-themes
instead.
2019-03-13 18:22:09 -04:00
Henrik Lissner
f0013083c0
Restore minimal modeline in magit
With process indicator
2019-03-11 12:54:16 -04:00
Henrik Lissner
d5ba685817
Don't overwrite C-i in GUI Emacs 2019-03-09 02:42:31 -05:00
Henrik Lissner
8f733c2ab5
Don't kill magit with ESC 2019-03-08 04:25:45 -05:00
Henrik Lissner
1f23eecdc8
(Try to) homogenize TAB/RET/ESC keybinds
Map them to \t/^M/^[, rather than [tab], [return] and [escape].
2019-03-08 04:25:45 -05:00
Henrik Lissner
a05b1877be
Rewrite switch-{buffer,window} hooks
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
  doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
  in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
  times it gets triggered.
2019-03-08 02:37:33 -05:00
Henrik Lissner
05303c0fdb
💥 Rethink core hook order & naming
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
  emacs-startup-hook).

Yield a modest improvement in startup times.
2019-03-04 20:47:26 -05:00
Henrik Lissner
b5dcfd96d3
tools/flyspell: new flyspell-mode! autodef 2019-03-04 04:57:07 -05:00
Henrik Lissner
12ddc3c360
ui/modeline: add indent segment 2019-03-04 04:57:06 -05:00
Henrik Lissner
7c9e96da87
General module refactor 2019-03-02 02:04:11 -05:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
Henrik Lissner
8832737671
Adopt seagle0128/doom-modeline for :ui modeline
And remove obsolete :ui doom-modeline module.

Relevant to: #136, #921
2019-03-02 01:34:14 -05:00
Henrik Lissner
868bd15abe
Fix undeferred flycheck-posframe
Accidentally eager-loaded it. Whoops!
2019-03-01 14:25:18 -05:00
Henrik Lissner
94a57f695e
Fix LSP restart prompt when killing Emacs 2019-02-28 13:50:59 -05:00
Henrik Lissner
b871d400e5
tools/flycheck: simplify popup-tip advice
Relevant to #1209
2019-02-28 13:50:48 -05:00
Henrik Lissner
5ee4f03ce7
tools/lsp: no prompt for project root & autokill servers 2019-02-26 22:57:34 -05:00
Henrik Lissner
7361e05582
tools/flycheck: refactor popup-tip minor mode
Less code, fewer problems.
2019-02-26 19:32:35 -05:00
Henrik Lissner
11a528be04
Fix infinite recursion in +flycheck|disable-popup-mode-for-lsp 2019-02-26 18:05:48 -05:00
Henrik Lissner
594df64913
Smarter RET in normal mode over flyspell regions
Will now trigger flyspell-correct-word-generic
2019-02-26 16:55:29 -05:00
Henrik Lissner
db2949ff32
Improve flyspell support
+ Make flyspell more selective about what to scan in markdown buffers.
+ Don't mark duplicates when proseline or langtool are present.
+ Add set-flyspell-predicate! for seeing mode-specific word predicates.
2019-02-26 16:55:28 -05:00
Henrik Lissner
8604c0bbad
Use the default face for vterm's bg/fg 2019-02-24 13:55:07 -05:00
Henrik Lissner
899c4b8117
Disable +flycheck-popup-mode in lsp-ui-mode #1192
As its redundant with lsp-ui's sideline feature.
2019-02-24 13:52:36 -05:00
Henrik Lissner
5e24c93d4c
tools/lsp: move lsp-session-file to doom-etc-dir 2019-02-24 13:52:02 -05:00
Henrik Lissner
69ed1a4a99
feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00