y3owk1n/time-machine.nvim
Undo. Redo. Time travel. Take control of your edit history with an interactive timeline, diff previews, taggings, live reloading trees and cleanup functions.
14 Releases
Latest: 10mo ago
v1.5.4Latest
🐛 Bug Fixes
- ci: move docs out to its own workflow ([#96](https://github.com/y3owk1n/time-machine.nvim/issues/96)) ([e59e15a](https://github.com/y3owk1n/time-machine.nvim/commit/e59e15ab54d0dd0e8bc0db7f7fd33a53c0ab7767))
v1.5.3
🐛 Bug Fixes
- config: make logger function private ([#93](https://github.com/y3owk1n/time-machine.nvim/issues/93)) ([78cc2e4](https://github.com/y3owk1n/time-machine.nvim/commit/78cc2e42ab2cf72af4a69a271e661d130641b93c))
- docs: switch doc gen from `pandocvim` to `vimcats` ([#91](https://github.com/y3owk1n/time-machine.nvim/issues/91)) ([924c3d7](https://github.com/y3owk1n/time-machine.nvim/commit/924c3d7fffca486ce3f7c71425e3064a8c43c8b1))
- remove whitespace ([#94](https://github.com/y3owk1n/time-machine.nvim/issues/94)) ([6f593a5](https://github.com/y3owk1n/time-machine.nvim/commit/6f593a50736507a6ffa11c2008109a250cb40f00))
v1.5.2
🐛 Bug Fixes
- tree: add different configurable `time_format` ([#88](https://github.com/y3owk1n/time-machine.nvim/issues/88)) ([66b173e](https://github.com/y3owk1n/time-machine.nvim/commit/66b173e7b6ddf58c79e124f945b8b4112b89f75e))
- ui: ensure pattern matching for time section matches new config ([#90](https://github.com/y3owk1n/time-machine.nvim/issues/90)) ([cf5e66a](https://github.com/y3owk1n/time-machine.nvim/commit/cf5e66ab02c132c4289f0b1ac65c52ba5a80a0c2))
v1.5.1
🐛 Bug Fixes
- ui: abort opening panel when no undos found ([#86](https://github.com/y3owk1n/time-machine.nvim/issues/86)) ([155bf71](https://github.com/y3owk1n/time-machine.nvim/commit/155bf71d8496c05fbc38ea732d4d711b21591afe))
v1.5.0
✨ Features
- highlights: add `timeline_alt` for highlight overrides ([#77](https://github.com/y3owk1n/time-machine.nvim/issues/77)) ([5dbfaea](https://github.com/y3owk1n/time-machine.nvim/commit/5dbfaea60293454213ed9d3beccc6339b5fff5d6))
- window: add configurable `winblend` for floats ([#73](https://github.com/y3owk1n/time-machine.nvim/issues/73)) ([7fd8482](https://github.com/y3owk1n/time-machine.nvim/commit/7fd848272c72102e58a8e550147eb88b2a661f70))
🐛 Bug Fixes
- highlights: ensure hl is overridable ([#76](https://github.com/y3owk1n/time-machine.nvim/issues/76)) ([08bda79](https://github.com/y3owk1n/time-machine.nvim/commit/08bda79dfc13b4b81d2fbb8295d0ad5a3a438d84))
- icons: rename icon names and use rounded corner ([#85](https://github.com/y3owk1n/time-machine.nvim/issues/85)) ([e3ea3ed](https://github.com/y3owk1n/time-machine.nvim/commit/e3ea3edbfa7339833375241c81c293e233220cee))
- tree: nicer connector for root node ([#78](https://github.com/y3owk1n/time-machine.nvim/issues/78)) ([70d03ac](https://github.com/y3owk1n/time-machine.nvim/commit/70d03acca7a485272441329409a800f40bb0c172))
- ui.set_highlights: remain actual hl for current text ([#83](https://github.com/y3owk1n/time-machine.nvim/issues/83)) ([36e858a](https://github.com/y3owk1n/time-machine.nvim/commit/36e858a000e8848920ed8726a4fd5e820094f9e0))
- ui: add padding before first icon node in timeline ([#82](https://github.com/y3owk1n/time-machine.nvim/issues/82)) ([abb52ab](https://github.com/y3owk1n/time-machine.nvim/commit/abb52ab3d7d2ddf2ed27654c4c204744ea24414b))
- window.create_native_float_win: ensure grabbing footer text keymap from config ([#75](https://github.com/y3owk1n/time-machine.nvim/issues/75)) ([6bdaa91](https://github.com/y3owk1n/time-machine.nvim/commit/6bdaa91185cf4e8f5f5efad7457a2d0b7f120aec))
v1.4.2
🐛 Bug Fixes
- ui: avoid reusing existing floats ([#69](https://github.com/y3owk1n/time-machine.nvim/issues/69)) ([ce03a29](https://github.com/y3owk1n/time-machine.nvim/commit/ce03a29977d751a90c8e4d760a5d1834bb3c35be))
- utils: allow optional bufnr and winid to close it ([#67](https://github.com/y3owk1n/time-machine.nvim/issues/67)) ([ffcd3be](https://github.com/y3owk1n/time-machine.nvim/commit/ffcd3beed1c6e93db4142f9800a63b3a0e5d27c9))
- window.create_native_split_win: eliminate orphaned empty buffer when creating split ([#71](https://github.com/y3owk1n/time-machine.nvim/issues/71)) ([77a5fd1](https://github.com/y3owk1n/time-machine.nvim/commit/77a5fd1686de336edaa7e5c10cc0f889d72117d1))
v1.4.1
🐛 Bug Fixes
- config.setup_autocmds: more checks to ensure not over-emitting `undo_created` event ([#63](https://github.com/y3owk1n/time-machine.nvim/issues/63)) ([a398221](https://github.com/y3owk1n/time-machine.nvim/commit/a3982213c41b93f77830266ac0a9a2f02f61d104))
- diff.preview_diff_external: add log for closing win ([#65](https://github.com/y3owk1n/time-machine.nvim/issues/65)) ([cb57e3a](https://github.com/y3owk1n/time-machine.nvim/commit/cb57e3acc7a8b913c69f2d79a9babf4dee246e91))
- log every event emission ([#66](https://github.com/y3owk1n/time-machine.nvim/issues/66)) ([18dfa6c](https://github.com/y3owk1n/time-machine.nvim/commit/18dfa6cce5de8fe7bd65bb6f3732deb9076a4121))
v1.4.0
✨ Features
- add detailed loggers with configurations ([#60](https://github.com/y3owk1n/time-machine.nvim/issues/60)) ([349e1b9](https://github.com/y3owk1n/time-machine.nvim/commit/349e1b95f05cc586e87bd7a4d86e603dc4336e8d))
🐛 Bug Fixes
- actions.toggle: do not notify if condition not met for toggling ([#57](https://github.com/y3owk1n/time-machine.nvim/issues/57)) ([501dfd1](https://github.com/y3owk1n/time-machine.nvim/commit/501dfd116d50451b7fc2527f041ad3484af56255))
- config.setup_autocmds: ignore time machine buffer for emitting `undo_created` event ([#62](https://github.com/y3owk1n/time-machine.nvim/issues/62)) ([287067a](https://github.com/y3owk1n/time-machine.nvim/commit/287067a9b1eaaaeccd750ad7f36401ac62e348f4))
v1.3.0
✨ Features
- diff: support user defined args for external diff tools and configurable from config opts ([#47](https://github.com/y3owk1n/time-machine.nvim/issues/47)) ([2def5dc](https://github.com/y3owk1n/time-machine.nvim/commit/2def5dc1c8b24f393aef97ada53484da35189b41))
🐛 Bug Fixes
- diff.preview: use configured close mapping to quit diff panel ([#49](https://github.com/y3owk1n/time-machine.nvim/issues/49)) ([b89cd28](https://github.com/y3owk1n/time-machine.nvim/commit/b89cd2868753409d9754aff3b8c666ff1bb86948))
- ui.set_header: only show undofile path when it is readable ([#46](https://github.com/y3owk1n/time-machine.nvim/issues/46)) ([f869ee4](https://github.com/y3owk1n/time-machine.nvim/commit/f869ee4f4cd1cf5dbc4796ec5c5d287c6c018047))
- ui.set_highlights: single buf_lines call and iterate with id ([#38](https://github.com/y3owk1n/time-machine.nvim/issues/38)) ([ce5ae16](https://github.com/y3owk1n/time-machine.nvim/commit/ce5ae169ea516c7837b999d29be3fb3584630a19))
- ui: send event `tags_created` and refresh via autocmd instead of manual ([#52](https://github.com/y3owk1n/time-machine.nvim/issues/52)) ([d8a608b](https://github.com/y3owk1n/time-machine.nvim/commit/d8a608b95bf274f77155455e141f8d775aed0c53))
- ui: send event `undo` and `redo` instead of manual refresh the UI ([#51](https://github.com/y3owk1n/time-machine.nvim/issues/51)) ([13bed56](https://github.com/y3owk1n/time-machine.nvim/commit/13bed56eba390c1eb19324e74054e296cf295824))
⚡ Performance Improvements
- diff.preview_diff_external: validate executables before IO ([#42](https://github.com/y3owk1n/time-machine.nvim/issues/42)) ([4985430](https://github.com/y3owk1n/time-machine.nvim/commit/49854302ecfcbbe207407b60f77e3b51048d3db9))
- diff.read_buffer_at_seq: avoid manual window switching ([#43](https://github.com/y3owk1n/time-machine.nvim/issues/43)) ([8312dba](https://github.com/y3owk1n/time-machine.nvim/commit/8312dba1b6e74bf615a3588cb33f3cf924e13530))
- diff.write_temp: replace `vim.fn.writefile` with faster `vim.uv.fs` functions ([#44](https://github.com/y3owk1n/time-machine.nvim/issues/44)) ([ba9e42c](https://github.com/y3owk1n/time-machine.nvim/commit/ba9e42c35dc6746d6d7d2b5af3e50ca3a121b150))
- ui: cache looksup to reduce round trips ([#40](https://github.com/y3owk1n/time-machine.nvim/issues/40)) ([a86fa5e](https://github.com/y3owk1n/time-machine.nvim/commit/a86fa5e466f40b5116cfcb76fa443f2902a4fab7))
v1.2.2
🐛 Bug Fixes
- actions.purge: use `vim.ui.select` instead of `vim.fn.input` ([#32](https://github.com/y3owk1n/time-machine.nvim/issues/32)) ([f1be003](https://github.com/y3owk1n/time-machine.nvim/commit/f1be003d0fac1f7c40dafabd8659b7a6b9920729))
- actions.restore: ensure to early return if no `content_bufnr` found ([#36](https://github.com/y3owk1n/time-machine.nvim/issues/36)) ([355488e](https://github.com/y3owk1n/time-machine.nvim/commit/355488e2ec2a9511fbbf76592c6d2cf898a8d6e5))
- actions.toggle: ensure checking for time machine buf for proper toggling ([#30](https://github.com/y3owk1n/time-machine.nvim/issues/30)) ([14b7e53](https://github.com/y3owk1n/time-machine.nvim/commit/14b7e53c9d9323380a7e400a6195ce318de1db35))
- ui.set_header: check if `tags_path` actually exists before creating it's header line ([#37](https://github.com/y3owk1n/time-machine.nvim/issues/37)) ([563c755](https://github.com/y3owk1n/time-machine.nvim/commit/563c75520c60600e3ee20a3922022cbff7d03852))
- undotree.refresh_buffer_window: reorder re-attachment of refreshed buffer window ([#35](https://github.com/y3owk1n/time-machine.nvim/issues/35)) ([150bcb1](https://github.com/y3owk1n/time-machine.nvim/commit/150bcb1ae0bead71c91a62ba1669ffcb31d60938))
- undotree.remove_undo_file: do not try to refresh buffer if failed to remove undofile ([#34](https://github.com/y3owk1n/time-machine.nvim/issues/34)) ([f9dcbbe](https://github.com/y3owk1n/time-machine.nvim/commit/f9dcbbedfd064c65d68559de44873ea18e9dca01))
v1.2.1
🐛 Bug Fixes
- diff.preview_diff_external: early return and pcall on diff cmds ([#29](https://github.com/y3owk1n/time-machine.nvim/issues/29)) ([3d76354](https://github.com/y3owk1n/time-machine.nvim/commit/3d763547c358480503c998584ea88d45974a3cf3))
- healthcheck: add delta to healthcheck ([#27](https://github.com/y3owk1n/time-machine.nvim/issues/27)) ([c4fa2e1](https://github.com/y3owk1n/time-machine.nvim/commit/c4fa2e1153659e29d180cb7cd41dcf4eb0261120))
v1.2.0
✨ Features
- config: add usercmd for actions ([#22](https://github.com/y3owk1n/time-machine.nvim/issues/22)) ([d4b2d41](https://github.com/y3owk1n/time-machine.nvim/commit/d4b2d41043f0f3412615b9759c92974f5bfd759b))
- diff: add `delta` support ([#23](https://github.com/y3owk1n/time-machine.nvim/issues/23)) ([e470fad](https://github.com/y3owk1n/time-machine.nvim/commit/e470fad0b9958c30ba38e7258fdd306e9c6b9c3b))
- ui: add `undo` and `redo` keymaps ([#19](https://github.com/y3owk1n/time-machine.nvim/issues/19)) ([b2cad9d](https://github.com/y3owk1n/time-machine.nvim/commit/b2cad9dfd612c28e5095575bae413dad4cb64d8d))
🐛 Bug Fixes
- actions.toggle: skip unnamed and unlisted buffers ([#26](https://github.com/y3owk1n/time-machine.nvim/issues/26)) ([cbe4f70](https://github.com/y3owk1n/time-machine.nvim/commit/cbe4f7098573eaf5ac7dc109d29d78e3f267789d))
- ui: rename `main timeline` to `current timeline` that makes more sense ([#25](https://github.com/y3owk1n/time-machine.nvim/issues/25)) ([d1be672](https://github.com/y3owk1n/time-machine.nvim/commit/d1be672142757bdbfdc005be1248c847bacf2595))
v1.1.0
✨ Features
- config: make keymaps configurable ([#13](https://github.com/y3owk1n/time-machine.nvim/issues/13)) ([7c91087](https://github.com/y3owk1n/time-machine.nvim/commit/7c910874e82830707d538b916787bf0c07198694))
- ui: add toggleable timeline view ([#15](https://github.com/y3owk1n/time-machine.nvim/issues/15)) ([7b3c1ab](https://github.com/y3owk1n/time-machine.nvim/commit/7b3c1abcd13bab1665dd54029ce97db2e5a26995))
- ui: make float size configurable ([#17](https://github.com/y3owk1n/time-machine.nvim/issues/17)) ([96d4114](https://github.com/y3owk1n/time-machine.nvim/commit/96d411410a9cd6cb33707c94ca739b94008c64e9))
🐛 Bug Fixes
- ui: add annotation for the main timeline ([#11](https://github.com/y3owk1n/time-machine.nvim/issues/11)) ([06971b3](https://github.com/y3owk1n/time-machine.nvim/commit/06971b35858a8f849c8faac47546ed04484cc9ff))
- ui: add highlights to current timeline icon ([#9](https://github.com/y3owk1n/time-machine.nvim/issues/9)) ([500ce6f](https://github.com/y3owk1n/time-machine.nvim/commit/500ce6f7e9beb30b5efdced0b97e99002424c69d))
- ui: declutter header keymaps ui ([#12](https://github.com/y3owk1n/time-machine.nvim/issues/12)) ([c203de0](https://github.com/y3owk1n/time-machine.nvim/commit/c203de04eafa8815b4c00bbb3a789574b2d52dce))
- ui: force main timeline to always have separator ([#16](https://github.com/y3owk1n/time-machine.nvim/issues/16)) ([0588c3b](https://github.com/y3owk1n/time-machine.nvim/commit/0588c3b4249d00614ec5b09b6e44da56a169c71f))
v1.0.0
✨ Features
- add config toggle for save_on_buf_read and save_on_write ([9b9de66](https://github.com/y3owk1n/time-machine.nvim/commit/9b9de66e140ad0dfdefbc02afec6b473d7f8a643))
- add diff preview ([0f1f65c](https://github.com/y3owk1n/time-machine.nvim/commit/0f1f65c5915c82ae4f248c7aa3ac9ea36880549b))
- add diff_opts to config ([368681f](https://github.com/y3owk1n/time-machine.nvim/commit/368681f261a3c3188a14d9ddd4cbdbcc6048356a))
- add difft initial ([d1210ac](https://github.com/y3owk1n/time-machine.nvim/commit/d1210ac4e52a527a07f5833f4242ef293d49d93f))
- add healthcheck ([8f22c41](https://github.com/y3owk1n/time-machine.nvim/commit/8f22c41654540d13148f8bf2d62a081eafbeed58))
- add ignore undo for filesize ([47e0adf](https://github.com/y3owk1n/time-machine.nvim/commit/47e0adf120665faa7d800e6897348dad6cb0d5c7))
- ci: add ci action ([#5](https://github.com/y3owk1n/time-machine.nvim/issues/5)) ([f7c9a27](https://github.com/y3owk1n/time-machine.nvim/commit/f7c9a270a94b7ab404a6fea15cd675762d651158))
- ci: add release-please ([#2](https://github.com/y3owk1n/time-machine.nvim/issues/2)) ([18d8aa3](https://github.com/y3owk1n/time-machine.nvim/commit/18d8aa38428a318cd3d2ab3de91b2e3ec5423a6f))
- + 10 more
🐛 Bug Fixes
- actions: ensure tags[] are properly inserted ([830a0bf](https://github.com/y3owk1n/time-machine.nvim/commit/830a0bf8be7f13a915903a39d8aebca8893a7636))
- add configurable split opts for tree ui ([d27c243](https://github.com/y3owk1n/time-machine.nvim/commit/d27c243db203a25a9aa4e3c243f9a1c5c4fa90e6))
- add g? and keymap hints ([75132c4](https://github.com/y3owk1n/time-machine.nvim/commit/75132c443a9f4ce99c01ffed72451c5200cd4f31))
- add missing keymap to help ([4382e63](https://github.com/y3owk1n/time-machine.nvim/commit/4382e63160de89499388d372154117ecf1dd3ed2))
- add more info in snapshot list ([75bd5c6](https://github.com/y3owk1n/time-machine.nvim/commit/75bd5c696002530c2f9279d209380963ceccca34))
- add more keymaps ([6794d00](https://github.com/y3owk1n/time-machine.nvim/commit/6794d00d65ccc29024fb7f1750318bec074a0bfb))
- add persistent status ([9e6298e](https://github.com/y3owk1n/time-machine.nvim/commit/9e6298ea3d68a3490a4a78b3e8336f9ee1576bec))
- add types annotation ([0691b9a](https://github.com/y3owk1n/time-machine.nvim/commit/0691b9ad741bf13d071e91989b7f701b173bf4c8))
- + 71 more
