Skip to content

theirongolddev/jjrg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jjrg

Fast and fuzzy search through your jj diffs

Search jj (Jujutsu) diffs with ripgrep in Neovim.

Features

  • test
  • Search through jj diff output using ripgrep patterns
  • Live search with telescope.nvim or snacks.nvim
  • Preview diff context for each match
  • Jump to files from search results
  • Quickfix fallback when no picker is available

Requirements

  • Neovim >= 0.9.0
  • jj installed and in PATH
  • ripgrep installed and in PATH

Optional:

  • telescope.nvim for fuzzy picker
  • snacks.nvim for fuzzy picker

Installation

lazy.nvim

{
  "username/jjrg",
  dependencies = {
    "nvim-telescope/telescope.nvim", -- optional
    -- or
    "folke/snacks.nvim", -- optional
  },
  config = function()
    require("jjrg").setup()
  end,
  keys = {
    { "<leader>jj", "<cmd>Jjrg<cr>", desc = "Search jj diff" },
    { "<leader>jd", "<cmd>JjrgDiff<cr>", desc = "Show jj diff" },
  },
}

Usage

Commands

Command Description
:Jjrg Open live search picker
:JjrgSearch <pattern> Search for pattern in jj diff
:JjrgDiff Show full jj diff in a buffer
:JjrgTelescope Force Telescope picker
:JjrgSnacks Force Snacks picker

Lua API

local jjrg = require("jjrg")

-- Live search picker
jjrg.live()

-- Search for a pattern
jjrg.search("pattern")

-- Show diff in buffer
jjrg.show_diff()

Configuration

require("jjrg").setup({
  -- Additional ripgrep arguments
  rg_args = { "--color=never", "--no-heading", "--with-filename", "--line-number" },

  -- Additional jj diff arguments
  jj_args = {},

  -- Use telescope picker if available
  use_telescope = true,

  -- Use snacks.nvim picker if available (takes priority)
  use_snacks = true,

  -- Auto-open quickfix after search (fallback)
  quickfix_open = true,
})

Running Tests

nvim --headless -u tests/minimal_init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/minimal_init.lua'}"

License

MIT

About

Search jj (Jujutsu) diffs with ripgrep in Neovim

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages