summaryrefslogtreecommitdiff
path: root/src/options.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-01-06 23:33:21 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-01-06 23:34:14 +0900
commit88d768bf6b610cb54a6359556ebd3a858a3343a1 (patch)
tree46ee8ad96b360f82f3b85a7e1415bb59e7f27623 /src/options.go
parent6444cc7905a5459b5346d069ec2465df83b82793 (diff)
downloadfzf-88d768bf6b610cb54a6359556ebd3a858a3343a1.tar.gz
Restructure --help output
Diffstat (limited to 'src/options.go')
-rw-r--r--src/options.go164
1 files changed, 90 insertions, 74 deletions
diff --git a/src/options.go b/src/options.go
index 2b1425fc..8f6af765 100644
--- a/src/options.go
+++ b/src/options.go
@@ -24,16 +24,17 @@ with omitted characters and still get the results you want.
Project URL: https://github.com/junegunn/fzf
Author: Junegunn Choi <junegunn.c@gmail.com>
+* See man page for more information: fzf --man
+
Usage: fzf [options]
- Search
- -x, --extended Extended-search mode
- (enabled by default; +x or --no-extended to disable)
- -e, --exact Enable Exact-match
- -i, --ignore-case Case-insensitive match (default: smart-case match)
+ SEARCH
+ -e, --exact Enable exact-match
+ +x, --no-extended Disable extended-search mode
+ -i, --ignore-case Case-insensitive match
+i, --no-ignore-case Case-sensitive match
+ --smart-case Smart-case match (default)
--scheme=SCHEME Scoring scheme [default|path|history]
- --literal Do not normalize latin script letters before matching
-n, --nth=N[,..] Comma-separated list of field index expressions
for limiting search scope. Each can be a non-zero
integer or a range expression ([BEGIN]..[END]).
@@ -41,45 +42,40 @@ Usage: fzf [options]
field index expressions
-d, --delimiter=STR Field delimiter regex (default: AWK-style)
+s, --no-sort Do not sort the result
+ --literal Do not normalize latin script letters
--tail=NUM Maximum number of items to keep in memory
- --track Track the current selection when the result is updated
- --tac Reverse the order of the input
--disabled Do not perform search
--tiebreak=CRI[,..] Comma-separated list of sort criteria to apply
when the scores are tied [length|chunk|begin|end|index]
(default: length)
- Interface
- -m, --multi[=MAX] Enable multi-select with tab/shift-tab
- --no-mouse Disable mouse
- --bind=KEYBINDS Custom key bindings. Refer to the man page.
- --cycle Enable cyclic scroll
- --wrap Enable line wrap
- --wrap-sign=STR Indicator for wrapped lines
- --no-multi-line Disable multi-line display of items when using --read0
- --gap[=N] Render empty lines between each item
- --keep-right Keep the right end of the line visible on overflow
- --scroll-off=LINES Number of screen lines to keep above or below when
- scrolling to the top or to the bottom (default: 0)
- --no-hscroll Disable horizontal scroll
- --hscroll-off=COLS Number of screen columns to keep to the right of the
- highlighted substring (default: 10)
- --filepath-word Make word-wise movements respect path separators
- --jump-labels=CHARS Label characters for jump mode
- Layout
+ INPUT/OUTPUT
+ --read0 Read input delimited by ASCII NUL characters
+ --print0 Print output delimited by ASCII NUL characters
+ --ansi Enable processing of ANSI color codes
+ --sync Synchronous search for multi-staged filtering
+
+ STYLE
--style=PRESET Apply a style preset [default|minimal|full]
+ --color=COLSPEC Base scheme (dark|light|16|bw) and/or custom colors
+ --no-color Disable colors
+ --no-bold Do not use bold text
+
+ LAYOUT
--height=[~]HEIGHT[%] Display fzf window below the cursor with the given
height instead of using fullscreen.
A negative value is calculated as the terminal height
minus the given value.
If prefixed with '~', fzf will determine the height
according to the input size.
- --min-height=HEIGHT Minimum height when --height is given in percent
+ --min-height=HEIGHT Minimum height for percent --height is given in percent
(default: 10)
--tmux[=OPTS] Start fzf in a tmux popup (requires tmux 3.3+)
[center|top|bottom|left|right][,SIZE[%]][,SIZE[%]]
[,border-native] (default: center,50%)
--layout=LAYOUT Choose layout: [default|reverse|reverse-list]
+ --margin=MARGIN Screen margin (TRBL | TB,RL | T,RL,B | T,R,B,L)
+ --padding=PADDING Padding inside border (TRBL | TB,RL | T,RL,B | T,R,B,L)
--border[=STYLE] Draw border around the finder
[rounded|sharp|bold|block|thinblock|double|horizontal|vertical|
top|bottom|left|right|none] (default: rounded)
@@ -88,6 +84,33 @@ Usage: fzf [options]
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
+
+ LIST SECTION
+ -m, --multi[=MAX] Enable multi-select with tab/shift-tab
+ --highlight-line Highlight the whole current line
+ --cycle Enable cyclic scroll
+ --wrap Enable line wrap
+ --wrap-sign=STR Indicator for wrapped lines
+ --no-multi-line Disable multi-line display of items when using --read0
+ --track Track the current selection when the result is updated
+ --tac Reverse the order of the input
+ --gap[=N] Render empty lines between each item
+ --keep-right Keep the right end of the line visible on overflow
+ --scroll-off=LINES Number of screen lines to keep above or below when
+ scrolling to the top or to the bottom (default: 0)
+ --no-hscroll Disable horizontal scroll
+ --hscroll-off=COLS Number of screen columns to keep to the right of the
+ highlighted substring (default: 10)
+ --jump-labels=CHARS Label characters for jump mode
+ --pointer=STR Pointer to the current line (default: '▌' or '>')
+ --marker=STR Multi-select marker (default: '┃' or '>')
+ --marker-multi-line=STR Multi-select marker for multi-line entries;
+ 3 elements for top, middle, and bottom (default: '╻┃╹')
+ --ellipsis=STR Ellipsis to show when line is truncated (default: '··')
+ --tabstop=SPACES Number of spaces for a tab character (default: 8)
+ --scrollbar[=C1[C2]] Scrollbar character(s)
+ (each for list section and preview window)
+ --no-scrollbar Hide scrollbar
--list-border[=STYLE] Draw border around the list section
[rounded|sharp|bold|block|thinblock|double|horizontal|vertical|
top|bottom|left|right|none] (default: rounded)
@@ -96,6 +119,15 @@ Usage: fzf [options]
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
+
+ INPUT SECTION
+ --prompt=STR Input prompt (default: '> ')
+ --info=STYLE Finder info style
+ [default|right|hidden|inline[-right][:PREFIX]]
+ --info-command=COMMAND Command to generate info line
+ --separator=STR String to form horizontal separator on info line
+ --no-separator Hide info line separator
+ --filepath-word Make word-wise movements respect path separators
--input-border[=STYLE] Draw border around the input section
[rounded|sharp|bold|block|thinblock|double|horizontal|vertical|
top|bottom|left|right|none] (default: rounded)
@@ -104,45 +136,8 @@ Usage: fzf [options]
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
- --header-border[=STYLE] Draw border around the header section
- [rounded|sharp|bold|block|thinblock|double|horizontal|vertical|
- top|bottom|left|right|none] (default: rounded)
- --header-label=LABEL Label to print on the header border
- --header-label-pos=COL Position of the header label
- [POSITIVE_INTEGER: columns from left|
- NEGATIVE_INTEGER: columns from right][:bottom]
- (default: 0 or center)
- --margin=MARGIN Screen margin (TRBL | TB,RL | T,RL,B | T,R,B,L)
- --padding=PADDING Padding inside border (TRBL | TB,RL | T,RL,B | T,R,B,L)
- --info=STYLE Finder info style
- [default|right|hidden|inline[-right][:PREFIX]]
- --info-command=COMMAND Command to generate info line
- --separator=STR String to form horizontal separator on info line
- --no-separator Hide info line separator
- --scrollbar[=C1[C2]] Scrollbar character(s) (each for main and preview window)
- --no-scrollbar Hide scrollbar
- --prompt=STR Input prompt (default: '> ')
- --pointer=STR Pointer to the current line (default: '▌' or '>')
- --marker=STR Multi-select marker (default: '┃' or '>')
- --marker-multi-line=STR Multi-select marker for multi-line entries;
- 3 elements for top, middle, and bottom (default: '╻┃╹')
- --header=STR String to print as header
- --header-lines=N The first N lines of the input are treated as header
- --header-first Print header before the prompt line
- --ellipsis=STR Ellipsis to show when line is truncated (default: '··')
-
- Display
- --ansi Enable processing of ANSI color codes
- --tabstop=SPACES Number of spaces for a tab character (default: 8)
- --color=COLSPEC Base scheme (dark|light|16|bw) and/or custom colors
- --highlight-line Highlight the whole current line
- --no-bold Do not use bold text
-
- History
- --history=FILE History file
- --history-size=N Maximum number of history entries (default: 1000)
- Preview
+ PREVIEW WINDOW
--preview=COMMAND Command to preview highlighted line ({})
--preview-window=OPT Preview window layout (default: right:50%)
[up|down|left|right][,SIZE[%]]
@@ -157,37 +152,56 @@ Usage: fzf [options]
--preview-label-pos=N Same as --border-label and --border-label-pos,
but for preview window
- Scripting
+ HEADER
+ --header=STR String to print as header
+ --header-lines=N The first N lines of the input are treated as header
+ --header-first Print header before the prompt line
+ --header-border[=STYLE] Draw border around the header section
+ [rounded|sharp|bold|block|thinblock|double|horizontal|vertical|
+ top|bottom|left|right|none] (default: rounded)
+ --header-label=LABEL Label to print on the header border
+ --header-label-pos=COL Position of the header label
+ [POSITIVE_INTEGER: columns from left|
+ NEGATIVE_INTEGER: columns from right][:bottom]
+ (default: 0 or center)
+
+ SCRIPTING
-q, --query=STR Start the finder with the given query
-1, --select-1 Automatically select the only match
-0, --exit-0 Exit immediately when there's no match
- -f, --filter=STR Filter mode. Do not start interactive finder.
+ -f, --filter=STR Print matches for the initial query and exit
--print-query Print query as the first line
--expect=KEYS Comma-separated list of keys to complete fzf
- --read0 Read input delimited by ASCII NUL characters
- --print0 Print output delimited by ASCII NUL characters
- --sync Synchronous search for multi-staged filtering
+
+ KEY/EVENT BINDING
+ --bind=BINDINGS Custom key/event bindings
+
+ ADVANCED
--with-shell=STR Shell command and flags to start child processes with
--listen[=[ADDR:]PORT] Start HTTP server to receive actions (POST /)
(To allow remote process execution, use --listen-unsafe)
- Directory traversal (Only used when $FZF_DEFAULT_COMMAND is not set)
+ DIRECTORY TRAVERSAL (Only used when $FZF_DEFAULT_COMMAND is not set)
--walker=OPTS [file][,dir][,follow][,hidden] (default: file,follow,hidden)
--walker-root=DIR [...] List of directories to walk (default: .)
--walker-skip=DIRS Comma-separated list of directory names to skip
(default: .git,node_modules)
- Shell integration
+ HISTORY
+ --history=FILE History file
+ --history-size=N Maximum number of history entries (default: 1000)
+
+ SHELL INTEGRATION
--bash Print script to set up Bash shell integration
--zsh Print script to set up Zsh shell integration
--fish Print script to set up Fish shell integration
- Help
+ HELP
--version Display version information and exit
--help Show this message
--man Show man page
- Environment variables
+ ENVIRONMENT VARIABLES
FZF_DEFAULT_COMMAND Default command to use when input is tty
FZF_DEFAULT_OPTS Default options (e.g. '--layout=reverse --info=inline')
FZF_DEFAULT_OPTS_FILE Location of the file to read default options from
@@ -2279,6 +2293,8 @@ func parseOptions(index *int, opts *Options, allArgs []string) error {
}
case "--no-tail":
opts.Tail = 0
+ case "--smart-case":
+ opts.Case = CaseSmart
case "-i", "--ignore-case":
opts.Case = CaseIgnore
case "+i", "--no-ignore-case":