Commit Graph

180 Commits

Author SHA1 Message Date
Henrik Lissner
75b39a9396 editor/format: preserve indentation for regions 2018-09-03 03:58:43 +02:00
Henrik Lissner
c885cd2b9d editor/format: refactor & reformat +format-buffer
Also switches cl-destructuring-bind to pcase-let to avoid breaking
errors being thrown.
2018-09-03 03:58:43 +02:00
Henrik Lissner
a33165d47a editor/format: disable in sql-mode by default
sqlformat appears to be broken. It either throws an IndexError or
formats SQL incorrectly and/or poorly.
2018-08-31 12:44:24 +02:00
Henrik Lissner
349fb49c7b editor/format: refactor +format-buffer & users 2018-08-30 15:00:33 +02:00
Henrik Lissner
1b4040229e editor/format: update documentation 2018-08-30 14:56:50 +02:00
Henrik Lissner
1ae3523f75 editor/format: autoload format-all-probe #834 2018-08-30 14:44:37 +02:00
Henrik Lissner
7616316634 editor/format: improve message feedback
Announce failures, noops and successes clearly, and log errors.
2018-08-30 13:29:49 +02:00
Henrik Lissner
fd9a3c36ee editor/format: refactor (again) 2018-08-29 17:02:49 +02:00
Henrik Lissner
6e03ddacda Update & revise set-formatter! docstring 2018-08-29 15:56:59 +02:00
Henrik Lissner
4b9233bec7 editor/format: format by diff & major refactor
This redesigns how format-all applies changes. Before, it would erase
the buffer and insert the formatted result. This would throw markers out
of whack, and usually meant the cursor would end up somewhere else (e.g.
the beginning of the file).

Now, changes are made to the buffer line by line, via RCS patch.

Other changes:

+ +format-region function was removed (replaced by +format-buffer and
  +format/region).
+ set-formatter! was moved to autoload/settings.el
+ New +format/buffer command to replace format-all-buffer
2018-08-29 12:48:38 +02:00
Henrik Lissner
cb5c9cc9ea Don't autoformat emacs-lisp-mode buffers on save
This is much too unpredictable, considering the variable nature of elisp
indentation, and the possibility that certain functions and their indent
behavior may not be defined/declared when the file is being formatted.
2018-08-29 12:46:24 +02:00
Henrik Lissner
2b560a6a0e General & minor refactoring 2018-08-28 13:36:44 +02:00
Henrik Lissner
ed0cbc1323 editor/format: fix format-all-probe check
Returns '(nil nil) when there is no formatter for the current mode. This
is truthy, so we needed a better check.
2018-08-28 13:35:03 +02:00
Henrik Lissner
e932c74758 editor/format: don't move cursor on format-on-save
Also renames +format|on-save to +format|buffer for clarity. It should
not (normally) be used directly. Use `+format|enable-on-save-maybe` and
`+format|enable-on-save`.
2018-08-28 12:02:56 +02:00
Henrik Lissner
98b5c95ee5 editor/format: add +format|enable-on-save alias 2018-08-27 10:30:31 +02:00
Henrik Lissner
3b69045ed4 editor/format: add +format|on-save buffer-locally 2018-08-26 17:31:14 +02:00
Henrik Lissner
f1460ff592 editor/format: don't move cursor on save 2018-08-26 17:26:54 +02:00
Henrik Lissner
6515a1c539 editor/format: fix +onsave 2018-08-25 01:10:47 +02:00
Henrik Lissner
171c87aa2c editor/format: general fix & refactor
+ Fixes function/command formatters (like #'gofmt)
+ Fixes formatting by region
+ Adds default keybindings:
  + gQ evil operator
  + SPC c f (normal mode) to format buffer
  + SPC c f (visual mode) to format selection
2018-08-25 00:06:12 +02:00
Henrik Lissner
8e7a7c1878 Fix void-function format-all-resolve-system error
This function is only defined at compile time for the format-all
package, so we must extract it into a new function.
2018-08-22 20:38:16 +02:00
Henrik Lissner
f51f2948af New :editor format module
Centralized code formatting with built-in support for a variety of
languages. Provides the set-formatter! function for defining your own.

Still experimental and needs more testing!
2018-08-22 02:20:11 +02:00
Henrik Lissner
8d26879f99 Add :editor multiple-cursors module
Moves evil-mc/evil-multiedit out of feature/evil.
2018-08-06 00:31:23 +02:00
Henrik Lissner
5531d7115a Fix indentation for many autodef setters 2018-06-22 01:49:21 +02:00
Henrik Lissner
3a3eb92087 Move :tools rotate-text to :editor rotate-text
This change was a long time coming.
2018-06-22 01:49:20 +02:00
Henrik Lissner
b0f1804799 Unbind double-quote in lisp-mode
Causes double-double-quoting. smartparens will handle it.
2018-06-20 22:58:05 +02:00
Henrik Lissner
6426da3533 Fix :hook modes for parinfer-mode 2018-06-13 16:53:44 +02:00
Henrik Lissner
63552338ec Conform editor/parinfer to Doom conventions
+ Use evil +everywhere flag for universal evil integration,
+ Use :hook instead of `add-hook!` and implicit lambda,
+ Fix path in header.
2018-06-12 21:34:47 +02:00
Aria Edmonds
db45248adf Add yasnippet back to parinfer 2018-06-11 21:55:34 +10:00
Aria Edmonds
3fec00a534 Swap from emacs-lisp-mode-map to parinfer-mode-map 2018-06-11 10:10:34 +10:00
Aria Edmonds
d178d78b2b Move +parinfer to :editor parinfer 2018-06-11 10:09:37 +10:00