Commit graph

5442 commits

Author SHA1 Message Date
Oleksii Filonenko
1fb5891f6d
lang/elixir: finish README.org 2019-07-26 21:23:32 +03:00
Oleksii Filonenko
70dfbccde9
lang/elixir: Add README.org 2019-06-24 20:04:15 +03:00
birdgg
64d88bb956 fix: file not found in autoload 2019-06-21 16:45:07 +08:00
Henrik Lissner
2e96fce2e0
ui/modeline: remove obsolete advice (fix #1372) 2019-06-19 11:37:27 +02:00
Henrik Lissner
9c74d9d669
Add SPC g b and SPC g c b for branching
SPC g b = magit-branch-checkout
SPC g c b = magit-branch-and-checkout
2019-06-18 22:06:29 +02:00
Henrik Lissner
e313fef7b0
term/eshell: fix reference to old function 2019-06-18 21:52:50 +02:00
Henrik Lissner
44a5ffad66
tools/flyspell: doom-log failed to find checker
Instead of logging with message, which is more disruptive (appears in
bin/doom output, for instance).
2019-06-18 17:30:26 +02:00
Henrik Lissner
f2d7c5625d
Revise comments & docstring 2019-06-18 14:43:05 +02:00
Henrik Lissner
c0bffd4268
editor/file-templates: general refactor 2019-06-18 00:29:05 +02:00
Henrik Lissner
21cf1c2da6
editor/file-templates: fix #1401
org-capture, when used on a target that doesn't exist, will invisibly
expand a file template, leaving a hang yasnippet active. After
org-capture initializes, the yasnippet will attempt to operate on
overlays that don't exist, throwing overlayp errors.
2019-06-18 00:21:26 +02:00
Henrik Lissner
9c842bfad8
Open term popups in current dir, instead of project-root
CDing into the project root can be accomplished with external tools, e.g.

  cd $(git rev-parse --show-toplevel)
  cd $(hg root)
  cd $(npm root)

Any of which could be aliased. Also, +vterm/toggle and term/toggle
define the PROOT environment variable, so `cd $PROOT` will work too.

On the other hand, CDing to the current file/folder requires that the
shell be made aware of the file/directory of some Emacs state, which is
a little trickier to deal with, so I made that the default behavior for
+term/toggle, +vterm/toggle and +eshell/toggle.
2019-06-17 19:25:17 +02:00
Henrik Lissner
2835314022
term/term: don't erase term buffer on toggle #1492 2019-06-17 16:06:11 +02:00
Henrik Lissner
0a7221798b
Start file searchs from basic sh/dash shell
Uses the most basic, uncustomized shell to a) prevent interference
caused by slow shell configs and b) speed up project text searches. This
comes at the cost of isolating these programs from envvars that the user
may have set in their shell configs in order to change
ag/rg/pt/git-grep/grep's behavior.

If this bothers you, change +ivy-file-search-shell to your shell (or
to the value of `shell-file-name`).

Possibly relevant to an issue mentioned in #1260
2019-06-17 15:10:55 +02:00
Henrik Lissner
855ff34e2c
Port more next/previous motions from vim
They are:

]m, [m
  Jump to next/previous beginning of method/function.
]M, [M
  Jump to next/previous end of method/function
]#, [#
  Jump to next/previous preprocessor directive (only supports C-style
  directives for now)
]*, [* (or ]\, [\)
  Jump to next/previous comment
2019-06-17 12:37:19 +02:00
Henrik Lissner
61502d7e31
Reformat editor/evil/autoload/evil library 2019-06-17 12:05:54 +02:00
Henrik Lissner
76143d5a51
Escape pipes in selection for rg project searches
Pipes need to be double-escaped, because they're meaningful to both ivy
and ripgrep, and searches conducted on a selection need to be literal.
2019-06-16 23:04:39 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Vladyslav M
3bbd4e3008
use default nix-indent-function
See https://github.com/NixOS/nix-mode/pull/79
2019-06-15 15:37:32 +03:00
Henrik Lissner
c705ceeb4c
lang/python: fix conda+repl integration #1494 2019-06-15 00:38:13 +02:00
Henrik Lissner
9624595f35
lang/php: silence premature php-extras warning 2019-06-14 18:38:19 +02:00
Henrik Lissner
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
Henrik Lissner
28d04a6f5f
Refactor +javascript|init-lsp-or-tide-maybe
LSP doesn't _need_ node to enable itself.
2019-06-14 18:38:18 +02:00
Henrik Lissner
3e4f0a982b
Fix #1492: +term/toggle not closing popup
And prevent term process from prompting on death.
2019-06-14 13:16:18 +02:00
Henrik Lissner
e4c8beec68
completion/ivy: update keybinds in README #1491 2019-06-14 12:42:29 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
84fd744e3f
Minor, general refactor & comment revision 2019-06-14 11:08:59 +02:00
Henrik Lissner
33ae889e39
Enable evil-collection-ivy 2019-06-14 11:05:54 +02:00
Henrik Lissner
13f5a76278
Fix formatters unable to find project root #1489 2019-06-13 18:01:45 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
74a4700486
ui/vc-gutter: conform functions to conventions
Since the module was renamed...
2019-06-12 20:24:11 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
77a7b76108
ui/vc-gutter: respect git-gutter:disabled-modes #1482 2019-06-12 09:32:55 +02:00
Henrik Lissner
b1ecd68381
completion/ivy: fix +fuzzy & +prescient
Causd by ivy-re-builders-alist overwriting their modifications.
2019-06-11 18:11:51 +02:00
Henrik Lissner
1a589c546a
Replace closures with +workspace/switch-to-N 2019-06-11 17:36:44 +02:00
Henrik Lissner
bf9a50eaea
Fix #1481: not a valid workspace error on +org-capture/open-frame 2019-06-11 17:21:52 +02:00
Henrik Lissner
ff26cf683c
lang/javascript: update hook reference
Wrong function!
2019-06-11 16:43:56 +02:00
Henrik Lissner
a1c1d8818a
Fix #1456: handle remote PWDs in dashboard
Otherwise, invisible TRAMP authentication prompts would hang Emacs.
2019-06-11 16:21:37 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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