u/No-Razzmatazz7197

Image 1 — peeper-picker.nvim v1.1.0, peep history, revisit any symbol you looked up, upgraded navigation and more!
Image 2 — peeper-picker.nvim v1.1.0, peep history, revisit any symbol you looked up, upgraded navigation and more!
Image 3 — peeper-picker.nvim v1.1.0, peep history, revisit any symbol you looked up, upgraded navigation and more!
Image 4 — peeper-picker.nvim v1.1.0, peep history, revisit any symbol you looked up, upgraded navigation and more!
▲ 22 r/neovim

peeper-picker.nvim v1.1.0, peep history, revisit any symbol you looked up, upgraded navigation and more!

https://github.com/parwest/peeper-picker.nvim

v1.1.0 adds peek history to peeper-picker.

peek history

:PeeperPickerHistory opens a plain list of the symbols you recently peeked, newest first.

  • <CR> peeks a name again, without moving your cursor or touching your current buffer. three files deep in a refactor, you can re-check anything you looked at earlier and not lose your place
  • c clears the list (asks first), q/<Esc> close
  • one entry per name, repeat peeks move it to the top
  • session only, in memory, nothing written to disk. bounded by history_size (default 100, 0 disables)

renames

history pins each name to the spot you peeked it. peek oldName, rename it to newName, and:

  • the list still shows oldName — you never peeked newName, so it doesn't pretend you did
  • selecting oldName runs a text search for it, which returns exactly the occurrences the rename didn't touch: strings, comments, docs, files the server doesn't index
  • a name that still resolves to a live symbol runs a normal full peek

also shipped in 1.0.0

  • results grouped by file with folding: J/K jump between files, zo/zc/za/zM/zR work, <CR> on a file header collapses it
  • ? opens a key cheatsheet inside the picker
  • decl is its own tag now instead of sharing def

setup

{

  "parwest/peeper-picker.nvim",

  main = "peeper_picker",

  cmd = { "PeeperPicker", "PeeperPickerHistory" },

  opts = {},

  keys = {

    { "&lt;leader&gt;pp", "&lt;cmd&gt;PeeperPicker&lt;cr&gt;", desc = "Peeper Picker" },

    { "&lt;leader&gt;ph", "&lt;cmd&gt;PeeperPickerHistory&lt;cr&gt;", desc = "Peeper Picker History" },

  },

}

still zero external dependencies, but needs an attached LSP client.

would love any and all feedback,

thanks to everyone who has reached out with feature requests!

https://github.com/parwest/peeper-picker.nvim

u/No-Razzmatazz7197 — 3 days ago
▲ 12 r/tmux

tmux-spoony v1.3.0: step through git shas, emacs support, and a ? cheatsheet

https://github.com/parwest/tmux-spoony

tmux-spoony is (still) a copy mode helper that automagically grabs the url / path / command prompt + output block, and now, git shas!

this release adds a few bigger things since the last post:

git sha selector: s selects the git sha on the cursor line, and S jumps to the next sha below and keeps stepping through them. when you hit the last one, press S once more to wrap back to the first sha after the prompt that output them. main use case is running git log / git log --oneline and stepping through every commit hash hands-free. works with both SHA-1 and SHA-256, and it ignores plain numbers so timestamps / pids / line numbers don't get mistaken for hashes.

emacs copy-mode support: used to be vi-mode only. it now binds both copy-mode tables and works whichever one you're on (the help popup tells you which is active).

a proper help popup: press ? in copy mode and it pops a cheatsheet generated from your actual resolved keys, so it reflects any remaps, disabled keys, and derived cycle keys. it also shows the active copy-mode table and which prompt character(s) spoony is matching.

the basic flow still remains:

  1. enter copy mode with prefix + [
  2. move to the line you care about
  3. press a selector key ( u urls, p paths, m command prompt, s git sha, x full line — uppercase variants cycle/extend within the same row, and S steps down through shas )
  4. yank with your copy key (i use tmux-yank) or open with o (tested on mac and linux)

thanks to everyone who's reached out, the readme got an update with plenty of configuration info, including:

- rebind any selector key

- disable any key with `off` (restores tmux's native binding if spoony had overridden it)

- custom prompt matching via `@spoony-command-prompt-regex`, with presets for bash / zsh / fish / starship / oh-my-zsh, if you experience any mismatches against your m/M selections this is the culprit, setup your own custom regex pattern and you should be good to rock and roll.

https://github.com/parwest/tmux-spoony

u/No-Razzmatazz7197 — 14 days ago
▲ 22 r/neovim

peeper-picker.nvim v0.9.2, quickly find every definition, reference and usage of a symbol!

https://github.com/parwest/peeper-picker.nvim

the language server is great for semantic stuff, but it misses things constantly. symbols in strings, templates, prose, comments, generated code, weird project roots, plain indexing gaps. the pattern that kept burning me: run "find references," get 4 hits, refactor confidently, then discover 3 more usages the server never told me about.

peeper-picker is a small picker for the symbol under your cursor that fixes this. it runs a workspace-wide text search alongside the LSP results and folds them together. you still get the confirmed semantic hits, but you also see every literal occurrence. crucially it doesn't pretend they're all the same — each hit is tagged:

  • def — definition/declaration the lsp confirmed
  • ref — an lsp reference, or a code-looking text match the server missed
  • txt — match inside a string / template / prose
  • com — match inside a comment

text/comment matches are de-duplicated against the lsp results, so you never see the same location twice. classification is done with tree-sitter (with a comment-prefix fallback).

filtering, for when a common symbol has 200 hits

the filter menu (f) is the part that's more specialized than a generic fuzzy finder:

  • cycle scope between workspace, directory, or just the current file
  • four-way result toggle: code, references, definitions, all
  • inverted path/extension filters: a leading ! excludes, so !src/ hides everything under src, !test.js hides only your test files

other bits

  • the workspace search streams results incrementally across scheduled ticks instead of blocking on one big grep, so a huge repo or a zero-match word never freezes the editor
  • preview caches are bounded, so long browsing sessions stay light on memory
  • ignored_dirs to skip extra folders during the text search

the basics

  • :PeeperPicker to open (optional &lt;leader&gt;pp, off by default)
  • &lt;CR&gt; open, &lt;C-v&gt;/&lt;C-x&gt;/&lt;C-t&gt; vsplit/split/tab, j/k move (including 5j/4k etc...), f filters, q/&lt;Esc&gt; close
  • zero external dependencies (tree-sitter is recommended; but with no attached LSP it just tells you so and fails to launch with a warning)

the workflow is the same little idea it always was: cursor on a symbol, open the picker, see where this thing is defined and used, jump. it just doesn't lie to you about how many usages there are anymore.

would love feedback, especially on the lsp + text merge. curious whether it pushes peeper from "a little lsp peeper" into "a worse version of one of the heavy hitters," or whether the focused single-purpose window could earn a place in your vimrc.

thanks

repo: https://github.com/parwest/peeper-picker.nvim

u/No-Razzmatazz7197 — 16 days ago
▲ 7 r/tmux

tmux-spoony v1.1.0 has been released! what's new?

https://i.redd.it/ys4w4eyv2p6h1.gif

https://github.com/parwest/tmux-spoony

tmux-spoony is a powerful copy mode helper used to automagically grab the url / path or command prompt and output blocks within a pane of tmux!

the newest release tightens up smaller pane behavior and configuration flows for disabling default keys, the default matrix has grown with the addition of m/M key bindings for command prompt and output block flows.

The basic flow still remains:

  1. enter copy mode with `prefix + [`

  2. move to the line you care about

  3. press a selector key ( 'u' for urls, 'p' for paths, 'm' for command prompt and 'x' for full line, the uppercase variants of the default keys will cycle through multiple matching targets within the same row )

  4. yank with with your copy key (i use tmux-yank) or open with `o` (tested on mac and linux)

there is also a new key binding(s):

`m` selects the command after the prompt.

`M` expands that selection through the command output block until the next prompt.

what makes this plugin different than thumbs, fingers and copycat?

those plugins are better if you want to scan the pane, show matches, jump between results, or use hint labels to pick from everything visible.

spoony is intentionally narrower. it stays inside normal tmux copy-mode and uses the current cursor line as context. move to the line you care about, press a selector key, and it selects the url, path, command, or output block from there.

so it is less of a “find anything visible” tool and more of a “i am already on this line, grab the thing i mean” tool.

if you have already checked out earlier releases, feel free to send feedback! its been mentioned to setup a hint menu for the key matrix, but im not a fan of adding a bunch of visual noise, perhaps i will look into overriding the top right corner copy mode position indicator with a key map but it could get lengthy.

feel free to recommend any changes or mention any issues you may have experienced!

thanks
https://github.com/parwest/tmux-spoony

reddit.com
u/No-Razzmatazz7197 — 25 days ago

what terminal emulator/browser do you use?

I started with Eclipse as an ide in 2018 ish, then got a new position on a javascript/typescript team and saw what a terminal only workflow could look like while watching a senior dev and fell in love.

since then, i used the macos default terminal and chrome without thinking twice about it, i was let go from my last job earlier this year and have spent way too much time configuring my setup. I have tried iterm2, ghostty and even tried to vibe code some built in terminal setup through the gui app macvim.

and for browsers, i have always had all of the big ones installed: chrome, firefox, edge and safari for testing purposes but i got obsessed with reducing the resource usage for it. i had read that firefox developer edition was the cheapest and i have been using it daily for a while but with cache growth it still is just as bad as chrome - probably a sign that modern day web development is screwed but thats a different topic.

what have i learned? nothing. absolutely nothing, it was all an incredible way to waste my time.

so my question is, what is your terminal emulator/browser setup, and why?

reddit.com
u/No-Razzmatazz7197 — 29 days ago
▲ 15 r/neovim

peeper-picker.nvim: a dedicated LSP "peeper" for definitions and usage

https://github.com/parwest/peeper-picker.nvim

check out the latest plugin i made for nvim: peeper-picker.nvim!

the plugin opens a small LSP picker for the symbol under your cursor. it shows definitions, declarations, and references together with a preview, then lets you jump to the one you actually wanted.

https://preview.redd.it/l81zuov8te4h1.png?width=1545&format=png&auto=webp&s=ff1855272dcc9beb6a00309269d5718bc680f9bb

how to open:

:PeeperPicker

optional default keymap:

&lt;leader&gt;pp

the default keymap is off unless you enable it, since people tend to be particular about their leader maps...

basic key matrix:

<CR> = open selected result

<C-v> = open in vertical split

<C-x> = open in horizontal split

<C-t> = open in new tab

j / k = move selection

f = open filters

q / <Esc> = close

the filter menu (f) is where it gets a bit more specialized than a standard fuzzy finder. you can:

- cycle the scope between workspace, directory, or just the current file.

- filter by 'kind' to show only definitions or only references.

- narrow things down by path text or file extension.

https://preview.redd.it/cnn8pqdgte4h1.png?width=1483&format=png&auto=webp&s=ecdb59de7937576b361e1d245b04af4bee2b1661

it's built for those times when a common symbol has 200 results and you just need to find the one usage in a specific directory.

this is kind of redoing one tiny slice of telescope in its own way. telescope can already do definitions, references, etc, but i wanted one focused view that asks the LSP for all of the symbol locations at once and keeps the preview/results/filtering in a small purpose-built window.

the workflow i wanted was basically: cursor on symbol, open picker, see “where is this thing defined and used?”, jump. no telescope dependency, no general fuzzy finder surface, just a little LSP peeper.

yes, this is arguably useless, but i also decided to release another arguably useless tmux plugin called tmux-spoony, check it out here!

feel free to leave any feedback/issues you may see, thanks!

repo:

https://github.com/parwest/peeper-picker.nvim

reddit.com
u/No-Razzmatazz7197 — 1 month ago
▲ 21 r/tmux

tmux-spoony: a plugin to help highlight text in copy-mode

I made a tiny tmux plugin: tmux-spoony

the plugin reads what line your cursor is on and highlights the targeted string

key matrix:

u = URL on current line

p = path on current line

m = command after prompt ($, #, > are setup for the regex, you can edit this though)

x = whole line

o = open selection (mac only at the moment, there is logic for linux's 'xdg-open' but i haven't tested it yet.)

workflow:

  1. prefix + [
  2. move to a line
  3. press u / p / m / x
  4. copy (y) or open (o)

should pair with tmux-open across different operating systems, the built-in 'o' command is explictly for mac at the moment

feel free to leave any feedback/issues you may see, thanks!

repo:

https://github.com/parwest/tmux-spoony

https://reddit.com/link/1trrfjs/video/9ea7xx3gs74h1/player

reddit.com
u/No-Razzmatazz7197 — 1 month ago