aboutsummaryrefslogtreecommitdiffstats
path: root/lua/conform/init.lua
AgeCommit message (Collapse)Author
2023-08-30feat: apply changes as text edits using LSP utils (#18)Steven Arcangeli
* 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.
2023-08-29feat: notify when formatter errors, and add notify_on_error config option (#16)Steven Arcangeli
2023-08-29feat: formatter config function is passed the buffer number (#9)Steven Arcangeli
2023-08-29feat: add support for environment variables (#8)Steven Arcangeli
2023-08-28feat: ConformInfo command for debugging formatter statusSteven Arcangeli
2023-08-28feat: range formattingSteven Arcangeli
Should work the same as vim.lsp.buf.format(). Additionally, range formatting is supported for *any* formatter. If the formatter doesn't have native support for ranges, conform will do its best to only apply the diffs that affect that range.
2023-08-28fix: stable ordering when specifying multiple formattersSteven Arcangeli
2023-08-28refactor!: remove ability for formatter list to disable autoformatSteven Arcangeli
I realized that there are so, so many possible features people would want when configuring the autoformatter, but it's better to just code it up yourself rather than try to create a config language that can describe all possible logic. Also adding new docs to provide examples of more advanced autoformat logic.
2023-08-28fix: don't show 'no formatters' warning if none configuredSteven Arcangeli
2023-08-28feat: can silence notification when running formatters (#7)Steven Arcangeli
2023-08-28fix: remove unnecessary notifySteven Arcangeli
2023-08-27fix: keep window position stable when LSP formattingSteven Arcangeli
2023-08-27lint: fix type annotationsSteven Arcangeli
2023-08-27doc: flesh out config options documentationSteven Arcangeli
2023-08-27test: add a test suiteSteven Arcangeli
2023-08-25fix: notification when no formatters availableSteven Arcangeli
2023-08-25feat: first working versionSteven Arcangeli