Commit Graph
2 Commits
Author SHA1 Message Date
swaits fe55601ce5 refactor: fuse search passes, simplify state, fix double-setup leak
- Fuse search() and available_labels() into a single scan() pass.
  Drops the line_index bookkeeping field on match records and one
  full traversal of the visible buffer.
- Replace the separate LABELS array with direct indexing into
  M.config.labels (a string, ~26 ASCII chars). One less parallel
  data structure; no fn.split at setup, no bottom-of-file auto-setup
  call needed.
- Label picker switched from nested O(M*L) scan to an O(M+L) cursor
  walk. No more double-duty 'avail' set acting as both conflict-set
  and consumed-label marker.
- Termcode constants consolidated into a K = { ... } table using
  vim.keycode.
- Normalize module state: CONFIG -> M.config.
- Collapse 'if opts then extend end' to 'opts or {}'.
- Fix: hoist create_augroup out of the table-valued label branch so
  a second setup() call with a string label clears any stale autocmd
  from a prior table-valued call.
- Drop redundant '#line > 0' guard in scan (string.find handles
  empty lines correctly).

Net: 186 -> 148 lines. Public API unchanged.
2026-04-13 19:58:38 -06:00
swaits e5c574ca3d initial commit: fork of yorickpeterse/nvim-jump
Fork of https://github.com/yorickpeterse/nvim-jump (MPL-2.0) with one
addition: `label` accepts a table of nvim_set_hl attributes in
addition to a group name, and the plugin re-applies it on ColorScheme.

Upstream declined the feature as out of scope (the project is
considered feature-complete), so it lives here instead. Credit for the
core implementation goes to Yorick Peterse.

Changes relative to upstream:
- Module renamed 'jump' -> 'tiny-jump'
- Namespace and augroup renamed accordingly
- Internal managed highlight group renamed 'JumpLabel' -> 'TinyJumpLabel'
- Default `label` changed from 'FlashLabel' to 'IncSearch' (no longer
  catering to flash.nvim migration)
- README rewritten
2026-04-13 19:55:16 -06:00