Commit Graph
40 Commits
Author SHA1 Message Date
NicolasGB f06b23326e refactor: Restructure keymaps and event handlers into centralized config-driven system
- Add M.setup() to cmd module for configuration
    - Move describe editor config to M.config.describe.editor with nested structure
    - Add keymaps config with separate log, status, and close sections
    - Implement resolve_keymaps_from_specs() helper to build keymap lists from config
    - Extract editor.open_editor() keymaps parameter support
    - Move status/log event handlers from terminal.lua to cmd.lua
    - Convert log/status buffer keymaps to config-driven approach with handler specs
2025-11-23 16:34:42 +01:00
NicolasGB f0cfb459bd refactor: create a new buffer module to centralize buffer operation logic 2025-11-23 16:34:42 +01:00
NicolasGB e545d02ceb refactor: restructure the whole plugin following a better separation of concers 2025-11-23 16:34:42 +01:00
NicolasGB f6982a7716 fix: split with the same logic as the editor 2025-11-23 16:34:42 +01:00
Nicolas GBandGitHub d385501067 fix: Improve default command parsing logic and allow for toml array definition. (#37) 2025-11-20 13:21:15 +01:00
Sivansh GuptaandGitHub 3f6049b17c feat: D to describe a change in log buffer (#23) 2025-11-20 10:03:06 +01:00
SpiegieandGitHub 9446ad8f69 Feat: edit mutable changes in log buffer (#30) 2025-11-19 16:21:37 +01:00
NicolasGB 9d39e74ce5 fix: update clearing buffer, this makes the plugin work again on nightly 2025-11-18 17:21:29 +01:00
NicolasGB 84ba77a8fc fix(log): Add u/r keymaps for undoing and redoing operations on log buffer. 2025-11-18 14:33:16 +01:00
NicolasGB 10c9a07ad7 Refactor M.j() command dispatch to use handler table
- Replace nested if/elseif chains with dispatch table for cleaner pattern matching
- Store remaining_args_str to avoid repeated table.concat() calls
- Simplify whitespace trimming using vim.trim() instead of gsub patterns
- Add state.buf_cmd tracking to store subcommand on successful execution for conditional UI refreshes
- Clean up state on buffer close and execution failure
- Add conditional log refresh for squash(), undo(), and redo() when log buffer is active
- Fix type annotations for nil handling
2025-11-18 14:04:21 +01:00
NicolasGB e0370ad0ca feat: Make undo/redo native 2025-11-18 14:04:21 +01:00
NicolasGB af6dbbc3a7 fix(cmd): Improve default command parsing logic, to allow for builtin functionalities to be used 2025-11-18 14:00:34 +01:00
NicolasGB b41812e0f8 feat(cmd): enhance log new handling with after/ignore-immutable 2025-11-18 14:00:34 +01:00
NicolasGB c3aba8f35f feat(log): Add n keybinding to create commits after the revision under the cursor 2025-11-18 14:00:34 +01:00
NicolasGB 9ef710390b feat(log): add conflict symbol × (U+00D7) to revision parser 2025-11-12 14:10:21 +01:00
NicolasGB a33cbba40f refactor(diff): Improve api with lua types and more flexibility 2025-10-31 14:50:43 +01:00
NicolasGB f0915d415d fix(diff): Apply filetype to new buffer to maintain syntax highlighting 2025-10-30 10:07:53 +01:00
Lars HansenandGitHub 775c9a57cc Add diff split (#13) 2025-10-29 11:44:36 +01:00
NicolasGB 756ad1da4a fix(describe): Handle "C" case status in files 2025-10-28 09:45:08 +01:00
Eric BowerandGitHub 84b53215b3 feat: :J desc short hand for describe (#12) 2025-10-23 09:02:25 +02:00
Shardul BaralandGitHub 5ae139d055 Fix initialization/cleanup of buffer-specific hotkeys (#10) 2025-10-21 09:25:50 +02:00
NicolasGB d828009198 feat(bookmark): Allow creating and deleting bookmarks natively 2025-10-14 16:22:08 +02:00
NicolasGB fb43a3f33d fix: Move a helper function to the utils file 2025-10-02 10:20:36 +02:00
ea4fa1ff06 Change the :J describe behaviour to open an editable buffer instead of an input box (#6)
Co-authored-by: fautore <fautore@protonmail.com>
2025-10-02 09:43:04 +02:00
NicolasGB b8eb856228 fix: Use show command instead of diff on log panel 2025-07-15 11:13:03 +02:00
Brad ShermanandGitHub 2d6df945d7 feat: jj rebase command (#3) 2025-07-15 10:21:24 +02:00
NicolasGB 1fa03217f1 feat: Add d keybind in log output to diff a change on a floating window 2025-07-08 18:28:07 +02:00
Dragoș StrăinuandGitHub 5d3e56da81 feat: use X keybind to restore a file from jj status (#2) 2025-07-08 17:28:05 +02:00
NicolasGB c474bc63f2 feat(log): Pressing "Enter" on mutable log lines runs jj edit to seamlessly navigate repisotory commit history 2025-07-08 12:15:20 +02:00
NicolasGB b6def1df67 feat(picker): Add file history picker 2025-07-03 21:46:24 +02:00
NicolasGB 5aaf396b70 fix: remove debug notification 2025-07-03 19:07:21 +02:00
NicolasGB 59c0750437 feat(diff): Add options to diff command to allow diffing only current buffer 2025-07-03 19:04:00 +02:00
NicolasGB 4dd51c5ba9 fix: Handle correctly renamed files when openning from status command 2025-07-03 17:48:55 +02:00
Dragoș StrăinuandGitHub d699a3dc72 feat: open file from jj status in buffer above (#1) 2025-07-03 17:44:42 +02:00
NicolasGB 854ee40ce0 feat(new): Allow passing arguments to through the cli and add better UX flow on lua api 2025-07-02 18:12:26 +02:00
NicolasGB b258574092 feat(picker): Add a snacks picker with jj status command 2025-06-30 17:42:54 +02:00
NicolasGB e43c665441 refactor: Expose a j function to allow the user to call custom subcommands through lua api 2025-06-27 18:56:12 +02:00
NicolasGB e5e026c397 refactor: Rework the state management to avoid getting [terminal closed] when chaining multiple commands 2025-06-27 18:09:25 +02:00
NicolasGB 755caddcb2 feat(cmd): Improve describe command by showing and hiding jj st while typing` 2025-06-27 13:56:46 +02:00
NicolasGB 5df7f4f0e5 feat: Initial commit with basic commands and first functionalities 2025-06-24 17:57:55 +02:00