aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2023-09-08doc: document the "*" filetype optionSteven Arcangeli
2023-09-08feat: syntax for using first available formatterSteven Arcangeli
Alternations are now supported. You can specify a sub-list in place of a formatter name and conform will use the first formatter in that list that is available. For example, this will use either prettierd or prettier (whichever is available), and then always trim whitespace afterwards: conform.format(formatters = { { "prettierd", "prettier" }, "trim_whitespace" }) This syntax is available both in the formatters_by_ft config option and in the `formatters` argument of the `format` method.
2023-09-07refactor!: remove run_all_formatters config optionSteven Arcangeli
run_all_formatters is now the default. To only run the first formatter (the previous behavior), see the next commit
2023-09-07refactor: make get_formatter_info a public methodSteven Arcangeli
2023-09-07lint: apply styluaSteven Arcangeli
2023-09-07[docgen] Update docsGithub Actions
skip-checks: true
2023-09-07feat: add beautysh, taplo, trim_newlines and trim_whitespace (#29)xfzv
* feat: add beautysh * feat: add taplo * feat: add trim_newlines * feat: add trim_whitespace * doc: mention that `trim_newlines` and `trim_whitespaces` are using `awk` --------- Co-authored-by: xfzv <>
2023-09-06doc: format() takes bufnr, not buf (#28)Seth Daniel
2023-09-06chore(master): release 2.3.0 (#22)v2.3.0github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-09-06doc: add guidance for extending built-in formatters (#27)Steven Arcangeli
2023-09-05[docgen] Update docsGithub Actions
skip-checks: true
2023-09-05doc: format() takes bufnr, not buf (#25)Seth Daniel
2023-09-04[docgen] Update docsGithub Actions
skip-checks: true
2023-09-04doc: fix prettierd formatter name in README (#24)jinzhongjia
* fix readme error and add a tip * fix doc `prettier_d`
2023-09-01tools: use local working directory for typechecking temp filesSteven Arcangeli
2023-09-01tools: add a make clean targetSteven Arcangeli
2023-08-31ci: improve consistency of CI workflows (#23)Steven Arcangeli
* ci: don't double-run tests on PRs * ci: always run document generation and lint
2023-08-31fix: callback should always be calledSteven Arcangeli
2023-08-31feat: format() takes an optional callback (#21)Steven Arcangeli
* refactor: replicate lsp.buf.format call * feat: format() takes an optional callback * fix: improper logging * fix: callback returns error if buffer is no longer valid * fix: provide more detailed error message to callback * fix: properly detect task interruption * cleanup: remove unnecessary error code translation * fix: lsp formatting for Neovim 0.9 * doc: add example of async formatting on save * fix: async LSP formatter discards changes if buffer was modified * fix: error code comparison * fix: use the same LSP client filtering logic everywhere * fix: add buffer validity guard checks * fix: add buffer validity guard to LSP formatter * refactor: change the default log level to WARN
2023-08-30chore(master): release 2.2.0 (#20)v2.2.0github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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-30tools: pre-push hook only runs on masterSteven Arcangeli
2023-08-29chore(master): release 2.1.0 (#10)v2.1.0github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-30[docgen] Update docsGithub Actions
skip-checks: true
2023-08-29feat: notify when formatter errors, and add notify_on_error config option (#16)Steven Arcangeli
2023-08-29fix: shellharden (#15)Seth Daniel
2023-08-29feat: display last few lines of the log file in :ConformInfoSteven Arcangeli
2023-08-30[docgen] Update docsGithub Actions
skip-checks: true
2023-08-29feat: add perltidy (#12)Seth Daniel
2023-08-30[docgen] Update docsGithub Actions
skip-checks: true
2023-08-29feat: add shellharden (#14)Seth Daniel
2023-08-30[docgen] Update docsGithub Actions
skip-checks: true
2023-08-29feat: add golines (#11)Seth Daniel
2023-08-30[docgen] Update docsGithub Actions
skip-checks: true
2023-08-29feat: add perlimports (#13)Seth Daniel
2023-08-29ci: only run update_docs job on masterSteven 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-28chore(master): release 2.0.0 (#6)v2.0.0github-actions[bot]
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-08-28feat: ConformInfo command for debugging formatter statusSteven Arcangeli
2023-08-28tools: add makefile 'all' targetSteven 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-28tools: split fast and slow lint commandsSteven 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-28[docgen] Update docsGithub Actions
skip-checks: true
2023-08-28fix: don't show 'no formatters' warning if none configuredSteven Arcangeli
2023-08-28[docgen] Update docsGithub Actions
skip-checks: true
2023-08-28feat: can silence notification when running formatters (#7)Steven Arcangeli
2023-08-28ci: merge workflowsSteven Arcangeli