Commit Graph

46 Commits

Author SHA1 Message Date
Dmitriy Kovalenko d2e3993398 feat: cross-compile for android (! for termux users) (#264)
* feat: cross-compile for android (! for termux users)

* chore: Update docs for - feat: cross-compile for android (! for termux users)
2026-02-27 20:57:35 -08:00
Italo Silva 0a993d7a30 feat!: Make layout flex on small screens & responsive (#255)
* feat: Add `flex` option for preview

* chore: Update docs for - feat: Add `flex` option for preview

* feat: Recalculate layout on resize

---------

Co-authored-by: Dmitriy Kovalenko <dmtr.kovalenko@outlook.com>
2026-02-25 18:36:20 -08:00
Dmitriy Kovalenko 7c2d46f1e2 chore: Upgrade every used neovim deprecated lua apis (#261)
* chore: Do not use any neovim deprecated apis

* chore: Update docs for - chore: Do not use any neovim deprecated apis
2026-02-25 17:44:13 -08:00
Dmitriy Kovalenko c3ed9fb17b fix: Binary download integrity issues (#260)
* feat: cleanup hl groups resolution (#259)

* feat: cleanup hl groups resolution

* chore: Update docs for - feat: cleanup hl groups resolution

* chore: Update docs for - feat: cleanup hl groups resolution (#259)

* feat: cleanup hl groups resolution (#259)

* feat: cleanup hl groups resolution

* chore: Update docs for - feat: cleanup hl groups resolution
2026-02-24 17:32:10 -08:00
Dmitriy Kovalenko 0f40c66eb7 feat: cleanup hl groups resolution (#259)
* feat: cleanup hl groups resolution

* chore: Update docs for - feat: cleanup hl groups resolution
2026-02-24 09:54:24 -08:00
Dmitriy Kovalenko 727935ede6 fix: Macos background watcher memory usage (#251)
* fix: Macos background watcher memory usage

closes https://github.com/dmtrKovalenko/fff.nvim/issues/239

Fixes a memory leak of the backgorund watcher on macos when the internal
fsevents buffer is droping certain elements

* chore: Update docs for - fix: Macos background watcher memory usage
2026-02-19 18:10:59 -08:00
Dmitriy Kovalenko 9a2612b1b5 feat: Grep perfromance and stability improvements (#235)
* feat: Allow many fff consumers over ffi

* parallize grep

* chore: Update docs for - parallize grep
2026-02-19 15:59:23 -08:00
Dmitriy Kovalenko 434344f6e9 feat: Prebuilt binaries for bun (#234)
* feat: Prebuilt binaries for bun

* chore: Update docs for - feat: Prebuilt binaries for bun
2026-02-16 20:10:48 -08:00
Dmitriy Kovalenko 29e13ac3d4 feat: Live grep (#231)
* feat: Live grep

* chore: Update docs for - feat: Live grep

* chore: Update docs for - chore: Update docs for - feat: Live grep

* fix formatting

* chore: Update docs for - fix formatting
2026-02-15 21:42:42 -08:00
Dmitriy Kovalenko 00019beb0c feat: Query parsing (HUGE THING READ CHANGELOG) (#224)
* query parsing

* chore: Update docs for - query parsing

* query parsing

* Bun ffi

* chore: Update docs for - Bun ffi

* fix cross + zig relation

* chore: Update docs for - fix cross + zig relation

* skip windows build

* publish the release

* window

* correct linking for windows dll cdylib

* chore: Update docs for - correct linking for windows dll cdylib

* feat: Add aarch64 windows target

* improve ffi str allocation

* fix aarch windows

* fix nix

* improve allocations

* chore: Update docs for - improve allocations

* fix style
2026-02-11 23:58:11 -08:00
Dmitriy Kovalenko d7bc72786d feat: Advanced path shortening strategies (#222)
* feat: Advanced path shortening strategies

Implements a lot of differnet path displaying shorting strategies. Now
you will see paths like path/.4./next_path and it is configurable

## New strategies

- middle: "some/path/./next/path", "some/path/../next/path" showing max
3 dots in the middle
- middle_number: same as middle but starting from the 4 paths skipped
  shows the number of skipped components
- end: preserves the start of the paths but truncaates not fitting end

* chore: Update docs for - feat: Advanced path shortening strategies
2026-02-07 13:08:14 -08:00
Dmitriy Kovalenko ca4c32d364 fix: show_file_info option will work not and moved under debug (#210)
* fix: show_file_info option will work not and moved under debug

closes https://github.com/dmtrKovalenko/fff.nvim/issues/207

* chore: Update docs for - fix: show_file_info option will work not and moved under debug
2026-01-08 19:38:00 -08:00
Dmitriy Kovalenko 2951756ae3 fix: Restore scroll position after last match result showing (#204)
* fix: Scroll position after last match result showing

* chore: Update docs for - fix: Scroll position after last match result showing

* fix: Scroll position after last match result showing
2025-12-18 17:17:01 -08:00
Dmitriy Kovalenko abfa5d0ef7 feat: Add config param for git based filename highlighting (#202)
* feat: Add config param for git based filename highlighting

* chore: Update docs for - feat: Add config param for git based filename highlighting
2025-12-16 17:34:27 -08:00
ohbentos 3c76ba523f feat: add ratio-based row/col positioning with centered defaults (#171) 2025-10-17 17:03:07 -07:00
Dmitriy Kovalenko 51f32597de feat: Location input for picker + open_file_under_cursor (#173) 2025-10-17 09:59:33 -07:00
莊加旭 (Max Chuang) 2df06289c9 fix: fix cpath component on windows (#166)
closes https://github.com/dmtrKovalenko/fff.nvim/issues/164
2025-10-07 15:56:35 -07:00
Dmitriy Kovalenko 61081a55ca chore: Do not autopush vimdocs to main (#158)
* chore: Do not autopush vimdocs to main

* chore: Do not autopush main
2025-09-17 03:34:09 -07:00
github-actions[bot] 3a803c40ed chore: autgenerate vimdoc 2025-09-16 17:12:36 +00:00
github-actions[bot] cac2ec7130 chore: autgenerate vimdoc 2025-09-16 16:53:11 +00:00
github-actions[bot] 7cdc71d5a1 chore: autgenerate vimdoc
Release / Release (push) Has been cancelled
Release / Build aarch64-apple-darwin (push) Has been cancelled
Release / Build aarch64-linux-android (push) Has been cancelled
Release / Build aarch64-unknown-linux-gnu (push) Has been cancelled
Release / Build aarch64-unknown-linux-musl (push) Has been cancelled
Release / Build x86_64-apple-darwin (push) Has been cancelled
Release / Build x86_64-pc-windows-msvc (push) Has been cancelled
Release / Build x86_64-unknown-linux-gnu (push) Has been cancelled
Release / Build x86_64-unknown-linux-musl (push) Has been cancelled
2025-09-09 10:25:03 +00:00
github-actions[bot] 56ea1404f1 chore: autgenerate vimdoc 2025-09-03 16:00:43 +00:00
github-actions[bot] ac7cd106b3 chore: autgenerate vimdoc 2025-09-02 17:22:52 +00:00
github-actions[bot] 381992457b chore: autgenerate vimdoc 2025-09-01 10:49:54 +00:00
github-actions[bot] 61c3cc7420 chore: autgenerate vimdoc 2025-08-31 07:54:08 +00:00
github-actions[bot] 25dfbd2ffd chore: autgenerate vimdoc 2025-08-25 14:38:24 +00:00
github-actions[bot] 84a8ebc230 chore: autgenerate vimdoc 2025-08-24 16:34:08 +00:00
github-actions[bot] 601b150eee chore: autgenerate vimdoc 2025-08-24 16:21:02 +00:00
github-actions[bot] 13e1383ffd chore: autgenerate vimdoc 2025-08-23 18:37:27 +00:00
github-actions[bot] e6e58f91d2 chore: autgenerate vimdoc 2025-08-18 05:54:01 +00:00
github-actions[bot] ad12110ded chore: autgenerate vimdoc 2025-08-17 15:20:55 +00:00
Oskar Grunning 7c8a941001 feat: flexible layout customization with dynamic positioning (#69)
* feat: implement prompt_position layout configuration

Allows users to position the input prompt at 'top' or 'bottom' of the picker window.
When prompt is at top, best matches appear at the top (closest to prompt).
When prompt is at bottom (default), best matches appear at the bottom.

- Add prompt_position config option with validation
- Adapt list rendering order based on prompt position
- Fix cursor navigation to work correctly with both layouts
- Optimize array reversal for better performance
- Extract helper function to reduce code duplication

* feat: restructure configuration with layout object

Move width/height into layout namespace for better organization.
Adds max_threads field and reorganizes config hierarchy to be
more intuitive and extensible.

BREAKING CHANGE: config.width/height moved to config.layout.width/height

* feat: implement flexible configuration deprecation system

Replace hardcoded deprecation handling with rule-based system
for easier maintenance. Each deprecation is now defined as a
simple rule with old_path, new_path, and message.

Enables easy addition of future config deprecations without
touching core migration logic.

* refactor: extract config resolution utilities to improve maintainability

Replace repetitive inline pcall functions with centralized utilities in fff.utils.
Eliminates code duplication and improves error handling consistency across
dynamic configuration resolution.

* feat: add flexible configuration deprecation system

Implement structured deprecation rules for configuration migration,
enabling smooth transition from legacy config options while maintaining
backward compatibility and clear user warnings.

* docs: update documentation for comprehensive layout positioning

Document all supported preview positions (left, right, top, bottom) and
preview_size parameter, removing outdated limitation claims and ensuring
configuration examples match current capabilities.

* docs: add comprehensive documentation for all configuration options

Document complete configuration API including dynamic functions, all preview
settings, logging, frecency, UI options, and automatic migration system.
Ensures users understand both static and responsive configuration patterns.

* style: align comments in documentation for improved readability

Standardize comment alignment across configuration examples in README.md
and doc/fff.nvim.txt to create consistent visual structure and make
configuration options easier to scan and understand.

* style: comprehensively align all comments in documentation

Standardize comment alignment across all code blocks in both README.md
and doc/fff.nvim.txt including configuration examples, method calls,
and keymap examples for consistent visual structure and readability.

* style: align comment formatting in documentation

Standardize comment alignment for better readability and consistency
across README and generated vimdoc files.

* chore: run stylua

* fix(ui): standardize layout coordinate calculations across preview positions

Resolves inconsistent window positioning that caused preview windows to be
misaligned or hidden in certain layout combinations (e.g., prompt_position='top'
with preview_position='bottom'). Standardizes the coordinate calculation logic
to ensure proper alignment and separation between windows for all four preview
positions while maintaining the original +3 border/separator spacing.

* feat: move prompt position handling to Rust layer

* chore: run cargo fmt

* fix: correct item selection when prompt position is bottom

Fixes cursor positioning calculation to properly highlight the selected
item when using bottom prompt layout. The cursor line calculation now
accounts for the inverted display order in bottom mode.

* WIP: fix sorting

* feat: Fix ordering logic

* fix configuration

* stylua

---------

Co-authored-by: Dmitriy Kovalenko <dmtr.kovalenko@outlook.com>
2025-08-17 08:20:39 -07:00
github-actions[bot] 16b69da3b7 chore: autgenerate vimdoc 2025-08-13 21:11:25 +00:00
github-actions[bot] b0edf2a0d1 chore: autgenerate vimdoc 2025-08-12 20:26:10 +00:00
github-actions[bot] 3396c03f4a chore: autgenerate vimdoc 2025-08-11 21:51:18 +00:00
github-actions[bot] 8ce96885b4 chore: autgenerate vimdoc 2025-08-10 16:16:27 +00:00
github-actions[bot] 3fd35a40fa chore: autgenerate vimdoc 2025-08-05 06:54:41 +00:00
github-actions[bot] 7fffe4f670 chore: autgenerate vimdoc 2025-08-04 07:30:02 +00:00
github-actions[bot] cdd38155fc chore: autgenerate vimdoc 2025-08-03 12:43:10 +00:00
github-actions[bot] f4a5692c43 chore: autgenerate vimdoc 2025-08-03 05:04:26 +00:00
github-actions[bot] 5607e61ef7 chore: autgenerate vimdoc 2025-08-02 21:13:59 +00:00
github-actions[bot] a75fe334db chore: autgenerate vimdoc 2025-08-02 20:52:05 +00:00
github-actions[bot] 4a809a0f04 chore: autgenerate vimdoc 2025-08-02 19:58:19 +00:00
github-actions[bot] 6e922e4c3a chore: autgenerate vimdoc 2025-08-02 19:55:16 +00:00
github-actions[bot] aa01b4bd26 chore: autgenerate vimdoc 2025-08-02 00:31:28 +00:00
github-actions[bot] 0df8e15388 chore: autgenerate vimdoc 2025-08-01 23:08:38 +00:00