Age | Commit message (Collapse) | Author |
|
formatters (#273)
* feat: add dry_run option and pass return values for if buffer would be modified
* fix: implement dry_run for blocking calls to lsp formatter
* refactor: change `changed` variable to `did_edit`
* docs: Update README
* fix: address PR comments
* fix: small cleanups
---------
Co-authored-by: Steven Arcangeli <stevearc@stevearc.com>
|
|
* Fix(black): formatting excluded files results in blank buffer (#249)
* Fixed stylua formatting
* Fixed more stylua formatting
* Log buffer name and change from trace to warning
* Test fix: set_formatter_output funtion was moved out of test_util
* Avoid blank output triggering errors in fuzzer tests
|
|
|
|
This is a breaking API change, but there is a shim in place that will keep existing functions working, just with a warning notification. Most people should not encounter this at all. For anyone overriding a formatter config value with a function that takes `(ctx)` as the parameter, it will need to be updated to take `(self, ctx)`.
|
|
|
|
|
|
|
|
|
|
* feat: apply changes as text edits using LSP utils
This means we can leverage all of the work that was done in the LSP
client to preserve marks, cursor position, etc
* log: add trace logging to debug performance
* feat: use the same diff -> TextEdit technique for bad LSP servers
Some LSP servers simply return a single TextEdit that replaces the whole
buffer. This is bad for extmarks, cursor, and if the buffer is open in
multiple windows the non-active window will jump to the top. We can
detect that situation and apply the same vim.diff logic to convert it
into more granular TextEdits.
|
|
|
|
|