Commit graph

16 commits

Author SHA1 Message Date
Henrik Lissner
df42d8ce89
editor/format: rewrite & fix set-formatter!
+ Updated docstring (and added two more examples)
+ Can now be used with shell command strings or string lists. String
  sublists can have more than 2 elements. Non-string items will be
  interpolated into the string before it. If any non-string item is nil,
  its sublist is omitted entirely.
+ Can now be used to redefine formatters predefined by the format-all
  package, by passing the formatter's name (as a symbol) as the first
  argument.
+ Added :modes property for cases when first argument isn't a major mode
  or list of them (when redefining a formatter).
2018-09-03 03:58:44 +02:00
Henrik Lissner
81ee563c4c
+format|buffer: use pcase-let & return boolean
So it can be used in other functions.
2018-09-03 03:58:43 +02:00
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
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
2b560a6a0e
General & minor refactoring 2018-08-28 13:36:44 +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
f1460ff592
editor/format: don't move cursor on save 2018-08-26 17:26:54 +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