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
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.
devdocs-lookup is broken at the moment. devdocs search is still
available through +lookup/online as a provider however. This may be
reversed later, when (and if) we find a better devdocs backend.
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`.
Caused by langtool-langauge-tool-jar not being set (because defvar won't
change a defined variable), and app/write/doctor.el uses it in a
file-exists-p call, which throws the stringp error if given anything
other than a string.
This would run indent-according-to-mode after creating a new line, which
would often throw new comment lines out of whack. Now it preserves the
indentation of the originating line.
Also fixes continuation whitespace issues with evil-open-above on
C-style block comments.
Completion rarely works in the middle of (or at the beginning of) a
symbol, so we insert a space in front of the cursor in those cases and
then invoke completion.
+ 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
Fixes#829. Helm's persistent action would try to operate on the *Org
Links* window, which is dedicated, causing a "Cannot split side window
or parent of side window" error.
This fix gets rid of this unhelpful popup altogether when helm is
enabled.