Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-06-19 | doc: add LSP annotations for `lsp_format` options (#461) | Micah Halter | |
* doc: add LSP annotations for `lsp_format` options * doc: regenerate documentation --------- Co-authored-by: Steven Arcangeli <stevearc@stevearc.com> | |||
2024-06-19 | fix: LSP fallback behavior when formatters not availble | Steven Arcangeli | |
The bug would present itself when there were formatters configured for a filetype that were not available (not installed, or some other issue). This would also happen if the filetype configured an empty list of formatters. The fix was to make sure that we fall back to LSP formatting _either_ if the filetype had no formatters configured, _or_ if none of the configured formatters are available. | |||
2024-06-17 | feat!: expand options for LSP formatting (#456) | Steven Arcangeli | |
2024-06-05 | fix: improve error message when formatter config is missing | Steven Arcangeli | |
2024-05-22 | doc: add type annotations for setup() function | Steven Arcangeli | |
2024-05-21 | docs: better type definitions for top-level functions (#410) | Jon Heinritz | |
* docs: extract conform.format(opts) into it's own class * docs: extract conform.format_lines(opts) into it's own class * refactor: use new nvim_doc_tools capability to remove duplicated class definition --------- Co-authored-by: Steven Arcangeli <stevearc@stevearc.com> | |||
2024-05-16 | ci: test against Neovim 0.10 | Steven Arcangeli | |
2024-05-13 | fix: warning messages for improper async in format_on_save (#401) | Steven Arcangeli | |
2024-04-23 | fix: refactor deprecated methods in neovim 0.10 | Steven Arcangeli | |
2024-03-15 | feat: add formatter config option to change name of temporary file (#332) | Steven Arcangeli | |
2024-03-01 | lint: remove unused import | Steven Arcangeli | |
2024-03-01 | cleanup: remove backwards compatability shim | Steven Arcangeli | |
2024-01-15 | feat: Add dry_run option and report if buffer was/would be changed by ↵ | Bronson Jordan | |
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> | |||
2024-01-08 | feat(formatexpr): don't require LSP range formatting if operating on whole ↵ | Nuno David | |
file (#272) solves: https://github.com/stevearc/conform.nvim/issues/271 | |||
2024-01-06 | fix: copy input parameters for will_fallback_lsp | Steven Arcangeli | |
2024-01-06 | fix: pass explicit bufnr to avoid race conditions (#260) | Steven Arcangeli | |
2023-12-26 | fix(injected): handle inline injections (#251) | Steven Arcangeli | |
2023-12-07 | fix(formatexpr): does not fallback to the built-in formatexpr (#238) | Jongwook Choi | |
This makes the behavior of formatexpr more consistent with `vim.lsp.formatexpr`; do not run vim's builtin formatter. Problem: When conform's formatexpr is used and (range or buffer) but conform can't do formatting and there is no LSP formatter with the formatting capabilities, it will fall back to the (wrong) built-in formatting, which might result in simply concatenating all the words. This is a breaking change, reverting the behavior introduced in #55. | |||
2023-12-06 | refactor!: formatter config functions take self as first argument (#233) | Steven Arcangeli | |
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)`. | |||
2023-11-06 | fix: nonzero exit code on :wq (#176) | Steven Arcangeli | |
2023-11-04 | feat: allow formatters_by_ft to be a function (#174) | Steven Arcangeli | |
2023-10-26 | fix(formatexpr): use default formatexpr if no formatters or LSP clients (#55) | Steven Arcangeli | |
2023-10-15 | feat!: merge configs in conform.formatters with defaults (#140) | Steven Arcangeli | |
This breaking change should make it significantly easier to modify formatters. While I expect 99% of configs to be backwards-compatible, this can still potentially cause problems. If you: * define a formatter in the `formatters` option * that has the same name as a built-in formatter * and omits a property from the original formatter (e.g. leaves out `range_args` or `cwd`) Then you may encounter breaking behavior from this commit, because now your config definition will be merged with the built-in definition, and so will inherit those omitted properties. This config merging behavior can be opted-out of by adding `inherit = false` to your formatter config. | |||
2023-10-10 | fix: prevent format-after-save autocmd from running on invalid buffers | Steven Arcangeli | |
2023-10-10 | fix: prevent format-on-save autocmd from running on invalid buffers (#128) | Chris Bell | |
2023-10-08 | feat: errors do not stop formatting early | Steven Arcangeli | |
2023-10-05 | feat: expose configuration options for injected formatter (#118) | Steven Arcangeli | |
2023-10-02 | fix: format on save autocmds ignore nonstandard buffers | Steven Arcangeli | |
2023-10-02 | fix: injected formatter doesn't have interruption errors | Steven Arcangeli | |
2023-10-02 | fix: error handling for injected formatter | Steven Arcangeli | |
2023-09-29 | fix: alternations follow notification rules | Steven Arcangeli | |
2023-09-29 | feat: format injected languages (#83) | Steven Arcangeli | |
2023-09-29 | fix: format_after_save autocmd blocks nvim exit until complete | Steven Arcangeli | |
This fixes one the main issue with a BufWritePost format autocmd: that if the user does `:wq` vim will exit before the formatting changes are applied. Now we will block in VimLeavePre until the formatter completes (or a timeout is reached). | |||
2023-09-29 | fix: only show "no formatters" warning if formatters passed in explicitly (#85) | Steven Arcangeli | |
2023-09-21 | refactor: rename ruff -> ruff_fix | Steven Arcangeli | |
2023-09-19 | fix: range formatting for LSP formatters (#63) | Steven Arcangeli | |
2023-09-18 | doc: remove irrelevant note about '*' filetype | Steven Arcangeli | |
2023-09-17 | feat: make lsp_fallback behavior more intuitive (#59) | Steven Arcangeli | |
When lsp_fallback = true AND the only formatters for the buffer are from the "*" or "_" filetype, format with LSP instead of the "*"/"_" formatters. | |||
2023-09-15 | feat: '_' filetype to define fallback formatters | Steven Arcangeli | |
2023-09-15 | feat: provide a formatexpr (#55) | Steven Arcangeli | |
2023-09-15 | feat: allow running commands in a shell (#49) | Steven Arcangeli | |
2023-09-15 | feat: format_on_save functions can return a callback as the second value | Steven Arcangeli | |
2023-09-14 | doc: add some recipes to the documentation | Steven Arcangeli | |
2023-09-13 | doc: document the format options that are passed through to LSP formatting | Steven Arcangeli | |
2023-09-10 | feat: format_on_save and format_after_save can be functions | Steven Arcangeli | |
2023-09-08 | feat: format() can always fall back to LSP formatting | Steven Arcangeli | |
2023-09-08 | feat: syntax for using first available formatter | Steven 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-07 | refactor!: remove run_all_formatters config option | Steven Arcangeli | |
run_all_formatters is now the default. To only run the first formatter (the previous behavior), see the next commit | |||
2023-09-07 | refactor: make get_formatter_info a public method | Steven Arcangeli | |
2023-08-31 | fix: callback should always be called | Steven Arcangeli | |