From 173299be5e3ddde2d6bdeb4abf658afb38f6d76720eefc0945211973c8880669 Mon Sep 17 00:00:00 2001 From: OBS User smolsheep Date: Mon, 8 Jul 2024 14:23:15 +0000 Subject: [PATCH] - Add new "v" prefix to tag in URL - Update to 0.54.0: * Implemented line wrap of long items * Updated shell integration scripts to leverage line wrap * Added --info-command option for customizing the info line * Pointer and marker signs can be set to empty strings * Better cache management and improved rendering for --tail * Improved --sync behavior: When --sync is provided, fzf will not render the interface until the initial filtering and the associated actions (bound to any of start, load, result, or focus) are complete. * GET endpoint is now available from execute and transform actions (it used to timeout due to lock conflict) * Added offset-middle action to place the current item is in the middle of the screen * fzf will not start the initial reader when reload or reload-sync is bound to start event. fzf < /dev/null or : | fzf are no longer required and extraneous load event will not fire due to the empty list. * Fixed crash when using --tiebreak=end with very long items * zsh 5.0 compatibility * Fixed --walker-skip to also skip symlinks to directories * Fixed result event not fired when input stream is not complete * New tags will have v prefix OBS-URL: https://build.opensuse.org/package/show/utilities/fzf?expand=0&rev=120 --- .gitattributes | 23 + .gitignore | 1 + _service | 7 + fzf-0.53.0.tar.gz | 3 + fzf-0.54.0.tar.gz | 3 + fzf.changes | 1130 +++++++++++++++++++++++++++++++++++++++++++++ fzf.spec | 199 ++++++++ vendor.tar.zst | 3 + 8 files changed, 1369 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _service create mode 100644 fzf-0.53.0.tar.gz create mode 100644 fzf-0.54.0.tar.gz create mode 100644 fzf.changes create mode 100644 fzf.spec create mode 100644 vendor.tar.zst diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..a62eb03 --- /dev/null +++ b/_service @@ -0,0 +1,7 @@ + + + + zst + + + diff --git a/fzf-0.53.0.tar.gz b/fzf-0.53.0.tar.gz new file mode 100644 index 0000000..75c3796 --- /dev/null +++ b/fzf-0.53.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d45abbfb64f21913c633d46818d9d3eb3d7ebc7e94bd16f45941958aa5480e1d +size 286797 diff --git a/fzf-0.54.0.tar.gz b/fzf-0.54.0.tar.gz new file mode 100644 index 0000000..c840adc --- /dev/null +++ b/fzf-0.54.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce658b153254e25cf4244365d639cf3ac5b91230a20f76bd6845d88e1267a2db +size 291944 diff --git a/fzf.changes b/fzf.changes new file mode 100644 index 0000000..2d5a330 --- /dev/null +++ b/fzf.changes @@ -0,0 +1,1130 @@ +------------------------------------------------------------------- +Mon Jul 8 14:09:41 UTC 2024 - Joshua Smith + +- Add new "v" prefix to tag in URL +- Update to 0.54.0: + * Implemented line wrap of long items + * Updated shell integration scripts to leverage line wrap + * Added --info-command option for customizing the info line + * Pointer and marker signs can be set to empty strings + * Better cache management and improved rendering for --tail + * Improved --sync behavior: When --sync is provided, fzf will not + render the interface until the initial filtering and the + associated actions (bound to any of start, load, result, or + focus) are complete. + * GET endpoint is now available from execute and transform + actions (it used to timeout due to lock conflict) + * Added offset-middle action to place the current item is in the + middle of the screen + * fzf will not start the initial reader when reload or + reload-sync is bound to start event. fzf < /dev/null or : | fzf + are no longer required and extraneous load event will not fire + due to the empty list. + * Fixed crash when using --tiebreak=end with very long items + * zsh 5.0 compatibility + * Fixed --walker-skip to also skip symlinks to directories + * Fixed result event not fired when input stream is not complete + * New tags will have v prefix + +------------------------------------------------------------------- +Thu Jun 6 13:47:28 UTC 2024 - Joshua Smith + +- Update to 0.53.0: + * fzf can now display multi-line items. To disable multi-line + display, use --no-multi-line + * CTRL-R bindings of bash, zsh, and fish have been updated to + leverage multi-line display + * The default --pointer and --marker have been changed from > to + Unicode bar characters as they look better with multi-line + items + * Added --marker-multi-line to customize the select marker for + multi-line entries with the default set to ╻┃╹ + * Added --tmux option to replace fzf-tmux script and simplify + distribution + * Added support for endless input streams. Added --tail=NUM + option to limit the number of items to keep in memory. This is + useful when you want to browse an endless stream of data (e.g. + log stream) with fzf while limiting memory usage. + * man page is now embedded in the binary; fzf --man to see it + * Changed the default --scroll-off to 3, as we think it's a + better default + * Process started by execute action now directly writes to and + reads from /dev/tty. Manual /dev/tty redirection for + interactive programs is no longer required. + * Added print(...) action to queue an arbitrary string to be + printed on exit. This was mainly added to work around the + limitation of --expect where it's not compatible with --bind on + the same key and it would ignore other actions bound to it. + * NO_COLOR environment variable is now respected. If the variable + is set, fzf defaults to --no-color unless otherwise specified. + +------------------------------------------------------------------- +Tue May 7 15:55:13 UTC 2024 - Joshua Smith + +- Update to 0.52.0: + * Added --highlight-line to highlight the whole current line (à + la set cursorline of Vim) + * Added color names for selected lines: selected-fg, selected-bg, + and selected-hl + * Added click-header event that is triggered when the header + section is clicked. When the event is triggered, + $FZF_CLICK_HEADER_COLUMN and $FZF_CLICK_HEADER_LINE are set. + * Add $FZF_COMPLETION_{DIR,PATH}_OPTS for separately + customizing the behavior of fuzzy completion + * Bug fixes and improvements + * The code was heavily refactored to allow using fzf as a library + in Go programs. The API is still experimental and subject to + change. + +------------------------------------------------------------------- +Wed May 1 10:57:38 UTC 2024 - Matej Cepl + +- Update to 0.51.0: + - Added a new environment variable $FZF_POS exported to the + child processes. It's the vertical position of the cursor in + the list starting from 1. + # Toggle selection to the top or to the bottom + seq 30 | fzf --multi --bind 'load:pos(10)' \ + --bind 'shift-up:transform:for _ in $(seq $FZF_POS $FZF_MATCH_COUNT); do echo -n +toggle+up; done' \ + --bind 'shift-down:transform:for _ in $(seq 1 $FZF_POS); do echo -n +toggle+down; done' + - Added --with-shell option to start child processes with a + custom shell command and flags + gem list | fzf --with-shell 'ruby -e' \ + --preview 'pp Gem::Specification.find_by_name({1})' \ + --bind 'ctrl-o:execute-silent: + spec = Gem::Specification.find_by_name({1}) + [spec.homepage, *spec.metadata.filter { _1.end_with?("uri") }.values].uniq.each do + system "open", _1 + end + ' + - Added change-multi action for dynamically changing --multi option + change-multi - enable multi-select mode with no limit + change-multi(NUM) - enable multi-select mode with a limit + change-multi(0) - disable multi-select mode + - Bug fixes and improvements + +------------------------------------------------------------------- +Wed Apr 24 10:21:09 UTC 2024 - Matej Cepl + +- Rearranging and renaming shell-related subpackages (reaction to + the discussion gh#akinomyoga/ble.sh$441 and + https://github.com/junegunn/fzf?tab=readme-ov-file#setting-up-shell-integration). +- Shell subpackages should be Enahncing (not Supplementing) fzf. + +------------------------------------------------------------------- +Sun Apr 14 17:27:27 UTC 2024 - Matej Cepl + +- Update to version 0.50.0: + - Search performance optimization. You can observe 50%+ + improvement in some scenarios. + - Added jump and jump-cancel events that are triggered when + leaving jump mode + - Added a new environment variable $FZF_KEY exported to the + child processes. It's the name of the last key pressed. + - fzf can be built with profiling options. See BUILD.md for + more information. + - Bug fixes + +------------------------------------------------------------------- +Thu Apr 4 19:01:56 UTC 2024 - Joshua Smith + +- Update to version 0.49.0: + * Ingestion performance improved by around 40% (more or less + depending on options) + * --info=hidden and --info=inline-right will no longer hide the + horizontal separator by default. This gives you more + flexibility in customizing the layout. + * Added two environment variables exported to the child + processes. FZF_PREVIEW_LABEL and FZF_BORDER_LABEL. + * Renamed track action to track-current to highlight the + difference between the global tracking state set by --track and + a one-off tracking action. track is still available as an + alias. + * Added untrack-current and toggle-track-current actions + * Bug fixes and minor improvements + +------------------------------------------------------------------- +Mon Apr 1 21:34:56 UTC 2024 - Matej Cepl + +- Revendor + +------------------------------------------------------------------- +Sun Mar 17 13:26:10 UTC 2024 - Joshua Smith + +- Update to version 0.48.1: + * CTRL-T and ALT-C bindings can be disabled by setting + FZF_CTRL_T_COMMAND and FZF_ALT_C_COMMAND to empty strings + respectively when sourcing the script + * Bug fixes + +------------------------------------------------------------------- +Thu Mar 14 16:47:09 UTC 2024 - Joshua Smith + +- Switch to generated shell integration scripts + +------------------------------------------------------------------- +Wed Mar 13 17:37:01 UTC 2024 - Joshua Smith + +- Update to version 0.48.0: + * Shell integration scripts are now embedded in the fzf binary. + This simplifies the distribution, and the users are less likely + to have problems caused by using incompatible scripts and + binaries. + * Added options for customizing the behavior of the built-in + walker + * Shell integration scripts have been updated to use the built-in + walker with these new options and they are now much faster out + of the box. + +------------------------------------------------------------------- +Sun Mar 10 19:38:03 UTC 2024 - Joshua Smith + +- Update to version 0.47.0: + * Replaced default find command with built-in directory walker + to simplify the code and to achieve better performance. This + doesn't affect you if you have $FZF_DEFAULT_COMMAND set. + * Added $FZF_DEFAULT_OPTS_FILE to allow managing default options + in a file + * Bug fixes and improvements. + +------------------------------------------------------------------- +Thu Feb 1 15:08:48 UTC 2024 - Joshua Smith + +- Update to version 0.46.1: + * Bug fixes and improvements + * Downgraded minimum go version to 1.20 + * Updated rivo/uniseg dependency + +------------------------------------------------------------------- +Tue Jan 23 19:48:30 UTC 2024 - Joshua Smith + +- Update to version 0.46.0: + * Added new events, result and resize + * fzf now exports many new environment variables to the child + processes. + * fzf:prompt and fzf:action are being phased out + * Changed mattn/go-runewidth dependency to rivo/uniseg for + accurate results. Set --ambidouble if your terminal displays + ambigous width characters + * Bug fixes + +------------------------------------------------------------------- +Mon Jan 1 06:54:30 UTC 2024 - Joshua Smith + +- Update to version 0.45.0: + * Added transform action to conditionally perform a set of + actions + * Added placeholder expressions like {fzf:query} + * Added support for negative height + * Added accept-or-print-query action that acts like accept but + prints the current query when there's no match for the query + * Added show-header and hide-header actions + * Bug fixes + +------------------------------------------------------------------- +Sat Nov 18 06:30:35 UTC 2023 - Joshua Smith + +- Update to version 0.44.1: + * Fixed crash when preview window is hidden on focus event + +------------------------------------------------------------------- +Sun Nov 12 13:20:53 UTC 2023 - Soc Virnyl Estela + +- Update to version 0.44.0: + * experimental sixel support added in fzf-preview.sh script + * HTTP server can be configured to accept remote connections + * Bug fixes + +------------------------------------------------------------------- +Sun Oct 15 17:36:25 UTC 2023 - Matej Cepl + +- Update to version 0.43.0 (examples are in full release notes on + https://github.com/junegunn/fzf/releases/tag/0.43.0): + - (Experimental) Added support for Kitty image protocol in the + preview window + - (Experimental) --listen server can report program state in + JSON format (GET /) + - --listen server can be secured by setting $FZF_API_KEY +varienvironment able. + - Added toggle-header action + - Added mouse events for --bind + - Added offset-up and offset-down actions + - Shell extensions + +------------------------------------------------------------------- +Wed Jun 14 15:50:14 UTC 2023 - Joshua Smith + +- Update to version 0.42.0: + * Added new info style: --info=right + * Added new info style: --info=inline-right + * Added new border style thinblock which uses Symbols for Legacy + Computing one eighth block elements + * Removed fix-go-test.patch that is no longer needed. + +------------------------------------------------------------------- +Fri Jun 9 03:32:26 UTC 2023 - Joshua Smith + +- Update to version 0.41.1: + * Fixed a bug where preview window is not updated when + --disabled is set and a reload is triggered by change:reload + binding + * Added fix-go-test.patch to make test cases work on 0.41.1 + +------------------------------------------------------------------- +Fri May 26 18:38:52 UTC 2023 - Avindra Goolcharan + +- Update to version 0.41.0: + * Added color name preview-border and preview-scrollbar + * Added new border style block which uses block elements + * --scrollbar can take two characters, one for the main window, + the other for the preview window + * Bug fixes and improvements +- require golang >= 1.19 instead of "=" + +------------------------------------------------------------------- +Sun Apr 30 21:45:37 UTC 2023 - Matej Cepl + +- Update to version 0.40.0: + - Added `zero` event that is triggered when there's no match + ```sh + # Reload the candidate list when there's no match + echo $RANDOM | fzf --bind 'zero:reload(echo $RANDOM)+clear-query' --height 3 + ``` + - New actions + - Added `track` action which makes fzf track the current item when the + search result is updated. If the user manually moves the cursor, or the + item is not in the updated search result, tracking is automatically + disabled. Tracking is useful when you want to see the surrounding items + by deleting the query string. + ```sh + # Narrow down the list with a query, point to a command, + # and hit CTRL-T to see its surrounding commands. + export FZF_CTRL_R_OPTS=" + --preview 'echo {}' --preview-window up:3:hidden:wrap + --bind 'ctrl-/:toggle-preview' + --bind 'ctrl-t:track+clear-query' + --bind 'ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort' + --color header:italic + --header 'Press CTRL-Y to copy command into clipboard'" + ``` + - Added `change-header(...)` + - Added `transform-header(...)` + - Added `toggle-track` action + - Fixed `--track` behavior when used with `--tac` + - However, using `--track` with `--tac` is not recommended. The resulting + behavior can be very confusing. + - Bug fixes and improvements + +------------------------------------------------------------------- +Wed Apr 19 04:26:40 UTC 2023 - Luciano Santos + +- Update to version 0.39.0: + * Added 'one' event that is triggered when there's only one + match. + * Added --track option that makes fzf track the current selection + when the result list is updated. This can be useful when + browsing logs using fzf with sorting disabled. + * If you use --listen option without a port number fzf will + automatically allocate an available port and export it as + $FZF_PORT environment variable. + * A carriage return and a line feed character will be rendered as + dim ␍ and ␊ respectively. + * fzf will stop rendering a non-displayable characters as a + space. This will likely cause less glitches in the preview + window. + * Other bug fixes and improvements. +- Update vendor tarball. + +------------------------------------------------------------------- +Thu Apr 13 06:03:51 UTC 2023 - Matej Cepl + +- All those completion scripts not requiring their respective + shells is a bit ridiculous. + +------------------------------------------------------------------- +Fri Feb 17 13:29:54 UTC 2023 - Soc Virnyl Estela + +- Disable LTO +- Replace unused RPM_OPT_FLAGS +- Update to version 0.38.0: + * New actions + - become(...) - Replace the current fzf process with the specified command using execve(2) system call. + See https://github.com/junegunn/fzf#turning-into-a-different-process for more information. + # Open selected files in Vim + fzf --multi --bind 'enter:become(vim {+})' + + # Open the file in Vim and go to the line + git grep --line-number . | + fzf --delimiter : --nth 3.. --bind 'enter:become(vim {1} +{2})' + >> this action is not supported on Windows + - show-preview + - hide-preview + * Bug fixes + - --preview-window 0,hidden should not execute the preview command until toggle-preview action is triggered + +------------------------------------------------------------------- +Mon Feb 6 11:01:26 UTC 2023 - Matej Cepl + +- Update to 0.37.0: + - Added a way to customize the separator of inline info + fzf --info 'inline: ╱ ' --prompt '╱ ' --color prompt:bright-yellow + - New event + focus - Triggered when the focus changes due to a vertical cursor + movement or a search result update + + fzf --bind 'focus:transform-preview-label:echo [ {} ]' --preview 'cat {}' + + # Any action bound to the event runs synchronously and thus can make the interface sluggish + # e.g. lolcat isn't one of the fastest programs, and every cursor movement in + # fzf will be noticeably affected by its execution time + fzf --bind 'focus:transform-preview-label:echo [ {} ] | lolcat -f' --preview 'cat {}' + + # Beware not to introduce an infinite loop + seq 10 | fzf --bind 'focus:up' --cycle + - New actions + change-border-label + change-preview-label + transform-border-label + transform-preview-label + - Bug fixes and improvements +- Update to 0.36.0: + - Added --listen=HTTP_PORT option to start HTTP server. It allows external + processes to send actions to perform via POST method. + + # Start HTTP server on port 6266 + fzf --listen 6266 + + # Send actions to the server + curl localhost:6266 -d 'reload(seq 100)+change-prompt(hundred> )' + + - Added draggable scrollbar to the main search window and the preview window + + # Hide scrollbar + fzf --no-scrollbar + + # Customize scrollbar + fzf --scrollbar ┆ --color scrollbar:blue + + - New event + Added load event that is triggered when the input stream is complete + and the initial processing of the list is complete. + + # Change the prompt to "loaded" when the input stream is complete + (seq 10; sleep 1; seq 11 20) | fzf --prompt 'Loading> ' --bind 'load:change-prompt:Loaded> ' + + # You can use it instead of 'start' event without `--sync` if asynchronous + # trigger is not an issue. + (seq 10; sleep 1; seq 11 20) | fzf --bind 'load:last' + + - New actions + Added pos(...) action to move the cursor to the numeric position + first and last are equivalent to pos(1) and pos(-1) respectively + + # Put the cursor on the 10th item + seq 100 | fzf --sync --bind 'start:pos(10)' + + # Put the cursor on the 10th to last item + seq 100 | fzf --sync --bind 'start:pos(-10)' + + Added reload-sync(...) action which replaces the current list only after + the reload process is complete. This is useful when the command takes + a while to produce the initial output and you don't want fzf to run against + an empty list while the command is running. + + # You can still filter and select entries from the initial list for 3 seconds + seq 100 | fzf --bind 'load:reload-sync(sleep 3; seq 1000)+unbind(load)' + + Added next-selected and prev-selected actions to move between selected + items + + # `next-selected` will move the pointer to the next selected item below the current line + # `prev-selected` will move the pointer to the previous selected item above the current line + seq 10 | fzf --multi --bind ctrl-n:next-selected,ctrl-p:prev-selected + + # Both actions respect --layout option + seq 10 | fzf --multi --bind ctrl-n:next-selected,ctrl-p:prev-selected --layout reverse + + Added change-query(...) action that simply changes the query string to the + given static string. This can be useful when used with --listen. + + curl localhost:6266 -d "change-query:$(date)" + + Added transform-prompt(...) action for transforming the prompt string + using an external command + + # Press space to change the prompt string using an external command + # (only the first line of the output is taken) + fzf --bind 'space:reload(ls),load:transform-prompt(printf "%s> " "$(date)")' + + Added transform-query(...) action for transforming the query string using + an external command + + # Press space to convert the query to uppercase letters + fzf --bind 'space:transform-query(tr "[:lower:]" "[:upper:]" <<< {q})' + + # Bind it to 'change' event for automatic conversion + fzf --bind 'change:transform-query(tr "[:lower:]" "[:upper:]" <<< {q})' + + # Can only type numbers + fzf --bind 'change:transform-query(sed "s/[^0-9]//g" <<< {q})' + + put action can optionally take an argument string + + # a will put 'alpha' on the prompt, ctrl-b will put 'bravo' + fzf --bind 'a:put+put(lpha),ctrl-b:put(bravo)' + + - Added color name preview-label for --preview-label + (defaults to label for --border-label) + - Better support for (Windows) terminals where + each box-drawing character takes 2 columns. Set + RUNEWIDTH_EASTASIAN environment variable to 1. + On Vim, the variable will be automatically set if &ambiwidth is double + - Behavior changes + fzf will always execute the preview command if the command template + contains {q} even when it's empty. If you prefer the old behavior, + you'll have to check if {q} is empty in your command. + + # This will show // even when the query is empty + : | fzf --preview 'echo /{q}/' + + # But if you don't want it, + : | fzf --preview '[ -n {q} ] || exit; echo /{q}/' + + double-click will behave the same as enter unless otherwise specified, + so you don't have to repeat the same action twice in --bind in most cases. + + # No need to bind 'double-click' to the same action + fzf --bind 'enter:execute:less {}' # --bind 'double-click:execute:less {}' + + If the color for separator is not specified, it will default to the + color for border. Same holds true for scrollbar. This is to reduce + the number of configuration items required to achieve a consistent color + scheme. + If follow flag is specified in --preview-window option, fzf will + automatically scroll to the bottom of the streaming preview output. But + when the user manually scrolls the window, the following stops. With + this version, fzf will resume following if the user scrolls the window + to the bottom. + Default border style on Windows is changed to sharp because some + Windows terminals are not capable of displaying rounded border + characters correctly. + - Minor bug fixes and improvements + +------------------------------------------------------------------- +Sun Dec 18 19:02:54 UTC 2022 - Dirk Müller + +- update to 0.35.1: + * Fixed a bug where fzf with `--tiebreak=chunk` crashes on inverse match + query + * Fixed a bug where clicking above fzf would paste escape sequences + +------------------------------------------------------------------- +Fri Nov 11 16:41:17 UTC 2022 - Jorik Cronenberg + +- Update to 0.35.0: + * Added start event that is triggered only once when fzf finder + starts. Since fzf consumes the input stream asynchronously, + the input list is not available unless you use --sync. + + seq 100 | fzf --multi --sync --bind 'start:last+select-all+preview(echo welcome)' + + * Added --border-label and --border-label-pos for putting label + on the border + + # ANSI color codes are supported + # (with https://github.com/busyloop/lolcat) + label=$(curl -s http://metaphorpsum.com/sentences/1 | lolcat -f) + + # Border label at the center + fzf --height=10 --border --border-label="╢ $label ╟" \ + --color=label:italic:black + + # Left-aligned (positive integer) + fzf --height=10 --border --border-label="╢ $label ╟" \ + --border-label-pos=3 --color=label:italic:black + + # Right-aligned (negative integer) on the bottom line (:bottom) + fzf --height=10 --border --border-label="╢ $label ╟" \ + --border-label-pos=-3:bottom --color=label:italic:black + + * Also added --preview-label and --preview-label-pos for the + border of the preview window + + fzf --preview 'cat {}' --border --preview-label=' Preview ' \ + --preview-label-pos=2 + + * Info panel (match counter) will be followed by a horizontal separator + by default + - Use --no-separator or --separator='' to hide the separator + - You can specify an arbitrary string that is repeated to form the + horizontal separator. e.g. --separator=╸ + - The color of the separator can be customized via --color=separator:... + - ANSI color codes are also supported + + fzf --separator=╸ --color=separator:green + fzf --separator=$(lolcat -f -F 1.4 <<< ▁▁▂▃▄▅▆▆▅▄▃▂▁▁) --info=inline + + * Added --border=bold and --border=double along with + --preview-window=border-bold and --preview-window=border-double + +------------------------------------------------------------------- +Wed Sep 28 22:54:30 UTC 2022 - Matej Cepl + +- Update to 0.34.0: + - Added support for adaptive --height. If the --height value is prefixed + with ~, fzf will automatically determine the height in the range according + to the input size. + + seq 1 | fzf --height ~70% --border --padding 1 --margin 1 + seq 10 | fzf --height ~70% --border --padding 1 --margin 1 + seq 100 | fzf --height ~70% --border --padding 1 --margin 1 + + - There are a few limitations + - Not compatible with percent top/bottom margin/padding + + # This is not allowed (top/bottom margin in percent value) + fzf --height ~50% --border --margin 5%,10% + + # This is allowed (top/bottom margin in fixed value) + fzf --height ~50% --border --margin 2,10% + + - fzf will not start until it can determine the right height for the input + + # fzf will open immediately + (sleep 2; seq 10) | fzf --height 50% + + # fzf will open after 2 seconds + (sleep 2; seq 10) | fzf --height ~50% + (sleep 2; seq 1000) | fzf --height ~50% + + - Fixed tcell renderer used to render full-screen fzf on Windows + --no-clear is deprecated. Use reload action instead. + +------------------------------------------------------------------- +Mon Sep 5 14:04:02 UTC 2022 - Jorik Cronenberg + +- Update to 0.33.0: + - Added --scheme=[default|path|history] option to choose scoring scheme + - (Experimental) + - We updated the scoring algorithm in 0.32.0, however we have learned that + this new scheme (default) is not always giving the optimal result + - path: Additional bonus point is only given to the the characters after + path separator. You might want to choose this scheme if you have many + files with spaces in their paths. + - history: No additional bonus points are given so that we give more + weight to the chronological ordering. This is equivalent to the scoring + scheme before 0.32.0. This also sets --tiebreak=index. + + - ANSI color sequences with colon delimiters are now supported. + printf "\e[38;5;208mOption 1\e[m\nOption 2" | fzf --ansi + printf "\e[38:5:208mOption 1\e[m\nOption 2" | fzf --ansi + + - Support border-{up,down} as the synonyms for border-{top,bottom} in + --preview-window + - Added support for ANSI strikethrough + printf "\e[9mdeleted" | fzf --ansi + fzf --color fg+:strikethrough + +------------------------------------------------------------------- +Wed Aug 3 14:31:08 UTC 2022 - Matej Cepl + +- Update to 0.32.0: + - Updated the scoring algorithm + - Different bonus points to different categories of word + boundaries (listed higher to lower bonus point) + - Word after whitespace characters or beginning of the string + - Word after common delimiter characters (/,:;|) + - Word after other non-word characters + # foo/bar.sh` is preferred over `foo-bar.sh` on `bar` + fzf --query=bar --height=4 << EOF + foo-bar.sh + foo/bar.sh + EOF + - Added a new tiebreak chunk + - Favors the line with shorter matched chunk. A chunk is a + set of consecutive non-whitespace characters. + - Unlike the default length, this scheme works well with + tabular input + # length prefers item #1, because the whole line is shorter, + # chunk prefers item #2, because the matched chunk ("foo") is shorter + fzf --height=6 --header-lines=2 --tiebreak=chunk --reverse --query=fo << "EOF" + N | Field1 | Field2 | Field3 + - | ------ | ------ | ------ + 1 | hello | foobar | baz + 2 | world | foo | bazbaz + EOF + - If the input does not contain any spaces, chunk is + equivalent to length. But we're not going to set it as the + default because it is computationally more expensive. + - Bug fixes and improvements + +------------------------------------------------------------------- +Thu Jul 21 16:17:24 UTC 2022 - Matej Cepl + +- Update to 0.31.0: + - Added support for an alternative preview window layout that + is activated when the size of the preview window is smaller + than a certain threshold. + + # If the width of the preview window is smaller than 50 columns, + # it will be displayed above the search window. + fzf --preview 'cat {}' --preview-window 'right,50%,border-left,<50(up,30%,border-bottom)' + + # Or you can just hide it like so + fzf --preview 'cat {}' --preview-window '<50(hidden)' + + - fzf now uses SGR mouse mode to properly support mouse on + larger terminals + - You can now use characters that do not satisfy + unicode.IsGraphic constraint for --marker, --pointer, and + --ellipsis. Allows Nerd Fonts and stuff. + Use at your own risk. + - Bug fixes and improvements + - Shell extension + kill completion now requires trigger sequence (**) for + consistency + +------------------------------------------------------------------- +Wed Jun 22 11:08:05 UTC 2022 - Dominique Leuenberger + +- Supplement fzf-bash-completion against bash-completion, not bash. + +------------------------------------------------------------------- +Tue Jun 21 20:14:44 UTC 2022 - Dirk Müller + +- update to 0.30.0: + * Fixed cursor flickering over the screen by hiding it during rendering + * Added --ellipsis option. You can take advantage of it to make fzf + effectively search non-visible parts of the item. + * Added rebind action for restoring bindings after unbind + * Switching between Ripgrep mode and fzf mode + * Bug fixes and improvements + +------------------------------------------------------------------- +Fri Dec 24 22:54:43 UTC 2021 - Matej Cepl + +- Update to 0.29.0: + - Added `change-preview(...)` action to change the `--preview` command + - cf. `preview(...)` is a one-off action that doesn't change the + default preview command + - Added `change-preview-window(...)` action + - You can rotate through the different options separated by `|` + ```sh + fzf --preview 'cat {}' --preview-window right:40% \ + --bind 'ctrl-/:change-preview-window(right,70%|down,40%,border-top|hidden|)' + ``` + - Fixed rendering of the prompt line when overflow occurs with + `--info=inline` + +------------------------------------------------------------------- +Sat Nov 13 19:44:54 UTC 2021 - Dirk Müller + +- update to 0.28.0: + * Added `--header-first` option to print header before the prompt line + * Added `--scroll-off=LINES` option + * Fixed bug where preview window is not updated on `reload` + * fzf on Windows will also use `$SHELL` to execute external programs + +------------------------------------------------------------------- +Fri Oct 15 16:01:21 UTC 2021 - Matej Cepl + +- Update to 0.27.3: + - Preview window is `hidden` by default when there are `preview` bindings but + `--preview` command is not given + - Fixed bug where `{n}` is not properly reset on `reload` + - Fixed bug where spinner is not displayed on `reload` + - Enhancements in tcell renderer for Windows (#2616) + - Vim plugin + - `sinklist` is added as a synonym to `sink*` so that it's + easier to add a function to a spec dictionary + ```vim + let spec = { 'source': 'ls', 'options': ['--multi', '--preview', 'cat {}'] } + function spec.sinklist(matches) + echom string(a:matches) + endfunction + + call fzf#run(fzf#wrap(spec)) + ``` + - Vim 7 compatibility +- Set FZF_VERSION and FZF_REVISION environment variables as well. + +------------------------------------------------------------------- +Tue Jun 1 08:37:07 UTC 2021 - Matej Cepl + +- Update to 0.27.2: + - 16 base ANSI colors can be specified by their names + + fzf --color fg:3,fg+:11 + fzf --color fg:yellow,fg+:bright-yellow + + - Fix bug where --read0 not properly displaying long lines + +------------------------------------------------------------------- +Sat May 22 08:33:37 UTC 2021 - Matej Cepl + +- Update to 0.27.1: + - Added unbind action. In the following Ripgrep launcher + example, you can use unbind(reload) to switch to fzf-only + filtering mode. + See https://github.com/junegunn/fzf/blob/master/ADVANCED.md#switching-to-fzf-only-search-mode + - Vim plugin will stop immediately even when the source command hasn't finished + + " fzf will read the stream file while allowing other processes to append to it + call fzf#run(fzf#wrap({'source': 'cat /dev/null > /tmp/stream; tail -f /tmp/stream'})) + + - It is now possible to open popup window relative to the currrent window + + let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6, 'relative': v:true, 'yoffset': 1.0 } } + +------------------------------------------------------------------- +Thu Apr 8 12:20:29 UTC 2021 - Paolo Stivanin + +- Update to 0.27.0: + - More border options for `--preview-window` + ```sh + fzf --preview 'cat {}' --preview-window border-left + fzf --preview 'cat {}' --preview-window border-left --border horizontal + fzf --preview 'cat {}' --preview-window top:border-bottom + fzf --preview 'cat {}' --preview-window top:border-horizontal + ``` + - Automatically set `/dev/tty` as STDIN on execute action + ```sh + # Redirect /dev/tty to suppress "Vim: Warning: Input is not from a terminal" + # ls | fzf --bind "enter:execute(vim {} < /dev/tty)" + + # "< /dev/tty" part is no longer needed + ls | fzf --bind "enter:execute(vim {})" + ``` + - Bug fixes and improvements + +------------------------------------------------------------------- +Sat Mar 13 11:18:28 UTC 2021 - Matej Cepl + +- Update to 0.26.0: + - Added support for fixed header in preview window + # Display top 3 lines as the fixed header + fzf --preview 'bat --style=header,grid --color=always {}' --preview-window '~3' + + More advanced preview offset expression to better support the fixed header + + # Preview with bat, matching line in the middle of the window below + # the fixed header of the top 3 lines + # + # ~3 Top 3 lines as the fixed header + # +{2} Base scroll offset extracted from the second field + # +3 Extra offset to compensate for the 3-line header + # /2 Put in the middle of the preview area + # + git grep --line-number '' | + fzf --delimiter : \ + --preview 'bat --style=full --color=always --highlight-line {2} {1}' \ + --preview-window '~3:+{2}+3/2' + - Added select and deselect action for unconditionally selecting or + deselecting a single item in --multi mode. Complements toggle action. + - Sigificant performance improvement in ANSI code processing + - Bug fixes and improvements + +------------------------------------------------------------------- +Wed Feb 3 16:30:05 UTC 2021 - Matej Cepl + +- Update to 0.25.1: + - Added `close` action + - Close preview window if open, abort fzf otherwise + - Bug fixes and improvements + +------------------------------------------------------------------- +Sun Jan 3 07:16:34 UTC 2021 - Matej Cepl + +- Text attributes set in --color are not reset when fzf sees another + --color option for the same element. This allows you to put custom + text attributes in your $FZF_DEFAULT_OPTS and still have those + attributes even when you override the colors. + + # Default colors and attributes + fzf + + # Apply custom text attributes + export FZF_DEFAULT_OPTS='--color fg+:italic,hl:-1:underline,hl+:-1:reverse:underline' + + fzf + + # Different colors but you still have the attributes + fzf --color hl:176,hl+:177 + + # Write "regular" if you want to clear the attributes + fzf --color hl:176:regular,hl+:177:regular + +- Renamed --phony to --disabled + +- You can dynamically enable and disable the search functionality using + the new enable-search, disable-search, and toggle-search actions + +- You can assign a different color to the query string for when search + is disabled + + fzf --color query:#ffffff,disabled:#999999 --bind space:toggle-search + +- Added last action to move the cursor to the last match + The opposite action top is renamed to first, but top is still + recognized as a synonym for backward compatibility + +- Added preview-top and preview-bottom actions + +- Extended support for alt key chords: alt with any case-sensitive + single character + + fzf --bind alt-,:first,alt-.:last + +------------------------------------------------------------------- +Fri Dec 18 22:22:06 UTC 2020 - Matej Cepl + +- Generate tags for vim documentation + +------------------------------------------------------------------- +Sun Dec 13 19:52:48 UTC 2020 - Matej Cepl + +- Update to 24.4.4: + - Added --preview-window option follow + # Preview window will automatically scroll to the bottom + fzf --preview-window follow --preview 'for i in $(seq 100000); do + echo "$i" + sleep 0.01 + (( i % 300 == 0 )) && printf "\033[2J" + done' + - Added change-prompt action + fzf --prompt 'foo> ' --bind $'a:change-prompt:\x1b[31mbar> ' + - Bug fixes and improvements +- Enable tests + +------------------------------------------------------------------- +Fri Dec 4 10:29:16 UTC 2020 - Matej Cepl + +- Update to 0.24.3: + - Added --padding option: + fzf --margin 5% --padding 5% --border --preview 'cat {}' \ + --color bg:#222222,preview-bg:#333333 + - Bug fixes and improvements + +------------------------------------------------------------------- +Sat Oct 24 22:08:02 UTC 2020 - Matej Cepl + +- Update to 0.24.1: + - Real-time rendering of preview window + # fzf can render preview window before the command completes + fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done' + + # Preview window can process ANSI escape sequence (CSI 2 J) for clearing the display + fzf --preview 'for i in $(seq 100000); do + (( i % 200 == 0 )) && printf "\033[2J" + echo "$i" + sleep 0.01 + done' + + - To indicate if --multi mode is enabled, fzf will print the number of + selected items even when no item is selected + + seq 100 | fzf + # 100/100 + seq 100 | fzf --multi + # 100/100 (0) + seq 100 | fzf --multi 5 + # 100/100 (0/5) + + - Added --preview-window options for disabling flags + nocycle + nohidden + nowrap + default + + - Support preview scroll offset relative to window height + + git grep --line-number '' | + fzf --delimiter : \ + --preview 'bat --style=numbers --color=always --highlight-line {2} {1}' \ + --preview-window +{2}-/2 + + - Added --preview-window option for sharp edges (--preview-window + sharp) + - Added --preview-window option for cyclic scrolling (--preview-window + cycle) + - Reduced vertical padding around the preview window when + --preview-window noborder is used + - Added actions for preview window + preview-half-page-up + preview-half-page-down + - Vim + - Popup width and height can be given in absolute integer values + - Added fzf#exec() function for getting the path of fzf executable + It also downloads the latest binary if it's not available by + running ./install --bin + +------------------------------------------------------------------- +Mon Aug 3 13:15:00 UTC 2020 - Paolo Stivanin + +- Update to 0.22.0 + - Added more options for --bind + - Added preview window option for setting the initial scroll offset + - Added support for ANSI colors in --prompt string + - Smart match of accented characters + - Vim plugin + +------------------------------------------------------------------- +Thu Jul 2 10:16:09 UTC 2020 - Frederic Crozat + +- Add subpackage for fish completion. + +------------------------------------------------------------------- +Mon Apr 6 09:03:08 UTC 2020 - Paolo Stivanin + +- Update to 0.21.1 + - CTRL-R will remove duplicate commands + - Supports tmux popup window (require tmux 3.2 or above) + - bug fixes + +------------------------------------------------------------------- +Fri Mar 13 13:15:42 UTC 2020 - Paolo Stivanin + +- Update to 0.21.0: + - --height option is now available on Windows as well (@kelleyma49) + - Added --pointer and --marker options + - Added --keep-right option that keeps the right end of the line visible when it's too long + - Style changes + - --border will now print border with rounded corners around the finder instead of printing horizontal lines above and below it. The previous style is available via --border=horizontal + - Unicode spinner + - More keys and actions for --bind + - Added PowerShell script for downloading Windows binary + - Vim plugin: Built-in floating windows support + - bash: Various improvements in key bindings (CTRL-T, CTRL-R, ALT-C) + - CTRL-R will start with the current command-line as the initial query + - CTRL-R properly supports multi-line commands + - Fuzzy completion API changed + - Bug fixes + +------------------------------------------------------------------- +Sat Jan 4 16:48:23 CET 2020 - Matej Cepl + +- Update to 0.20.0: + - Customizable preview window color (preview-fg and preview-bg + for --color) + + fzf --preview 'cat {}' \ + --color 'fg:#bbccdd,fg+:#ddeeff,bg:#334455,preview-bg:#223344,border:#778899' \ + --border --height 20 --layout reverse --info inline + + Removed the immediate flicking of the screen on reload action. + + : | fzf --bind 'change:reload:seq {q}' --phony + + Added clear-query and clear-selection actions for --bind + + - It is now possible to split a composite bind action over + multiple --bind expressions by prefixing the later ones with + +. + + fzf --bind 'ctrl-a:up+up' + + # Can be now written as + fzf --bind 'ctrl-a:up' --bind 'ctrl-a:+up' + + # This is useful when you need to write special + # execute/reload form (i.e. `execute:...`) + # to avoid parse errors and add more actions to the same key + fzf --multi --bind 'ctrl-l:select-all+execute:less {+f}' --bind 'ctrl-l:+deselect-all' + + - Fixed parse error of --bind expression where concatenated + execute/reload action contains + character. + + fzf --multi --bind 'ctrl-l:select-all+execute(less {+f})+deselect-all' + + - Fixed bugs of reload action + - Not triggered when there's no match even when the command + doesn't have any placeholder expressions + - Screen not properly cleared when --header-lines not filled + on reload + +------------------------------------------------------------------- +Sun Nov 17 17:48:38 UTC 2019 - Ismail Dönmez + +- Update to 0.19.0 + - Added --phony option which completely disables search functionality. + Useful when you want to use fzf only as a selector interface. See below. + - Added "reload" action for dynamically updating the input list without + restarting fzf. See https://github.com/junegunn/fzf/issues/1750 to + learn more about it. + - --multi now takes an optional integer argument which indicates the + maximum number of items that can be selected + - If a placeholder expression for --preview and execute action + (and the new reload action) contains f flag, it is replaced to + the path of a temporary file that holds the evaluated list. + This is useful when you multi-select a large number of items + and the length of the evaluated string may exceed ARG_MAX. + - deselect-all no longer deselects unmatched items. It is now + consistent with select-all and toggle-all in that it only affects + matched items. + - Due to the limitation of bash, fuzzy completion is enabled by + default for a fixed set of commands. A helper function for easily + setting up fuzzy completion for any command is now provided. + - Info line style can be changed by --info=STYLE + - Preview window border can be disabled by adding noborder to --preview-window. + - When you transform the input with --with-nth, the trailing white spaces are removed. + - ctrl-\, ctrl-], ctrl-^, and ctrl-/ can now be used with --bind + - See https://github.com/junegunn/fzf/milestone/15?closed=1 for more details + +------------------------------------------------------------------- +Sat Apr 20 13:09:10 UTC 2019 - Jan Engelhardt + +- Remove pointless double extraction of tarball again. + +------------------------------------------------------------------- +Thu Apr 18 21:21:59 CEST 2019 - Matej Cepl + +- Update to 0.18.0: + - 0.18.0 + - Added placeholder expression for zero-based item index: {n} + and {+n} fzf --preview 'echo {n}: {}' + - Added color option for the gutter: --color gutter:-1 + - Added --no-unicode option for drawing borders in + non-Unicode, ASCII characters + - FZF_PREVIEW_LINES and FZF_PREVIEW_COLUMNS are exported to + preview process fzf still overrides LINES and COLUMNS as + before, but they may be reset by the default shell. + - Bug fixes and improvements See + https://github.com/junegunn/fzf/milestone/14?closed=1 + - Update to 0.17.5: + - Bug fixes and improvements See + https://github.com/junegunn/fzf/milestone/13?closed=1 + - Search query longer than the screen width is allowed (up to + 300 chars) +- Patch build-mode-pie.patch removed as it is unneeded + (we don't use Makefile anymore). + +------------------------------------------------------------------- +Thu Dec 20 00:27:29 UTC 2018 - Matej Cepl + +- Add subpackage vim-fzf with the original vim plugin for fzf (there + is also more extensive third party plugin on + https://github.com/junegunn/fzf.vim) + +------------------------------------------------------------------- +Mon Jun 11 02:59:21 UTC 2018 - avindra@opensuse.org + +- update to 0.17.4 + * Added --layout option with a new layout called reverse-list. + --layout=reverse is a synonym for --reverse + --layout=default is a synonym for --no-reverse + * Preview window will be updated even when there is no match for + the query if any of the placeholder expressions (e.g. {q}, {+}) + evaluates to a non-empty string. + * More keys for binding: shift-{up,down}, alt-{up,down,left, + right} + * fzf can now start when /dev/tty is not available by making + an educated guess. + * bash/zsh completion improvements + * install and uninstall scripts support generating files under + XDG_CONFIG_HOME on --xdg flag. +- remove sed patch for non-excecutable fix (merged upstream) + +------------------------------------------------------------------- +Sun Apr 1 16:21:01 UTC 2018 - avindra@opensuse.org + +- initial package diff --git a/fzf.spec b/fzf.spec new file mode 100644 index 0000000..e227c24 --- /dev/null +++ b/fzf.spec @@ -0,0 +1,199 @@ +# +# spec file for package fzf +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{nil} +Name: fzf +Version: 0.54.0 +Release: 0 +Summary: A command-line fuzzy finder +License: MIT +Group: Productivity/File utilities +URL: https://github.com/junegunn/fzf +Source0: https://github.com/junegunn/fzf/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: vendor.tar.zst +BuildRequires: zstd +BuildRequires: golang(API) >= 1.19 + +%description +fzf is an interactive Unix filter for command-line that can be used with any list; files, +command history, processes, hostnames, bookmarks, git commits, etc. + +%package tmux +Summary: Tmux integration for fzf +Group: Productivity/File utilities +Supplements: (fzf and tmux) +BuildArch: noarch + +%description tmux +Tmux integration for fzf. Includes a wrapper script, fzf-tmux, that opens your list in a +separate tmux pane. + +%package bash-integration +Summary: Bash completion for fzf +Group: Productivity/File utilities +Requires: bash-completion +Requires: fzf +Enhances: (fzf and bash-completion) +Provides: fzf-bash-completion = %{version}-%{release} +Obsoletes: fzf-bash-completion < %{version}-%{release} +BuildArch: noarch + +%description bash-integration +Bash shell completions for fzf + +%package fish-integration +Summary: Fish completion for fzf +Group: Productivity/File utilities +Requires: fish +Requires: fzf +Enhances: (fzf and fish) +Provides: fzf-fish-completion = %{version}-%{release} +Obsoletes: fzf-fish-completion < %{version}-%{release} +BuildArch: noarch + +%description fish-integration +fish shell completions for fzf + +To enable it, ensure you have a file ~/.config/fish/functions/fish_user_key_bindings.fish +which contains: +function fish_user_key_bindings + fzf_key_bindings +end + +(or append fzf_key_bindings to the fish_user_key_bindings function if the file already exists) + +%package zsh-integration +Summary: ZSH completion for fzf +Group: Productivity/File utilities +Requires: fzf +Requires: zsh +Enhances: (fzf and zsh) +Provides: fzf-zsh-completion = %{version}-%{release} +Obsoletes: fzf-zsh-completion < %{version}-%{release} +BuildArch: noarch + +%description zsh-integration +zsh shell completions for fzf + +%define vimplugin_dir %{_datadir}/vim/site + +%package -n vim-fzf +Summary: Vim plugin for fzf +Group: Productivity/File utilities +Requires: (vim or neovim) +Enhances: (fzf and zsh) +BuildArch: noarch + +%description -n vim-fzf +Plugin for vim allowing use of fzf. + +%prep +%autosetup -p1 -a1 + +# fix E: env-script-interpreter +sed -i 's,#!%{_bindir}/env ,#!/bin/,' ./bin/fzf-tmux + +%build +export FZF_VERSION=%{version} FZF_REVISION=tarball +export GOCACHE=$(readlink -f vendor/) +%ifarch ppc64 +BUILDMOD="" +%else +BUILDMOD="-buildmode=pie" +%endif +export RPM_OPT_FLAGS="%{optflags}" +go build -v -x -mod=vendor $BUILDMOD -a -ldflags "-s -X main.revision=%{version}" + +%install +install -Dm755 fzf %{buildroot}%{_bindir}/fzf +install -Dm755 bin/fzf-tmux %{buildroot}%{_bindir}/fzf-tmux +install -Dm644 man/man1/fzf.1 %{buildroot}%{_mandir}/man1/fzf.1 +install -Dm644 man/man1/fzf-tmux.1 %{buildroot}%{_mandir}/man1/fzf-tmux.1 + +# shell completions +# Since 0.48 fzf can generate shell integration scripts, but the +# upstream still promotes "for finer control" availability of the +# real scripts +mkdir -p %{buildroot}%{_datadir}/fzf +cp -p -r shell/ %{buildroot}%{_datadir}/fzf + +mkdir -p %{buildroot}%{_sysconfdir}/profile.d +echo 'if [ "${BASH_VERSION-}" ] && [[ $- == *i* ]]; then eval "$(fzf --bash 2>/dev/null)"; fi' > \ + %{buildroot}%{_sysconfdir}/profile.d/fzf-bash.sh +install -Dm0644 shell/completion.zsh \ + %{buildroot}%{_sysconfdir}/zsh_completion.d/fzf-key-bindings +install -Dm0644 shell/key-bindings.zsh \ + %{buildroot}%{_datadir}/zsh/site-functions/_fzf +install -Dm0644 shell/key-bindings.fish \ + %{buildroot}%{_datadir}/fish/vendor_functions.d/fzf_key_bindings.fish + +# vim plugin +install -D -m0644 -t %{buildroot}%{vimplugin_dir}/doc doc/* +install -D -m0644 -t %{buildroot}%{vimplugin_dir}/plugin plugin/* + +%check +export SHELL=/bin/sh GOOS= +export GOCACHE=$(readlink -f vendor/) +%ifarch ppc64 +BUILDMOD="" +%else +BUILDMOD="-buildmode=pie" +%endif +export CGO_CFLAGS="%{optflags}" +export CGO_CXXFLAGS="%{optflags}" +export CGO_CPPFLAGS="%{optflags}" +go test -v -x -mod=vendor ${BUILDMOD} -a \ + -ldflags "-X main.revision=%{version}" \ + github.com/junegunn/fzf/src \ + github.com/junegunn/fzf/src/algo \ + github.com/junegunn/fzf/src/tui \ + github.com/junegunn/fzf/src/util + +%files +%license LICENSE +%doc README.md +%{_bindir}/fzf +%{_mandir}/man1/fzf.1%{?ext_man} +%dir %{_datadir}/fzf +%{_datadir}/fzf/shell + +%files tmux +%{_bindir}/fzf-tmux +%{_mandir}/man1/fzf-tmux.1%{?ext_man} + +%files bash-integration +%config %{_sysconfdir}/profile.d/fzf-bash.sh + +%files fish-integration +%dir %{_datadir}/fish +%dir %{_datadir}/fish/vendor_functions.d +%{_datadir}/fish/vendor_functions.d/fzf_key_bindings.fish + +%files zsh-integration +%{_datadir}/zsh +%dir %{_sysconfdir}/zsh_completion.d +%config %{_sysconfdir}/zsh_completion.d/fzf-key-bindings + +%files -n vim-fzf +%doc README-VIM.md +%dir %{_datadir}/vim +%dir %{vimplugin_dir} +%{vimplugin_dir}/doc +%{vimplugin_dir}/plugin + +%changelog diff --git a/vendor.tar.zst b/vendor.tar.zst new file mode 100644 index 0000000..8c2adfc --- /dev/null +++ b/vendor.tar.zst @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:205e3bc8d6ad81f5b85969ff0afb4bc7f166956ed0c80f7619ab3193fa1526a7 +size 1262424