Commit Graph

5579 Commits

Author SHA1 Message Date
72fd61e07b Ensure order of after-change-major-mode-hook hooks
Reduces the likeliness of load order issues.
2019-06-16 19:16:23 +02:00
43615c4d64 Integrate term toggle commands w/ persp-mode #1492
By namespacing the dedicated term buffers you get perspective-local
popup terminals.
2019-06-16 19:16:23 +02:00
39faabab6a lang/emacs-lisp: fix imenu regexp for sections
Otherwise, section labels with non-symbol characters would be excluded
from imenu's results.
2019-06-16 19:16:23 +02:00
9bba39bd3a Prevent unsaved prompts when formatting #1498
The fix for #1489 (in 13f5a762) gives the temp buffer (where formatting
is performed) a real buffer-file-name, which causes it to prompt to save
it when it is killed.
2019-06-16 19:16:22 +02:00
0b1ecb8105 editor/evil: port vim-unimpaired keybinds
Adds these keys, inspired by tpope/vim-unimpaired:

[ SPC, ] SPC (or [o, ]o)
  Add COUNT blank lines above/below the cursor
[f, ]f
  Visit previous/next file in current folder, alphabetically
[u, ]u
  Url encode/decode operators
[y, ]y
  C-string-style escaping/unescaping operators (escapes quotes,
  backslashes and control characters)
[x, ]x
  XML entity encoding/decoding operators (only if :lang web is enabled)
[F, ]F
  Focus previous/next frame (decided this is better than ]t/[t which is
  being used by hl-todo-{next,previous})

We already had gp and ]b/[b (buffers).

We're not going to port ]e/[e because it is redundant with ddp/ddP or gx
(evil-exchange). I also think these keybinds are better suited to
{next,previous}-error.
2019-06-16 19:16:22 +02:00
3bbd4e3008 use default nix-indent-function
See https://github.com/NixOS/nix-mode/pull/79
2019-06-15 15:37:32 +03:00
c705ceeb4c lang/python: fix conda+repl integration #1494 2019-06-15 00:38:13 +02:00
9624595f35 lang/php: silence premature php-extras warning 2019-06-14 18:38:19 +02:00
2e394fac6a Remove +flycheck-on-escape; add +flycheck-lazy-idle-delay
+flycheck-on-escape was redundant with removing +flycheck|buffer from
doom-escape-hook. Also, I don't use this pattern anywhere else.
2019-06-14 18:38:19 +02:00
28d04a6f5f Refactor +javascript|init-lsp-or-tide-maybe
LSP doesn't _need_ node to enable itself.
2019-06-14 18:38:18 +02:00
3e4f0a982b Fix #1492: +term/toggle not closing popup
And prevent term process from prompting on death.
2019-06-14 13:16:18 +02:00
e4c8beec68 completion/ivy: update keybinds in README #1491 2019-06-14 12:42:29 +02:00
80958c0c17 Ensure non-dedicated window is active on workspace creation
Otherwise, workspaces are left in a broken state where they only contain
dedicated/side-windows, which Emacs can't handle well.

Indirectly fixes #1492
2019-06-14 12:34:23 +02:00
7ce4a25e1e Rewrite +term/toggle #1492
multi-term performs a lot of hackery on Emacs' windows API, which causes
problems, particularly for persp-mode. To side-step it all we must
reinvent some of the wheel.
2019-06-14 12:33:09 +02:00
20f66b7560 editor/format: use format-all-mode
Allows uses to disable format-on-save by disabling format-all-mode.

Supersedes #1441
2019-06-14 11:10:23 +02:00
84fd744e3f Minor, general refactor & comment revision 2019-06-14 11:08:59 +02:00
33ae889e39 Enable evil-collection-ivy 2019-06-14 11:05:54 +02:00
13f5a76278 Fix formatters unable to find project root #1489 2019-06-13 18:01:45 +02:00
be907350e4 Fix +eshell/toggle with arguments
Fixes:

- Wrong-type-argument error when failing to display eshell buffer with
  pop-to-buffer, because it was killed (when prefix arg is non-nil).
- Passes non-existent variable `buf` to +eshell-run-command.
2019-06-13 17:52:52 +02:00
0f58634df4 Fix git-gutter:disabled-modes check #1482
Also ignores git-gutter-fringe config if package was disabled.
2019-06-13 10:10:37 +02:00
6f3c1c6d00 Fix how project search escapes spaces #1487
When invoking project search (via SPC / p) with an active selection.
2019-06-13 09:37:01 +02:00
c9305a552d Fix void-function make-xpm errors
Nobody should be using :ui tabbar. I'll remove it eventually.

Mentioned in #1485
2019-06-12 23:53:11 +02:00
74a4700486 ui/vc-gutter: conform functions to conventions
Since the module was renamed...
2019-06-12 20:24:11 +02:00
4ef345fe50 Fix how project search escapes regexps #1486
When invoking project search (via SPC / p) with an active selection, the
selection is captured and escaped, but was escaped incorrectly.
2019-06-12 20:17:47 +02:00
b2da28edfe Revert to initial evil state on term popup toggle
i.e. switch to insert state and move cursor to prompt.
2019-06-12 20:17:47 +02:00
77a7b76108 ui/vc-gutter: respect git-gutter:disabled-modes #1482 2019-06-12 09:32:55 +02:00
b1ecd68381 completion/ivy: fix +fuzzy & +prescient
Causd by ivy-re-builders-alist overwriting their modifications.
2019-06-11 18:11:51 +02:00
1a589c546a Replace closures with +workspace/switch-to-N 2019-06-11 17:36:44 +02:00
bf9a50eaea Fix #1481: not a valid workspace error on +org-capture/open-frame 2019-06-11 17:21:52 +02:00
ff26cf683c lang/javascript: update hook reference
Wrong function!
2019-06-11 16:43:56 +02:00
a1c1d8818a Fix #1456: handle remote PWDs in dashboard
Otherwise, invisible TRAMP authentication prompts would hang Emacs.
2019-06-11 16:21:37 +02:00
bc6c4b3e37 Add +workspace/other #1480
- Rename +workspace/switch-to-last to +workspace/switch-to-final, to
  avoid ambiguity.
- Add +workspace/switch-to-N commands
2019-06-11 16:12:06 +02:00
6b6ea699f4 tools/pass: use latest version of auth-source-pass
The upstream version is several major versions (v5.0) ahead of the
built-in one (v2.0).
2019-06-11 08:07:25 +02:00
b3c27ebe60 lang/javscript: unify lsp & tide initialization
The goal was to enable lsp (if +lsp is enabled), failing that it would
fall back on tide. This also adds lsp+tide support for tsx files opened
in web-mode.
2019-06-11 08:00:14 +02:00
a56ce38903 term/eshell: refactor & update keybinds
- Replace +eshell|init-evil with an advice for
  evil-collection-eshell-next-prompt-on-insert
- Update C-n/C-j and C-p/C-k keybinds to use
  eshell-{next,previous}-matching-input-from-input, which behave much
  like zsh's history-substring-search-{up,down}
- Move window navigation keybinds C-{h,j,k,l} to C-c {h,j,k,l} (more
  tmux-esque).
2019-06-11 07:57:26 +02:00
4fec3eb698 Revise term/vterm/eshell commands & keybinds
The semantics of SPC o t and SPC o T (or SPC o e and SPC o E in eshell's
case) have been reversed.

The lowercase keybind toggles the popup (and the prefix arg forciby
recreates the popup), and the uppercase keybind switches to that
terminal in the current buffer (whose prefix arg will open the terminal
in default-directory, rather than the project root).

- +{term,vterm,eshell}/open have been replaced with +X/here commands and
  are bound to SPC o T (and SPC o E in eshell's case).
- +{term,vterm,eshell}/popup* have been replaced with +x/toggle commands
  and are bound to SPC o t (and SPC o e in eshell's case).

The "toggle" behavior will do as the name implies, except will select
the popup if it is visible but unfocused.
2019-06-11 07:53:50 +02:00
750d7629e1 Fix {git-,}grep backends for project search #1479 2019-06-10 16:04:48 +02:00
5d94f048b6 editor/evil: remove evil-matchit
Its bugginess doesn't justify the "intelligence" it offers for block
keywords.
2019-06-10 09:38:57 +02:00
5683ffe0d2 Fix +lookup/file in non-project files
file-in-directory-p threw wrong-type-argument stringp errors because
project-root was nil.
2019-06-10 09:38:57 +02:00
766fc3e4a9 completion/ivy: inhibit ivy completion in evil-ex
`ivy-completion-in-region' struggles with completing certain
+evil-ex-specific constructs, like globs (:e prefix*.el) or vim filename
modifiers (:e %:p:h).
2019-06-10 09:38:56 +02:00
47530bd19f emacs/vc: refactor
And declare vc, vc-annotate & smerge-mode as built-ins (for
doom/help-packages).
2019-06-10 09:38:56 +02:00
ada5990f88 tools/flyspell: demote missing program warning
Log the missing dependency rather than a disruptive pop up.
2019-06-10 09:38:56 +02:00
d91888b432 lang/emacs-lisp: tab-width = 2 by default
A more sensible default. Also fixes evil-shift-width in emacs-lisp-mode.
2019-06-10 09:38:56 +02:00
3160b6342f lang/javascript: fix +javascript/open/rpl
When opened through +eval/open-repl-other-window
2019-06-10 09:38:56 +02:00
a6490020c7 emacs/dired: remove duplicate evil keybinds
Redundant with evil-collection-dired
2019-06-10 09:38:55 +02:00
36a8e02857 Fix +vc/git-browse-region-or-line
git-link-use-commit = t breaks +vc/git-browse-region-or-line.
2019-06-10 09:38:55 +02:00
1de21f57eb completion/ivy: use ivy--regex-ignore-order 2019-06-10 09:38:55 +02:00
e7c12b1bb6 ui/workspace: minibuffer-message -> message
minibuffer-message adds 2 seconds to emacsclient calls that create new
workspaces.
2019-06-10 09:38:55 +02:00
8ce8679c86 Mark css-mode & less-css-mode as built-in packages
less-css-mode was introduced in Emacs 26.1+
2019-06-10 09:38:55 +02:00
518e53deab lang/org: fix snippet expansion on visual region
Fixes two issues:

1. Evil users would be left in visual mode after expanding a snippet on
   a region, making it awkward to insert text. It now switches to insert
   state.
2. While yasnippet reindent the snippet's contents post-expansion, org's
   mode-specific indentation (see `org-src-tab-acts-natively`) can throw
   errors for arbitrary reasons. We don't need smart indentation when
   expanding snippets, so we turn it off only in this case.
2019-06-10 09:38:55 +02:00