Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: junegunn/fzf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.24.3
Choose a base ref
...
head repository: junegunn/fzf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 25,875 additions and 7,326 deletions.
  1. +1 −0 .github/FUNDING.yml
  2. +0 −22 .github/ISSUE_TEMPLATE.md
  3. +49 −0 .github/ISSUE_TEMPLATE/issue_template.yml
  4. +10 −0 .github/dependabot.yml
  5. +44 −0 .github/workflows/codeql-analysis.yml
  6. +14 −0 .github/workflows/depsreview.yaml
  7. +48 −0 .github/workflows/linux.yml
  8. +45 −0 .github/workflows/macos.yml
  9. +24 −0 .github/workflows/sponsors.yml
  10. +10 −0 .github/workflows/typos.yml
  11. +14 −0 .github/workflows/winget.yml
  12. +0 −1 .gitignore
  13. +0 −11 .gon.hcl
  14. +47 −12 .goreleaser.yml
  15. +16 −2 .rubocop.yml
  16. +2 −0 .tool-versions
  17. +0 −28 .travis.yml
  18. +714 −0 ADVANCED.md
  19. +17 −5 BUILD.md
  20. +1,571 −1 CHANGELOG.md
  21. +5 −4 Dockerfile
  22. +8 −0 Gemfile
  23. +47 −0 Gemfile.lock
  24. +1 −1 LICENSE
  25. +61 −13 Makefile
  26. +98 −52 README-VIM.md
  27. +527 −239 README.md
  28. +86 −0 bin/fzf-preview.sh
  29. +52 −22 bin/fzf-tmux
  30. +131 −86 doc/fzf.txt
  31. +15 −10 go.mod
  32. +82 −30 go.sum
  33. +75 −57 install
  34. +8 −4 install.ps1
  35. +91 −4 main.go
  36. +16 −16 man/man1/fzf-tmux.1
  37. +1,401 −417 man/man1/fzf.1
  38. +234 −109 plugin/fzf.vim
  39. +387 −134 shell/completion.bash
  40. +166 −80 shell/completion.zsh
  41. +91 −41 shell/key-bindings.bash
  42. +129 −106 shell/key-bindings.fish
  43. +62 −45 shell/key-bindings.zsh
  44. +1 −1 src/LICENSE
  45. +154 −0 src/actiontype_string.go
  46. +213 −74 src/algo/algo.go
  47. +45 −31 src/algo/algo_test.go
  48. +1 −1 src/algo/normalize.go
  49. +272 −78 src/ansi.go
  50. +273 −7 src/ansi_test.go
  51. +16 −2 src/cache.go
  52. +2 −2 src/cache_test.go
  53. +51 −6 src/chunklist.go
  54. +40 −4 src/chunklist_test.go
  55. +8 −17 src/constants.go
  56. +274 −100 src/core.go
  57. +35 −0 src/functions.go
  58. +4 −5 src/history.go
  59. +1 −7 src/history_test.go
  60. +17 −2 src/item.go
  61. +50 −28 src/matcher.go
  62. +77 −26 src/merger.go
  63. +8 −7 src/merger_test.go
  64. +2,767 −849 src/options.go
  65. +13 −0 src/options_no_pprof.go
  66. +73 −0 src/options_pprof.go
  67. +89 −0 src/options_pprof_test.go
  68. +163 −105 src/options_test.go
  69. +70 −35 src/pattern.go
  70. +22 −30 src/pattern_test.go
  71. +2 −4 src/protector/protector.go
  72. +2 −2 src/protector/protector_openbsd.go
  73. +161 −0 src/proxy.go
  74. +41 −0 src/proxy_unix.go
  75. +85 −0 src/proxy_windows.go
  76. +238 −65 src/reader.go
  77. +10 −5 src/reader_test.go
  78. +99 −20 src/result.go
  79. +1 −1 src/result_others.go
  80. +57 −32 src/result_test.go
  81. +1 −1 src/result_x86.go
  82. +246 −0 src/server.go
  83. +4,725 −1,039 src/terminal.go
  84. +611 −58 src/terminal_test.go
  85. +9 −6 src/terminal_unix.go
  86. +1 −5 src/terminal_windows.go
  87. +68 −0 src/tmux.go
  88. +79 −14 src/tokenizer.go
  89. +20 −7 src/tokenizer_test.go
  90. +38 −21 src/tui/dummy.go
  91. +122 −0 src/tui/eventtype_string.go
  92. +536 −223 src/tui/light.go
  93. +40 −25 src/tui/light_unix.go
  94. +65 −39 src/tui/light_windows.go
  95. +480 −199 src/tui/tcell.go
  96. +395 −0 src/tui/tcell_test.go
  97. +28 −5 src/tui/ttyname_unix.go
  98. +15 −1 src/tui/ttyname_windows.go
  99. +705 −210 src/tui/tui.go
  100. +28 −0 src/util/atexit.go
  101. +24 −0 src/util/atexit_test.go
  102. +137 −4 src/util/chars.go
  103. +38 −1 src/util/chars_test.go
  104. +0 −1 src/util/eventbox_test.go
  105. +121 −17 src/util/util.go
  106. +207 −5 src/util/util_test.go
  107. +55 −9 src/util/util_unix.go
  108. +152 −12 src/util/util_windows.go
  109. +13 −0 src/winpty.go
  110. +80 −0 src/winpty_windows.go
  111. +240 −0 test/lib/common.rb
  112. +59 −0 test/lib/common.sh
  113. +5 −0 test/runner.rb
  114. +1,816 −0 test/test_core.rb
  115. +417 −0 test/test_exec.rb
  116. +315 −0 test/test_filter.rb
  117. +0 −2,307 test/test_go.rb
  118. +994 −0 test/test_layout.rb
  119. +561 −0 test/test_preview.rb
  120. +52 −0 test/test_server.rb
  121. +517 −0 test/test_shell_integration.rb
  122. +7 −7 test/{ → vim}/fzf.vader
  123. +10 −0 typos.toml
  124. +9 −12 uninstall
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: junegunn
22 changes: 0 additions & 22 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: Issue Template
description: Report a problem or bug related to fzf to help us improve

body:
- type: markdown
attributes:
value: ISSUES NOT FOLLOWING THIS TEMPLATE WILL BE CLOSED AND DELETED

- type: checkboxes
attributes:
label: Checklist
options:
- label: I have read through the manual page (`man fzf`)
required: true
- label: I have searched through the existing issues
required: true
- label: For bug reports, I have checked if the bug is reproducible in the latest version of fzf
required: false

- type: input
attributes:
label: Output of `fzf --version`
placeholder: e.g. 0.48.1 (d579e33)
validations:
required: true

- type: checkboxes
attributes:
label: OS
options:
- label: Linux
- label: macOS
- label: Windows
- label: Etc.

- type: checkboxes
attributes:
label: Shell
options:
- label: bash
- label: zsh
- label: fish

- type: textarea
attributes:
label: Problem / Steps to reproduce
validations:
required: true
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
44 changes: 44 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning
name: CodeQL

on:
push:
branches: [ master, devel ]
pull_request:
branches: [ master ]
workflow_dispatch:

permissions:
contents: read

jobs:
analyze:
permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
name: Analyze
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
language: ['go']

steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

- name: Autobuild
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
14 changes: 14 additions & 0 deletions .github/workflows/depsreview.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Dependency Review'
on: [pull_request]

permissions:
contents: read

jobs:
dependency-review:
runs-on: ubuntu-latest
steps:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v4
48 changes: 48 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: Test fzf on Linux

on:
push:
branches: [ master, devel ]
pull_request:
branches: [ master ]
workflow_dispatch:

permissions:
contents: read

env:
LANG: C.UTF-8

jobs:
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.20"

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4.1

- name: Install packages
run: sudo apt-get install --yes zsh fish tmux

- name: Install Ruby gems
run: bundle install

- name: Rubocop
run: make lint

- name: Unit test
run: make test

- name: Integration test
run: make install && ./install --all && tmux new-session -d && ruby test/runner.rb --verbose
45 changes: 45 additions & 0 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
name: Test fzf on macOS

on:
push:
branches: [ master, devel ]
pull_request:
branches: [ master ]
workflow_dispatch:

permissions:
contents: read

jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: "1.20"

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0.0

- name: Install packages
run: HOMEBREW_NO_INSTALL_CLEANUP=1 brew install fish zsh tmux

- name: Install Ruby gems
run: gem install --no-document minitest:5.14.2 rubocop:1.0.0 rubocop-minitest:0.10.1 rubocop-performance:1.8.1

- name: Rubocop
run: rubocop --require rubocop-minitest --require rubocop-performance

- name: Unit test
run: make test

- name: Integration test
run: make install && ./install --all && LC_ALL=C tmux new-session -d && ruby test/test_go.rb --verbose
24 changes: 24 additions & 0 deletions .github/workflows/sponsors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: Generate Sponsors README
on:
workflow_dispatch:
schedule:
- cron: 0 0 * * 0
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v4

- name: Generate Sponsors 💖
uses: JamesIves/github-sponsors-readme-action@v1
with:
token: ${{ secrets.SPONSORS_TOKEN }}
file: 'README.md'

- name: Deploy to GitHub Pages 🚀
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: master
folder: '.'
10 changes: 10 additions & 0 deletions .github/workflows/typos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: "Spell Check"
on: [pull_request]

jobs:
typos:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.29.4
14 changes: 14 additions & 0 deletions .github/workflows/winget.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Publish to Winget
on:
release:
types: [released]

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: junegunn.fzf
installers-regex: '-windows_(armv7|arm64|amd64)\.zip$'
token: ${{ secrets.WINGET_TOKEN }}
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -3,7 +3,6 @@ bin/fzf.exe
dist
target
pkg
Gemfile.lock
.DS_Store
doc/tags
vendor
11 changes: 0 additions & 11 deletions .gon.hcl

This file was deleted.

Loading