From 2120bb14f909296199bfb3e162237fd517ef658f Mon Sep 17 00:00:00 2001 From: gw31415 Date: Tue, 2 Apr 2024 11:31:55 +0900 Subject: [PATCH] add full-files --- dot_config/flutter/tool_state | 4 + dot_config/gh/private_config.yml | 17 + dot_config/gh/private_hosts.yml | 5 + dot_config/git/ignore | 1 + dot_config/nvim/dein/lsp-core.toml | 27 +- .../private_fish/completions/docker.fish | 588 +++++++++++ .../private_fish/completions/flutter.fish | 917 ++++++++++++++++++ .../completions/fzf_configure_bindings.fish | 8 + .../private_fish/completions/kubectl.fish | 191 ++++ dot_config/private_fish/completions/sxp.fish | 13 + .../private_fish/conf.d/android-sdk.fish | 20 + dot_config/private_fish/conf.d/autopair.fish | 39 + dot_config/private_fish/conf.d/fzf.fish | 28 + dot_config/private_fish/conf.d/rustup.fish | 1 + dot_config/private_fish/fish_variables | 49 + .../functions/_autopair_backspace.fish | 9 + .../functions/_autopair_insert_left.fish | 13 + .../functions/_autopair_insert_right.fish | 11 + .../functions/_autopair_insert_same.fish | 20 + .../private_fish/functions/_autopair_tab.fish | 7 + .../_fzf_configure_bindings_help.fish | 43 + .../functions/_fzf_extract_var_info.fish | 15 + .../functions/_fzf_preview_changed_file.fish | 49 + .../functions/_fzf_preview_file.fish | 43 + .../functions/_fzf_report_diff_type.fish | 18 + .../functions/_fzf_report_file_type.fish | 6 + .../functions/_fzf_search_directory.fish | 33 + .../functions/_fzf_search_git_log.fish | 36 + .../functions/_fzf_search_git_status.fish | 41 + .../functions/_fzf_search_history.fish | 39 + .../functions/_fzf_search_processes.fish | 32 + .../functions/_fzf_search_variables.fish | 47 + .../private_fish/functions/_fzf_wrapper.fish | 20 + .../functions/fzf_configure_bindings.fish | 46 + 34 files changed, 2433 insertions(+), 3 deletions(-) create mode 100644 dot_config/flutter/tool_state create mode 100644 dot_config/gh/private_config.yml create mode 100644 dot_config/gh/private_hosts.yml create mode 100644 dot_config/git/ignore create mode 100644 dot_config/private_fish/completions/docker.fish create mode 100644 dot_config/private_fish/completions/flutter.fish create mode 100644 dot_config/private_fish/completions/fzf_configure_bindings.fish create mode 100644 dot_config/private_fish/completions/kubectl.fish create mode 100644 dot_config/private_fish/completions/sxp.fish create mode 100644 dot_config/private_fish/conf.d/android-sdk.fish create mode 100644 dot_config/private_fish/conf.d/autopair.fish create mode 100644 dot_config/private_fish/conf.d/fzf.fish create mode 100644 dot_config/private_fish/conf.d/rustup.fish create mode 100644 dot_config/private_fish/fish_variables create mode 100644 dot_config/private_fish/functions/_autopair_backspace.fish create mode 100644 dot_config/private_fish/functions/_autopair_insert_left.fish create mode 100644 dot_config/private_fish/functions/_autopair_insert_right.fish create mode 100644 dot_config/private_fish/functions/_autopair_insert_same.fish create mode 100644 dot_config/private_fish/functions/_autopair_tab.fish create mode 100644 dot_config/private_fish/functions/_fzf_configure_bindings_help.fish create mode 100644 dot_config/private_fish/functions/_fzf_extract_var_info.fish create mode 100644 dot_config/private_fish/functions/_fzf_preview_changed_file.fish create mode 100644 dot_config/private_fish/functions/_fzf_preview_file.fish create mode 100644 dot_config/private_fish/functions/_fzf_report_diff_type.fish create mode 100644 dot_config/private_fish/functions/_fzf_report_file_type.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_directory.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_git_log.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_git_status.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_history.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_processes.fish create mode 100644 dot_config/private_fish/functions/_fzf_search_variables.fish create mode 100644 dot_config/private_fish/functions/_fzf_wrapper.fish create mode 100644 dot_config/private_fish/functions/fzf_configure_bindings.fish diff --git a/dot_config/flutter/tool_state b/dot_config/flutter/tool_state new file mode 100644 index 0000000..96b681c --- /dev/null +++ b/dot_config/flutter/tool_state @@ -0,0 +1,4 @@ +{ + "is-bot": false, + "license-hash": "595d1dceffbb08773627ff5766d17ddf" +} diff --git a/dot_config/gh/private_config.yml b/dot_config/gh/private_config.yml new file mode 100644 index 0000000..5d14b83 --- /dev/null +++ b/dot_config/gh/private_config.yml @@ -0,0 +1,17 @@ +# The current version of the config schema +version: 1 +# What protocol to use when performing git operations. Supported values: ssh, https +git_protocol: https +# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment. +editor: +# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled +prompt: enabled +# A pager program to send command output to, e.g. "less". If blank, will refer to environment. Set the value to "cat" to disable the pager. +pager: +# Aliases allow you to create nicknames for gh commands +aliases: + co: pr checkout +# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport. +http_unix_socket: +# What web browser gh should use when opening URLs. If blank, will refer to environment. +browser: diff --git a/dot_config/gh/private_hosts.yml b/dot_config/gh/private_hosts.yml new file mode 100644 index 0000000..94b859f --- /dev/null +++ b/dot_config/gh/private_hosts.yml @@ -0,0 +1,5 @@ +github.com: + git_protocol: https + users: + gw31415: + user: gw31415 diff --git a/dot_config/git/ignore b/dot_config/git/ignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/dot_config/git/ignore @@ -0,0 +1 @@ +.DS_Store diff --git a/dot_config/nvim/dein/lsp-core.toml b/dot_config/nvim/dein/lsp-core.toml index 872f09a..89bc5a4 100644 --- a/dot_config/nvim/dein/lsp-core.toml +++ b/dot_config/nvim/dein/lsp-core.toml @@ -24,16 +24,29 @@ lua_source = ''' [[plugins]] repo = "neovim/nvim-lspconfig" lua_source = ''' + local lspconfig = require('lspconfig') + if vim.fn.executable "satysfi-language-server" == 1 then - require('lspconfig')['satysfi-ls'].setup { autostart = true } + lspconfig['satysfi-ls'].setup { autostart = true } end -- if vim.fn.executable "sourcekit-lsp" == 1 then -- require('lspconfig')['sourcekit-lsp'].setup { autostart = true } -- end + if vim.fn.executable "erg" == 1 then - require('lspconfig')['erg'].setup { autostart = true } + lspconfig['erg'].setup { autostart = true } + end + + if vim.fn.executable "gopls" == 1 then + lspconfig['gopls'].setup { autostart = true } + end + + if vim.fn.executable "markdown-oxide" then + lspconfig.markdown_oxide.setup({ + -- capabilities = capabilities -- ensure that capabilities.workspace.didChangeWatchedFiles.dynamicRegistration = true + root_dir = lspconfig.util.root_pattern('.git', vim.fn.getcwd()), -- this is a temp fix for an error in the lspconfig for this LS + }) end - require('lspconfig')['obsidian'].setup{} ''' [[plugins]] @@ -81,6 +94,14 @@ lua_source = ''' end, { buffer = true } ) + -- refresh codelens on TextChanged and InsertLeave as well + vim.api.nvim_create_autocmd({ 'TextChanged', 'InsertLeave', 'CursorHold', 'LspAttach' }, { + buffer = 0, + callback = vim.lsp.codelens.refresh, + }) + + -- trigger codelens refresh + vim.api.nvim_exec_autocmds('User', { pattern = 'LspAttached' }) -- vim.api.nvim_create_autocmd('BufWritePre', { -- callback = function() vim.lsp.buf.format { async = false } end, -- buffer = bufnr, diff --git a/dot_config/private_fish/completions/docker.fish b/dot_config/private_fish/completions/docker.fish new file mode 100644 index 0000000..508a0c8 --- /dev/null +++ b/dot_config/private_fish/completions/docker.fish @@ -0,0 +1,588 @@ +# docker.fish - docker completions for fish shell +# +# This file is generated by gen_docker_fish_completions.py from: +# https://github.com/barnybug/docker-fish-completion +# +# To install the completions: +# mkdir -p ~/.config/fish/completions +# cp docker.fish ~/.config/fish/completions +# +# Completion supported: +# - parameters +# - commands +# - containers +# - images +# - repositories + +function __fish_docker_no_subcommand --description 'Test if docker has yet to be given the subcommand' + for i in (commandline -opc) + if contains -- $i attach build commit cp create diff events exec export history images import info inspect kill load login logout logs network pause port ps pull push rename restart rm rmi run save search start stop tag top trust unpause version wait stats + return 1 + end + end + return 0 +end + +function __fish_print_docker_containers --description 'Print a list of docker containers' -a select + switch $select + case running + docker ps -a --no-trunc --filter status=running --format "{{.ID}}\n{{.Names}}" | tr ',' '\n' + case stopped + docker ps -a --no-trunc --filter status=exited --format "{{.ID}}\n{{.Names}}" | tr ',' '\n' + case all + docker ps -a --no-trunc --format "{{.ID}}\n{{.Names}}" | tr ',' '\n' + end +end + +function __fish_print_docker_networks --description 'Print a list of docker networks' + docker network ls --format "{{.ID}}\n{{.Name}}" | tr ',' '\n' +end + + +function __fish_docker_no_subcommand_trust --description 'Test if docker has yet to be given the trust subcommand' + if __fish_seen_subcommand_from trust + for i in (commandline -opc) + if contains -- $i inspect key revoke sign signer + return 1 + end + end + return 0 + end + return 1 +end + +function __fish_docker_subcommand_path --description 'Test if command has all arguments in any order' + set -l cmd (commandline -poc) + set -e cmd[1] + for sub in $argv + if not contains -- $sub $cmd + return 1 + end + end + return 0 +end + +function __fish_docker_subcommand_path_without --description 'Test if command has all arguments in any order' + set -l cmd (commandline -poc) + set -e cmd[1] + for sub in $argv + if contains -- $sub $cmd + return 1 + end + end + return 0 +end + +function __fish_print_docker_images --description 'Print a list of docker images' + docker images --format "{{.Repository}}:{{.Tag}}" | command grep -v '' +end + +function __fish_print_docker_repositories --description 'Print a list of docker repositories' + docker images --format "{{.Repository}}" | command grep -v '' | command sort | command uniq +end + +# common options +complete -c docker -f -n '__fish_docker_no_subcommand' -l api-cors-header -d "Set CORS headers in the Engine API. Default is cors disabled" +complete -c docker -f -n '__fish_docker_no_subcommand' -s b -l bridge -d 'Attach containers to a pre-existing network bridge' +complete -c docker -f -n '__fish_docker_no_subcommand' -l bip -d "Use this CIDR notation address for the network bridge's IP, not compatible with -b" +complete -c docker -f -n '__fish_docker_no_subcommand' -s D -l debug -d 'Enable debug mode' +complete -c docker -f -n '__fish_docker_no_subcommand' -s d -l daemon -d 'Enable daemon mode' +complete -c docker -f -n '__fish_docker_no_subcommand' -l dns -d 'Force Docker to use specific DNS servers' +complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-opt -d 'Force Docker to use specific DNS options' +complete -c docker -f -n '__fish_docker_no_subcommand' -l dns-search -d 'Force Docker to use specific DNS search domains' +complete -c docker -f -n '__fish_docker_no_subcommand' -l exec-opt -d 'Set runtime execution options' +complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr -d 'IPv4 subnet for fixed IPs (e.g. 10.20.0.0/16)' +complete -c docker -f -n '__fish_docker_no_subcommand' -l fixed-cidr-v6 -d 'IPv6 subnet for fixed IPs (e.g.: 2001:a02b/48)' +complete -c docker -f -n '__fish_docker_no_subcommand' -s G -l group -d 'Group to assign the unix socket specified by -H when running in daemon mode' +complete -c docker -f -n '__fish_docker_no_subcommand' -s g -l graph -d 'Path to use as the root of the Docker runtime' +complete -c docker -f -n '__fish_docker_no_subcommand' -s H -l host -d 'The socket(s) to bind to in daemon mode or connect to in client mode, specified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.' +complete -c docker -f -n '__fish_docker_no_subcommand' -s h -l help -d 'Print usage' +complete -c docker -f -n '__fish_docker_no_subcommand' -l icc -d 'Allow unrestricted inter-container and Docker daemon host communication' +complete -c docker -f -n '__fish_docker_no_subcommand' -l insecure-registry -d 'Enable insecure communication with specified registries (no certificate verification for HTTPS and enable HTTP fallback) (e.g., localhost:5000 or 10.20.0.0/16)' +complete -c docker -f -n '__fish_docker_no_subcommand' -l ip -d 'Default IP address to use when binding container ports' +complete -c docker -f -n '__fish_docker_no_subcommand' -l ip-forward -d 'Enable net.ipv4.ip_forward and IPv6 forwarding if --fixed-cidr-v6 is defined. IPv6 forwarding may interfere with your existing IPv6 configuration when using Router Advertisement.' +complete -c docker -f -n '__fish_docker_no_subcommand' -l ip-masq -d "Enable IP masquerading for bridge's IP range" +complete -c docker -f -n '__fish_docker_no_subcommand' -l iptables -d "Enable Docker's addition of iptables rules" +complete -c docker -f -n '__fish_docker_no_subcommand' -l ipv6 -d 'Enable IPv6 networking' +complete -c docker -f -n '__fish_docker_no_subcommand' -s l -l log-level -d 'Set the logging level ("debug", "info", "warn", "error", "fatal")' +complete -c docker -f -n '__fish_docker_no_subcommand' -l label -d 'Set key=value labels to the daemon (displayed in `docker info`)' +complete -c docker -f -n '__fish_docker_no_subcommand' -l mtu -d 'Set the containers network MTU' +complete -c docker -f -n '__fish_docker_no_subcommand' -s p -l pidfile -d 'Path to use for daemon PID file' +complete -c docker -f -n '__fish_docker_no_subcommand' -l registry-mirror -d 'Specify a preferred registry mirror' +complete -c docker -f -n '__fish_docker_no_subcommand' -s s -l storage-driver -d 'Force the Docker runtime to use a specific storage driver' +complete -c docker -f -n '__fish_docker_no_subcommand' -l selinux-enabled -d 'Enable selinux support. SELinux does not presently support the BTRFS storage driver' +complete -c docker -f -n '__fish_docker_no_subcommand' -l storage-opt -d 'Set storage driver options' +complete -c docker -f -n '__fish_docker_no_subcommand' -l tls -d 'Use TLS; implied by --tlsverify' +complete -c docker -f -n '__fish_docker_no_subcommand' -l tlscacert -d 'Trust only remotes providing a certificate signed by the CA given here' +complete -c docker -f -n '__fish_docker_no_subcommand' -l tlscert -d 'Path to TLS certificate file' +complete -c docker -f -n '__fish_docker_no_subcommand' -l tlskey -d 'Path to TLS key file' +complete -c docker -f -n '__fish_docker_no_subcommand' -l tlsverify -d 'Use TLS and verify the remote (daemon: verify client, client: verify daemon)' +complete -c docker -f -n '__fish_docker_no_subcommand' -s v -l version -d 'Print version information and quit' + +# subcommands +# attach +complete -c docker -f -n '__fish_docker_no_subcommand' -a attach -d 'Attach local standard input, output, and error streams to a running container' +complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l detach-keys -d 'Override the key sequence for detaching a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l no-stdin -d 'Do not attach STDIN' +complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -l sig-proxy -d 'Proxy all received signals to the process' +complete -c docker -A -f -n '__fish_seen_subcommand_from attach' -a '(__fish_print_docker_containers running)' -d "Container" + +# build +complete -c docker -f -n '__fish_docker_no_subcommand' -a build -d 'Build an image from a Dockerfile' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l add-host -d 'Add a custom host-to-IP mapping (host:ip)' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l build-arg -d 'Set build-time variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cache-from -d 'Images to consider as cache sources' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cgroup-parent -d 'Optional parent cgroup for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l compress -d 'Compress the build context using gzip' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cpu-period -d 'Limit the CPU CFS (Completely Fair Scheduler) period' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cpu-quota -d 'Limit the CPU CFS (Completely Fair Scheduler) quota' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s c -l cpu-shares -d 'CPU shares (relative weight)' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cpuset-cpus -d 'CPUs in which to allow execution (0-3, 0,1)' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l cpuset-mems -d 'MEMs in which to allow execution (0-3, 0,1)' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l disable-content-trust -d 'Skip image verification' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s f -l file -d "Name of the Dockerfile (Default is ‘PATH/Dockerfile’)" +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l force-rm -d 'Always remove intermediate containers' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l iddfile -d 'Write the image ID to the file' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l isolation -d 'Container isolation technology' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l label -d 'Set metadata for an image' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s m -l memory -d 'Memory limit' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l memory-swap -d 'Swap limit equal to memory plus swap: ‘-1’ to enable unlimited swap' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l network -d 'Set the networking mode for the RUN instructions during build' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l no-cache -d 'Do not use cache when building the image' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l pull -d 'Always attempt to pull a newer version of the image' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s q -l quiet -d 'Suppress the build output and print image ID on success' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l rm -d 'Remove intermediate containers after a successful build' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l security-opt -d 'Security options' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l shm-size -d 'Size of /dev/shm' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -s t -l tag -d 'Name and optionally a tag in the ‘name:tag’ format' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l target -d 'Set the target build stage to build' +complete -c docker -A -f -n '__fish_seen_subcommand_from build' -l ulimit -d 'Ulimit options' + +# commit +complete -c docker -f -n '__fish_docker_no_subcommand' -a commit -d "Create a new image from a container's changes" +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s a -l author -d 'Author (e.g., "John Hannibal Smith ")' +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s c -l change -d 'Apply Dockerfile instruction to the created image' +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s m -l message -d 'Commit message' +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -s p -l pause -d 'Pause container during commit' +complete -c docker -A -f -n '__fish_seen_subcommand_from commit' -a '(__fish_print_docker_containers all)' -d "Container" + +# cp +complete -c docker -f -n '__fish_docker_no_subcommand' -a cp -d "Copy files/folders between a container and the local filesystem" +complete -c docker -A -f -n '__fish_seen_subcommand_from cp' -s a -l archive -d 'Archive mode (copy all uid/gid information)' +complete -c docker -A -f -n '__fish_seen_subcommand_from cp' -s L -l follow-link -d 'Always follow symbol link in SRC_PATH' +complete -c docker -A -f -n '__fish_seen_subcommand_from cp' -l help -d 'Print usage' + +# create +complete -c docker -f -n '__fish_docker_no_subcommand' -a create -d 'Create a new container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l add-host -d 'Add a custom host-to-IP mapping (host:ip)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l annotation -d 'Add an annotation to the container (passed through to the OCI runtime)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s a -l attach -d 'Attach to STDIN, STDOUT or STDERR.' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l blkio-weight -d 'Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l blkio-weight-device -d 'Block IO weight (relative device weight)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cap-add -d 'Add Linux capabilities' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cap-drop -d 'Drop Linux capabilities' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cgroupns -d 'Cgroup namespace mode to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cgroup-parent -d 'Optional parent cgroup for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cidfile -d 'Write the container ID to the file' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-count -d 'CPU count (Windows only)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-percent -d 'CPU percent (Windows only)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-period -d 'Limit CPU CFS (Completely Fair Scheduler) period' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-quota -d 'Limit CPU CFS (Completely Fair Scheduler) quota' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-rt-period -d 'Limit CPU real-time period in microseconds' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-rt-runtime -d 'Limit CPU real-time runtime in microseconds' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpu-shares -d 'CPU shares (relative weight)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpus -d 'Number of CPUs' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpuset-cpus -d 'CPUs in which to allow execution (0-3, 0,1)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l cpuset-mems -d 'MEMs in which to allow execution (0-3, 0,1)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device -d 'Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc:rwm)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-cgroup-rule -d 'Add a rule to the cgroup allowed devices list' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-read-bps -d 'Limit read rate (bytes per second) from a device' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-read-iops -d 'Limit read rate (IO per second) from a device' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-write-bps -d 'Limit write rate (bytes per second) to a device' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-write-iops -d 'Limit write rate (IO per second) to a device' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l disable-content-trust -d 'Skip image verification' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l dns -d 'Set custom DNS servers' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l dns-opt -d 'Set DNS options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l dns-option -d 'Set DNS options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l dns-search -d 'Set custom DNS search domains' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s e -l env -d 'Set environment variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l entrypoint -d 'Overwrite the default ENTRYPOINT of the image' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l env-file -d 'Read in a line delimited file of environment variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l expose -d 'Expose a port or a range of ports' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l group-add -d 'Add additional groups to join' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l health-cmd -d 'Command to run to check health' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l health-interval -d 'Time between running the check (ms|s|m|h) (default 0s)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l health-retries -d 'Consecutive failures needed to report unhealthy' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l health-start-period -d 'Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l health-timeout -d 'Maximum time to allow one check to run (ms|s|m|h) (default 0s)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s h -l hostname -d 'Container host name' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l init -d 'Run an init inside the container that forwards signals and reaps processes' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s i -l interactive -d 'Keep STDIN open even if not attached' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l io-maxbandwidth -d 'Maximum IO bandwidth limit for the system drive (Windows only)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l io-maxiops -d 'Maximum IOps limit for the system drive (Windows only)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l ip -d 'IPv4 address (e.g., 172.30.100.104)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l ip6 -d 'IPv6 address (e.g., 2001:db8::33)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l ipc -d 'IPC mode to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l isolation -d 'Container isolation technology' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l kernel-memory -d 'Kernel memory limit' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s l -l label -d 'Set meta data on a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l label-file -d 'Read in a line delimited file of labels' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l link -d 'Add link to another container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l link-local-ip -d 'Container IPv4/IPv6 link-local addresses' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l log-driver -d 'Logging driver for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l log-opt -d 'Log driver options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l mac-address -d 'Container MAC address (e.g., 92:d0:c6:0a:29:33)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s m -l memory -d 'Memory limit' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l memory-reservation -d 'Memory soft limit' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l memory-swap -d 'Swap limit equal to memory plus swap: ‘-1’ to enable unlimited swap' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l memory-swappiness -d 'Tune container memory swappiness (0 to 100)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l mount -d 'Attach a filesystem mount to the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l name -d 'Assign a name to the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s net -l network -d 'Connect a container to a network' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s net-alias -l network-alias -d 'Add network-scoped alias for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l no-healthcheck -d 'Disable any container-specified HEALTHCHECK' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l oom-kill-disable -d 'Disable OOM Killer' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l oom-score-adj -d 'Tune host’s OOM preferences (-1000 to 1000)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l pid -d 'PID namespace to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l pids-limit -d 'Tune container pids limit (set -1 for unlimited )' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l privileged -d 'Give extended privileges to this container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s p -l publish -d "Publish a container’s port(s) to the host" +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s P -l publish-all -d 'Publish all exposed ports to random ports' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l read-only -d "Mount the container's root filesystem as read only" +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l restart -d 'Restart policy to apply when a container exits' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l rm -d 'Automatically remove the container when it exits' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l runtime -d 'Runtime to use for this container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l security-opt -d 'Security Options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l shm-size -d 'Size of /dev/shm' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l stop-signal -d 'Signal to stop a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l stop-timeout -d 'Timeout (in seconds) to stop a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l storage-opt -d 'Storage driver options for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l sysctl -d 'Sysctl options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l tmpfs -d 'Mount a tmpfs directory' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s t -l tty -d 'Allocate a pseudo-TTY' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l ulimit -d 'Ulimit options' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s u -l user -d ' Username or UID (format: [:])' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l userns -d 'User namespace to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l uts -d 'UTS namespace to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s v -l volume -d 'Bind mount a volume' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l volume-driver -d 'Optional volume driver for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l volumes-from -d 'Mount volumes from the specified container(s)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -s w -l workdir -d 'Working directory inside the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -a '(__fish_print_docker_images)' -d "Image" + +# diff +complete -c docker -f -n '__fish_docker_no_subcommand' -a diff -d "Inspect changes on a container's filesystem" +complete -c docker -A -f -n '__fish_seen_subcommand_from diff' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from diff' -a '(__fish_print_docker_containers all)' -d "Container" + +# events +complete -c docker -f -n '__fish_docker_no_subcommand' -a events -d 'Get real time events from the server' +complete -c docker -A -f -n '__fish_seen_subcommand_from events' -s f -l filter -d "Filter output based on conditions provided" +complete -c docker -A -f -n '__fish_seen_subcommand_from events' -l format -d 'Format the output using the given Go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from events' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from events' -l since -d 'Show all events created since timestamp' +complete -c docker -A -f -n '__fish_seen_subcommand_from events' -l until -d 'Stream events until this timestamp' + +# exec +complete -c docker -f -n '__fish_docker_no_subcommand' -a exec -d 'Execute a command in a running container' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s d -l detach -d 'Detached mode: run command in the background' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -l detach-keys -d 'Override the key sequence for detaching a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s e -l env -d 'Set environment variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s i -l interactive -d 'Keep STDIN open even if not attached' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -l privileged -d 'Give extended privileges to the command' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s t -l tty -d 'Allocate a pseudo-TTY' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s u -l user -d 'Username or UID (format: [:])' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -s w -l workdir -d 'Working directory inside the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from exec' -a '(__fish_print_docker_containers running)' -d "Container" + +# export +complete -c docker -f -n '__fish_docker_no_subcommand' -a export -d 'Stream the contents of a container as a tar archive' +complete -c docker -A -f -n '__fish_seen_subcommand_from export' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from export' -s o -l output -d 'Write to a file, instead of STDOUT' +complete -c docker -A -f -n '__fish_seen_subcommand_from export' -a '(__fish_print_docker_containers all)' -d "Container" + +# history +complete -c docker -f -n '__fish_docker_no_subcommand' -a history -d 'Show the history of an image' +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -l format -d 'Format the output using the given Go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -s H -l human -d 'Print sizes and dates in human readable format' +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -l no-trunc -d "Don't truncate output" +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -s q -l quiet -d 'Only show image IDs' +complete -c docker -A -f -n '__fish_seen_subcommand_from history' -a '(__fish_print_docker_images)' -d "Image" + +# images +complete -c docker -f -n '__fish_docker_no_subcommand' -a images -d 'List images' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s a -l all -d 'Show all images (default hides intermediate images)' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -l digests -d 'Show digests' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s f -l filter -d 'Filter output based on conditions provided' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -l format -d 'Format the output using the given Go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -l no-trunc -d "Don't truncate output" +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -s q -l quiet -d 'Only show image IDs' +complete -c docker -A -f -n '__fish_seen_subcommand_from images' -a '(__fish_print_docker_repositories)' -d "Repository" + +# import +complete -c docker -f -n '__fish_docker_no_subcommand' -a import -d 'Create a new filesystem image from the contents of a tarball' +complete -c docker -A -f -n '__fish_seen_subcommand_from import' -s c -l change -d 'Apply Dockerfile instruction to the created image' +complete -c docker -A -f -n '__fish_seen_subcommand_from import' -s m -l message -d 'Set commit message for imported image' +complete -c docker -A -f -n '__fish_seen_subcommand_from import' -l help -d 'Print usage' + +# info +complete -c docker -f -n '__fish_docker_no_subcommand' -a info -d 'Display system-wide information' +complete -c docker -A -f -n '__fish_seen_subcommand_from info' -s f -l format -d 'Format the output using the given go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from info' -l help -d 'Print usage' + +# inspect +complete -c docker -f -n '__fish_docker_no_subcommand' -a inspect -d 'Return low-level information on a container or image' +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -s f -l format -d 'Format the output using the given go template.' +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -s s -l size -d 'Display total file sizes if the type is container.' +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -l type -d 'Return JSON for specified type' +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -a '(__fish_print_docker_images)' -d "Image" +complete -c docker -A -f -n '__fish_seen_subcommand_from inspect' -a '(__fish_print_docker_containers all)' -d "Container" + +# kill +complete -c docker -f -n '__fish_docker_no_subcommand' -a kill -d 'Kill a running container' +complete -c docker -A -f -n '__fish_seen_subcommand_from kill' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from kill' -s s -l signal -d 'Signal to send to the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from kill' -a '(__fish_print_docker_containers running)' -d "Container" + +# load +complete -c docker -f -n '__fish_docker_no_subcommand' -a load -d 'Load an image from a tar archive' +complete -c docker -A -f -n '__fish_seen_subcommand_from load' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from load' -s i -l input -d 'Read from a tar archive file, instead of STDIN' +complete -c docker -A -f -n '__fish_seen_subcommand_from load' -s q -l quiet -d 'Suppress the load output' + +# login +complete -c docker -f -n '__fish_docker_no_subcommand' -a login -d 'Log in to a registry' +complete -c docker -A -f -n '__fish_seen_subcommand_from login' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s p -l password -d 'Password' +complete -c docker -A -f -n '__fish_seen_subcommand_from login' -l password-stdin -d 'Take the password from stdin' +complete -c docker -A -f -n '__fish_seen_subcommand_from login' -s u -l username -d 'Username' + +# logout +complete -c docker -f -n '__fish_docker_no_subcommand' -a logout -d 'Log out from a registry' + +# logs +complete -c docker -f -n '__fish_docker_no_subcommand' -a logs -d 'Fetch the logs of a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -s f -l follow -d 'Follow log output' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -s t -l timestamps -d 'Show timestamps' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -l since -d 'Show logs since timestamp' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -s n -l tail -d 'Output the specified number of lines at the end of logs (defaults to all logs)' +complete -c docker -A -f -n '__fish_seen_subcommand_from logs' -a '(__fish_print_docker_containers running)' -d "Container" + +# network +complete -c docker -f -n '__fish_docker_no_subcommand' -a network -d 'Manage networks' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a connect -d 'Connect a container to a network' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a create -d 'Create a network' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a disconnect -d 'Disconnect a container from a network' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a inspect -d 'Display detailed information on one or more networks' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a ls -d 'List networks' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a prune -d 'Remove all unused networks' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -a rm -d 'Remove one or more networks' +complete -c docker -A -f -n '__fish_seen_subcommand_from network' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from network rm' -a '(__fish_print_docker_networks)' -d "Network" +complete -c docker -A -f -n '__fish_seen_subcommand_from network connect' -a '(__fish_print_docker_networks)' -d "Network" +complete -c docker -A -f -n '__fish_seen_subcommand_from network disconnect' -a '(__fish_print_docker_networks)' -d "Network" +complete -c docker -A -f -n '__fish_seen_subcommand_from network inspect' -a '(__fish_print_docker_networks)' -d "Network" + +# port +complete -c docker -f -n '__fish_docker_no_subcommand' -a port -d 'Lookup the public-facing port that is NAT-ed to PRIVATE_PORT' +complete -c docker -A -f -n '__fish_seen_subcommand_from port' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from port' -a '(__fish_print_docker_containers running)' -d "Container" + +# pause +complete -c docker -f -n '__fish_docker_no_subcommand' -a pause -d 'Pause all processes within a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from pause' -a '(__fish_print_docker_containers running)' -d "Container" + +# ps +complete -c docker -f -n '__fish_docker_no_subcommand' -a ps -d 'List containers' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s a -l all -d 'Show all containers. Only running containers are shown by default.' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l before -d 'Show only container created before Id or Name, include non-running ones.' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s f -l filter -d 'Provide filter values. Valid filters:' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s l -l latest -d 'Show only the latest created container, include non-running ones.' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s n -d 'Show n last created containers, include non-running ones.' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l no-trunc -d "Don't truncate output" +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s q -l quiet -d 'Only display container IDs' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -s s -l size -d 'Display total file sizes' +complete -c docker -A -f -n '__fish_seen_subcommand_from ps' -l since -d 'Show only containers created since Id or Name, include non-running ones.' + +# pull +complete -c docker -f -n '__fish_docker_no_subcommand' -a pull -d 'Download an image from a registry' +complete -c docker -A -f -n '__fish_seen_subcommand_from pull' -s a -l all-tags -d 'Download all tagged images in the repository' +complete -c docker -A -f -n '__fish_seen_subcommand_from pull' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from pull' -a '(__fish_print_docker_images)' -d "Image" +complete -c docker -A -f -n '__fish_seen_subcommand_from pull' -a '(__fish_print_docker_repositories)' -d "Repository" + +# push +complete -c docker -f -n '__fish_docker_no_subcommand' -a push -d 'Upload an image to a registry' +complete -c docker -A -f -n '__fish_seen_subcommand_from push' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from push' -a '(__fish_print_docker_images)' -d "Image" +complete -c docker -A -f -n '__fish_seen_subcommand_from push' -a '(__fish_print_docker_repositories)' -d "Repository" + +# rename +complete -c docker -f -n '__fish_docker_no_subcommand' -a rename -d 'Rename an existing container' + +# restart +complete -c docker -f -n '__fish_docker_no_subcommand' -a restart -d 'Restart a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from restart' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from restart' -s t -l time -d 'Number of seconds to try to stop for before killing the container. Once killed it will then be restarted. Default is 10 seconds.' +complete -c docker -A -f -n '__fish_seen_subcommand_from restart' -a '(__fish_print_docker_containers running)' -d "Container" + +# rm +complete -c docker -f -n '__fish_docker_no_subcommand' -a rm -d 'Remove one or more containers' +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s f -l force -d 'Force the removal of a running container (uses SIGKILL)' +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s l -l link -d 'Remove the specified link and not the underlying container' +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s v -l volumes -d 'Remove anonymous volumes associated with the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -a '(__fish_print_docker_containers stopped)' -d "Container" +complete -c docker -A -f -n '__fish_seen_subcommand_from rm' -s f -l force -a '(__fish_print_docker_containers all)' -d "Container" + +# rmi +complete -c docker -f -n '__fish_docker_no_subcommand' -a rmi -d 'Remove one or more images' +complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -s f -l force -d 'Force removal of the image' +complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -l no-prune -d 'Do not delete untagged parents' +complete -c docker -A -f -n '__fish_seen_subcommand_from rmi' -a '(__fish_print_docker_images)' -d "Image" + +# run +complete -c docker -f -n '__fish_docker_no_subcommand' -a run -d 'Create and run a new container from an image' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l annotation -d 'Add an annotation to the container (passed through to the OCI runtime)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s a -l attach -d 'Attach to STDIN, STDOUT or STDERR.' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l add-host -d 'Add a custom host-to-IP mapping (host:ip)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s c -l cpu-shares -d 'CPU shares (relative weight)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l cap-add -d 'Add Linux capabilities' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l cap-drop -d 'Drop Linux capabilities' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l cidfile -d 'Write the container ID to the file' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l cgroupns -d 'Cgroup namespace mode to use' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l cpuset -d 'CPUs in which to allow execution (0-3, 0,1)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s d -l detach -d 'Detached mode: run the container in the background and print the new container ID' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l device -d 'Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc:rwm)' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l device-cgroup-rule -d 'Add a rule to the cgroup allowed devices list (e.g. --device-cgroup-rule="c 13:37 rwm")' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l dns -d 'Set custom DNS servers' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l dns-opt -d "Set custom DNS options (Use --dns-opt='' if you don't wish to set options)" +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l dns-search -d "Set custom DNS search domains (Use --dns-search=. if you don't wish to set the search domain)" +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s e -l env -d 'Set environment variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l entrypoint -d 'Overwrite the default ENTRYPOINT of the image' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l env-file -d 'Read in a line delimited file of environment variables' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l expose -d 'Expose a port or a range of ports (e.g. --expose=3300-3310) from the container without publishing it to your host' +complete -c docker -A -f -n '__fish_seen_subcommand_from create' -l group-add -d 'Add additional groups to run as' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s h -l hostname -d 'Container host name' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s i -l interactive -d 'Keep STDIN open even if not attached' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l ipc -d 'Default is to create a private IPC namespace (POSIX SysV IPC) for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l link -d 'Add link to another container in the form of :alias' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s m -l memory -d 'Memory limit (format: [], where unit = b, k, m or g)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l mac-address -d 'Container MAC address (e.g., 92:d0:c6:0a:29:33)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l memory-swap -d "Total memory usage (memory + swap), set '-1' to disable swap (format: [], where unit = b, k, m or g)" +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l mount -d 'Attach a filesystem mount to the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l name -d 'Assign a name to the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l net -d 'Set the Network mode for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s P -l publish-all -d 'Publish all exposed ports to random ports on the host interfaces' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s p -l publish -d "Publish a container's port to the host" +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l pid -d 'Default is to create a private PID namespace for the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l privileged -d 'Give extended privileges to this container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l read-only -d "Mount the container's root filesystem as read only" +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l restart -d 'Restart policy to apply when a container exits (no, on-failure[:max-retry], always)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l rm -d 'Automatically remove the container when it exits (incompatible with -d)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l security-opt -d 'Security Options' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l sig-proxy -d 'Proxy received signals to the process (non-TTY mode only). SIGCHLD, SIGSTOP, and SIGKILL are not proxied.' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l stop-signal -d 'Signal to kill a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s t -l tty -d 'Allocate a pseudo-TTY' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s u -l user -d 'Username or UID' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l tmpfs -d 'Mount tmpfs on a directory' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s v -l volume -d 'Bind mount a volume (e.g., from the host: -v /host:/container, from Docker: -v /container)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -l volumes-from -d 'Mount volumes from the specified container(s)' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -s w -l workdir -d 'Working directory inside the container' +complete -c docker -A -f -n '__fish_seen_subcommand_from run' -a '(__fish_print_docker_images)' -d "Image" + +# save +complete -c docker -f -n '__fish_docker_no_subcommand' -a save -d 'Save an image to a tar archive' +complete -c docker -A -f -n '__fish_seen_subcommand_from save' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from save' -s o -l output -d 'Write to an file, instead of STDOUT' +complete -c docker -A -f -n '__fish_seen_subcommand_from save' -a '(__fish_print_docker_images)' -d "Image" + +# search +complete -c docker -f -n '__fish_docker_no_subcommand' -a search -d 'Search for an image on the registry (defaults to the Docker Hub)' +complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l automated -d 'Only show automated builds' +complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from search' -l no-trunc -d "Don't truncate output" +complete -c docker -A -f -n '__fish_seen_subcommand_from search' -s s -l stars -d 'Only displays with at least x stars' + +# start +complete -c docker -f -n '__fish_docker_no_subcommand' -a start -d 'Start a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from start' -s a -l attach -d "Attach container's STDOUT and STDERR and forward all signals to the process" +complete -c docker -A -f -n '__fish_seen_subcommand_from start' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from start' -s i -l interactive -d "Attach container's STDIN" +complete -c docker -A -f -n '__fish_seen_subcommand_from start' -a '(__fish_print_docker_containers stopped)' -d "Container" + +# stats +complete -c docker -f -n '__fish_docker_no_subcommand' -a stats -d "Display a live stream of one or more containers' resource usage statistics" +complete -c docker -A -f -n '__fish_seen_subcommand_from stats' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from stats' -l no-stream -d 'Disable streaming stats and only pull the first result' +complete -c docker -A -f -n '__fish_seen_subcommand_from stats' -a '(__fish_print_docker_containers running)' -d "Container" + +# stop +complete -c docker -f -n '__fish_docker_no_subcommand' -a stop -d 'Stop a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from stop' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from stop' -s t -l time -d 'Number of seconds to wait for the container to stop before killing it. Default is 10 seconds.' +complete -c docker -A -f -n '__fish_seen_subcommand_from stop' -a '(__fish_print_docker_containers running)' -d "Container" + +# tag +complete -c docker -f -n '__fish_docker_no_subcommand' -a tag -d 'Tag an image into a repository' +complete -c docker -A -f -n '__fish_seen_subcommand_from tag' -s f -l force -d 'Force' +complete -c docker -A -f -n '__fish_seen_subcommand_from tag' -l help -d 'Print usage' + +# top +complete -c docker -f -n '__fish_docker_no_subcommand' -a top -d 'Lookup the running processes of a container' +complete -c docker -A -f -n '__fish_seen_subcommand_from top' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from top' -a '(__fish_print_docker_containers running)' -d "Container" + +#trust +complete -c docker -f -n '__fish_docker_no_subcommand' -a trust -d 'Manage trust on Docker images' +complete -c docker -A -f -n '__fish_seen_subcommand_from trust' -l help -d 'Print usage' + +#trust inspect +complete -c docker -A -f -n '__fish_docker_no_subcommand_trust' -a inspect -d 'Return low-level information about keys and signatures' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust inspect' -l pretty -d 'Print the information in a human friendly format' + +#trust key +complete -c docker -A -f -n '__fish_docker_no_subcommand_trust' -a key -d 'Manage keys for signing Docker images' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust key; and __fish_docker_subcommand_path_without generate load' -a generate -d 'Generate and load a signing key-pair' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust key load' -l dir -d 'Directory to generate key in, defaults to current directory' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust key; and __fish_docker_subcommand_path_without generate load' -a load -d 'Load a private key file for signing' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust key load' -l name -d 'Name for the loaded key (default "signer")' + +#trust revoke +complete -c docker -A -f -n '__fish_docker_no_subcommand_trust' -a revoke -d 'Remove trust for an image' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust revoke' -s y -l yes -d 'Do not prompt for confirmation' + +#trust sign +complete -c docker -A -f -n '__fish_docker_no_subcommand_trust' -a sign -d 'Sign an image' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust sign' -l local -d 'Sign a locally tagged image' + +#trust signer +complete -c docker -A -f -n '__fish_docker_no_subcommand_trust' -a signer -d 'Manage entities who can sign Docker images' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust signer; and __fish_docker_subcommand_path_without add remove' -a add -d 'Add a signer' +complete -c docker -A -f -n '__fish_docker_subcommand_path trust signer; and __fish_docker_subcommand_path_without add remove' -a remove -d 'remove a signer' + +# unpause +complete -c docker -f -n '__fish_docker_no_subcommand' -a unpause -d 'Unpause a paused container' +complete -c docker -A -f -n '__fish_seen_subcommand_from unpause' -a '(__fish_print_docker_containers running)' -d "Container" + +# version +complete -c docker -f -n '__fish_docker_no_subcommand' -a version -d 'Show the Docker version information' +complete -c docker -A -f -n '__fish_seen_subcommand_from version' -s f -l format -d 'Format the output using the given go template' +complete -c docker -A -f -n '__fish_seen_subcommand_from version' -l help -d 'Print usage' + +# wait +complete -c docker -f -n '__fish_docker_no_subcommand' -a wait -d 'Block until a container stops, then print its exit code' +complete -c docker -A -f -n '__fish_seen_subcommand_from wait' -l help -d 'Print usage' +complete -c docker -A -f -n '__fish_seen_subcommand_from wait' -a '(__fish_print_docker_containers running)' -d "Container" diff --git a/dot_config/private_fish/completions/flutter.fish b/dot_config/private_fish/completions/flutter.fish new file mode 100644 index 0000000..d9c7537 --- /dev/null +++ b/dot_config/private_fish/completions/flutter.fish @@ -0,0 +1,917 @@ +complete -c flutter -f -n "__fish_seen_subcommand_from channel" -a "(flutter channel | tail -n +2 | sed 's/\s//g' | sed 's/*\(\w\+\)/\1\tcurrent/')" +function __fish_flutter_devices + flutter devices | tail -n +3 | sed -r 's/ \(\w+\)\s+• /\t/g' +end +function __fish_flutter_emulators + flutter emulators | head -n -7 | tail -n +3 | sed -r 's/(\w+)(\s+)• /\1\t/' +end +function __fish_flutter_target_platforms + flutter build apk -h | grep android-arm | sed -r 's/\s+\[|\]|\)//g' | sed -r 's/, /\n/g' | sed -r 's/ \(/\t/g' | sed -r 's/x86/x86\t /' +end +complete -c flutter -l "help" -d "Print this usage information." -s h +complete -c flutter -l "verbose" -d "Noisy logging, including all shell commands executed. If used with \"--help\", shows hidden options. If used with \"flutter doctor\", shows additional diagnostic information. (Use \"-vv\" to force verbose logging in those cases.)" -s v +complete -c flutter -l "prefixed-errors" -d "Causes lines sent to stderr to be prefixed with \"ERROR:\"." +complete -c flutter -l "quiet" -d "Reduce the amount of output from some commands." +complete -c flutter -l "wrap" -d "Toggles output word wrapping, regardless of whether or not the output is a terminal. (defaults to on)" +complete -c flutter -l "no-wrap" -d "Toggles output word wrapping, regardless of whether or not the output is a terminal. (defaults to on)" +complete -c flutter -l "wrap-column" -d "Sets the output wrap column. If not set, uses the width of the terminal. No wrapping occurs if not writing to a terminal. Use \"--no-wrap\" to turn off wrapping when connected to a terminal." +complete -c flutter -l "device-id" -d "Target device id or name (prefixes allowed)." -s d -xa "(__fish_flutter_devices)" +complete -c flutter -l "version" -d "Reports the version of this tool." +complete -c flutter -l "machine" -d "When used with the \"--version\" flag, outputs the information using JSON." +complete -c flutter -l "color" -d "Whether to use terminal colors (requires support for ANSI escape sequences). (defaults to on)" +complete -c flutter -l "no-color" -d "Whether to use terminal colors (requires support for ANSI escape sequences). (defaults to on)" +complete -c flutter -l "version-check" -d "Allow Flutter to check for updates when this command runs. (defaults to on)" +complete -c flutter -l "no-version-check" -d "Allow Flutter to check for updates when this command runs. (defaults to on)" +complete -c flutter -l "enable-analytics" -d "Enable telemetry reporting each time a flutter or dart command runs." +complete -c flutter -l "disable-analytics" -d "Disable telemetry reporting each time a flutter or dart command runs, until it is re-enabled." +complete -c flutter -l "suppress-analytics" -d "Suppress analytics reporting for the current CLI invocation." +complete -c flutter -l "packages" -d "Path to your \"package_config.json\" file." +complete -c flutter -l "local-engine-src-path" -d "Path to your engine src directory, if you are building Flutter locally. Defaults to $FLUTTER_ENGINE if set, otherwise defaults to the path given in your pubspec.yaml dependency_overrides for sky_engine, if any." +complete -c flutter -l "local-engine" -d "Name of a build output within the engine out directory, if you are building Flutter locally. Use this to select a specific version of the engine if you have built multiple engine targets. This path is relative to \"--local-engine-src-path\" (see above)." +complete -c flutter -l "local-engine-host" -d "The host operating system for which engine artifacts should be selected, if you are building Flutter locally. This is only used when \"--local-engine\" is also specified. By default, the host is determined automatically, but you may need to specify this if you are building on one platform (e.g. MacOS ARM64) but intend to run Flutter on another (e.g. Android)." +complete -c flutter -l "local-web-sdk" -d "Name of a build output within the engine out directory, if you are building Flutter locally. Use this to select a specific version of the web sdk if you have built multiple engine targets. This path is relative to \"--local-engine-src-path\" (see above)." +complete -c flutter -l "show-test-device" -d "List the special \"flutter-tester\" device in device listings. This headless device is used to test Flutter tooling." +complete -c flutter -l "show-web-server-device" -d "List the special \"web-server\" device in device listings." +complete -c flutter -l "ci" -d "Enable a set of CI-specific test debug settings." +set -l commands bash-completion channel config doctor downgrade precache upgrade analyze assemble build clean create drive gen-l10n pub run test attach custom-devices daemon debug-adapter devices emulators install logs screenshot symbolize ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ ║ +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a bash-completion -d "Output command line shell completion setup scripts." +complete -c flutter -l "overwrite" -d "Causes the given shell completion setup script to be overwritten if it already exists." -n "__fish_seen_subcommand_from bash-completion" +complete -c flutter -l "no-overwrite" -d "Causes the given shell completion setup script to be overwritten if it already exists." -n "__fish_seen_subcommand_from bash-completion" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a channel -d "List or switch Flutter channels." +complete -c flutter -l "all" -d "Include all the available branches (including local branches) when listing channels." -n "__fish_seen_subcommand_from channel" +complete -c flutter -l "no-all" -d "Include all the available branches (including local branches) when listing channels." -n "__fish_seen_subcommand_from channel" +complete -c flutter -l "cache-artifacts" -d "After switching channels, download all required binary artifacts. This is the equivalent of running \"flutter precache\" with the \"--all-platforms\" flag. (defaults to on)" -n "__fish_seen_subcommand_from channel" +complete -c flutter -l "no-cache-artifacts" -d "After switching channels, download all required binary artifacts. This is the equivalent of running \"flutter precache\" with the \"--all-platforms\" flag. (defaults to on)" -n "__fish_seen_subcommand_from channel" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a config -d "Configure Flutter settings." +complete -c flutter -l "list" -d "List all settings and their current values." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "analytics" -d "Enable or disable reporting anonymously tool usage statistics and crash reports. (An alias for \"--enable-analytics\" and \"--disable-analytics\" top level flags.)" -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-analytics" -d "Enable or disable reporting anonymously tool usage statistics and crash reports. (An alias for \"--enable-analytics\" and \"--disable-analytics\" top level flags.)" -n "__fish_seen_subcommand_from config" +complete -c flutter -l "clear-ios-signing-cert" -d "Clear the saved development certificate choice used to sign apps for iOS device deployment." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "android-sdk" -d "The Android SDK directory." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "android-studio-dir" -d "The Android Studio installation directory. If unset, flutter will search for valid installations at well-known locations. 1) the JDK bundled with the latest installation of Android Studio, 2) the JDK found at the directory found in the JAVA_HOME environment variable, and 3) the directory containing the java binary found in the user's path." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "build-dir" -d "The relative path to override a projects build directory." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "machine" -d "Print config values as json." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-web" -d "Enable or disable Flutter for web." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-web" -d "Enable or disable Flutter for web." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-linux-desktop" -d "Enable or disable support for desktop on Linux." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-linux-desktop" -d "Enable or disable support for desktop on Linux." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-macos-desktop" -d "Enable or disable support for desktop on macOS." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-macos-desktop" -d "Enable or disable support for desktop on macOS." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-windows-desktop" -d "Enable or disable support for desktop on Windows." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-windows-desktop" -d "Enable or disable support for desktop on Windows." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-android" -d "Enable or disable Flutter for Android." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-android" -d "Enable or disable Flutter for Android." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-ios" -d "Enable or disable Flutter for iOS." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-ios" -d "Enable or disable Flutter for iOS." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-fuchsia" -d "Enable or disable Flutter for Fuchsia. This setting applies only to the master channel." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-fuchsia" -d "Enable or disable Flutter for Fuchsia. This setting applies only to the master channel." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-custom-devices" -d "Enable or disable early support for custom device types." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-custom-devices" -d "Enable or disable early support for custom device types." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "cli-animations" -d "Enable or disable animations in the command line interface." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-cli-animations" -d "Enable or disable animations in the command line interface." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "enable-native-assets" -d "Enable or disable native assets compilation and bundling. This setting applies only to the master channel." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "no-enable-native-assets" -d "Enable or disable native assets compilation and bundling. This setting applies only to the master channel." -n "__fish_seen_subcommand_from config" +complete -c flutter -l "clear-features" -d "Remove all configured features and restore them to the default values." -n "__fish_seen_subcommand_from config" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a doctor -d "Show information about the installed tooling." +complete -c flutter -l "android-licenses" -d "Run the Android SDK manager tool to accept the SDK's licenses." -n "__fish_seen_subcommand_from doctor" +complete -c flutter -l "check-for-remote-artifacts" -d "revision git hash> Used to determine if Flutter engine artifacts for all platforms are available for download." -n "__fish_seen_subcommand_from doctor" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a downgrade -d "Downgrade Flutter to the last active version for the current channel." +complete -c flutter -l "working-directory" -d "Override the downgrade working directory. This is only intended to enable integration testing of the tool itself. It allows one to use the flutter tool from one checkout to downgrade a different checkout." -n "__fish_seen_subcommand_from downgrade" +complete -c flutter -l "prompt" -d "Show the downgrade prompt. (defaults to on)" -n "__fish_seen_subcommand_from downgrade" +complete -c flutter -l "no-prompt" -d "Show the downgrade prompt. (defaults to on)" -n "__fish_seen_subcommand_from downgrade" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a precache -d "Populate the Flutter tool's cache of binary artifacts." +complete -c flutter -l "all-platforms" -d "Precache artifacts for all host platforms." -s a -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "force" -d "Force re-downloading of artifacts." -s f -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "android" -d "Precache artifacts for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-android" -d "Precache artifacts for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "android_gen_snapshot" -d "Precache gen_snapshot for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-android_gen_snapshot" -d "Precache gen_snapshot for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "android_maven" -d "Precache Gradle dependencies for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-android_maven" -d "Precache Gradle dependencies for Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "android_internal_build" -d "Precache dependencies for internal Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-android_internal_build" -d "Precache dependencies for internal Android development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "ios" -d "Precache artifacts for iOS development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-ios" -d "Precache artifacts for iOS development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "web" -d "Precache artifacts for web development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-web" -d "Precache artifacts for web development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "linux" -d "Precache artifacts for Linux desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-linux" -d "Precache artifacts for Linux desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "windows" -d "Precache artifacts for Windows desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-windows" -d "Precache artifacts for Windows desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "macos" -d "Precache artifacts for macOS desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-macos" -d "Precache artifacts for macOS desktop development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "fuchsia" -d "Precache artifacts for Fuchsia development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-fuchsia" -d "Precache artifacts for Fuchsia development." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "universal" -d "Precache artifacts required for any development platform. (defaults to on)" -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-universal" -d "Precache artifacts required for any development platform. (defaults to on)" -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "flutter_runner" -d "Precache the flutter runner artifacts." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-flutter_runner" -d "Precache the flutter runner artifacts." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "use-unsigned-mac-binaries" -d "Precache the unsigned macOS binaries when available." -n "__fish_seen_subcommand_from precache" +complete -c flutter -l "no-use-unsigned-mac-binaries" -d "Precache the unsigned macOS binaries when available." -n "__fish_seen_subcommand_from precache" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a upgrade -d "Upgrade your copy of Flutter." +complete -c flutter -l "force" -d "Force upgrade the flutter branch, potentially discarding local changes." -s f -n "__fish_seen_subcommand_from upgrade" +complete -c flutter -l "continue" -d "Trigger the second half of the upgrade flow. This should not be invoked manually. It is used re-entrantly by the standard upgrade command after the new version of Flutter is available, to hand off the upgrade process from the old version to the new version." -n "__fish_seen_subcommand_from upgrade" +complete -c flutter -l "working-directory" -d "Override the upgrade working directory. This is only intended to enable integration testing of the tool itself." -n "__fish_seen_subcommand_from upgrade" +complete -c flutter -l "verify-only" -d "Checks for any new Flutter updates, without actually fetching them." -n "__fish_seen_subcommand_from upgrade" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a analyze -d "Analyze the project's Dart code." +complete -c flutter -l "flutter-repo" -d "Include all the examples and tests from the Flutter repository." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "current-package" -d "Analyze the current project, if applicable. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-current-package" -d "Analyze the current project, if applicable. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "dartdocs" -d "(deprecated) List every public member that is lacking documentation. This command will be removed in a future version of Flutter." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "watch" -d "Run analysis continuously, watching the filesystem for changes." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "write" -d "Also output the results to a file. This is useful with \"--watch\" if you want a file to always contain the latest results." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "dart-sdk" -d "The path to the Dart SDK." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "protocol-traffic-log" -d "The path to write the request and response protocol. This is only intended to be used for debugging the tooling." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "suggestions" -d "Show suggestions about the current flutter project." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-suggestions" -d "Show suggestions about the current flutter project." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "machine" -d "Dumps a JSON with a subset of relevant data about the tool, project, and environment." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "benchmark" -d "Also output the analysis time." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "congratulate" -d "Show output even when there are no errors, warnings, hints, or lints. Ignored if \"--watch\" is specified. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-congratulate" -d "Show output even when there are no errors, warnings, hints, or lints. Ignored if \"--watch\" is specified. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "preamble" -d "When analyzing the flutter repository, display the number of files that will be analyzed. Ignored if \"--watch\" is specified. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-preamble" -d "When analyzing the flutter repository, display the number of files that will be analyzed. Ignored if \"--watch\" is specified. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "fatal-infos" -d "Treat info level issues as fatal. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-fatal-infos" -d "Treat info level issues as fatal. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "fatal-warnings" -d "Treat warning level issues as fatal. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-fatal-warnings" -d "Treat warning level issues as fatal. (defaults to on)" -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "android" -d "Analyze Android sub-project. Used by internal tools only." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "ios" -d "Analyze iOS Xcode sub-project. Used by internal tools only." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "list-build-variants" -d "Print out a list of available build variants for the Android sub-project." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "output-app-link-settings" -d "Output a JSON with Android app link settings into a file. The \"--build-variant\" must also be set." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "build-variant" -d "variant> Sets the Android build variant to be analyzed." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "list-build-options" -d "Print out a list of available build options for the iOS Xcode sub-project." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "no-list-build-options" -d "Print out a list of available build options for the iOS Xcode sub-project." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "output-universal-link-settings" -d "Output a JSON with iOS Xcode universal link settings into a file. The \"--configuration\" and \"--target\" must be set." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "configuration" -d "Sets the iOS build configuration to be analyzed." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -l "target" -d "Sets the iOS build target to be analyzed." -n "__fish_seen_subcommand_from analyze" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a assemble -d "Assemble and build Flutter resources." +complete -c flutter -l "define" -d "Allows passing configuration to a target, as in \"--define=target=key=value\"." -s d -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "performance-measurement-file" -d "Output individual target performance to a JSON file." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "input" -d "Allows passing additional inputs with \"--input=key=value\". Unlike defines, additional inputs do not generate a new configuration; instead they are treated as dependencies of the targets that use them." -s i -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "depfile" -d "A file path where a depfile will be written. This contains all build inputs and outputs in a Make-style syntax." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "build-inputs" -d "A file path where a newline-separated file containing all inputs used will be written after a build. This file is not included as a build input or output. This file is not written if the build fails for any reason." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "build-outputs" -d "A file path where a newline-separated file containing all outputs created will be written after a build. This file is not included as a build input or output. This file is not written if the build fails for any reason." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "output" -d "A directory where output files will be written. Must be either absolute or relative from the root of the current Flutter project." -s o -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -l "resource-pool-size" -d "The maximum number of concurrent tasks the build system will run." -n "__fish_seen_subcommand_from assemble" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a build -d "Build an executable app or install bundle." +set -l build_commands aar apk appbundle bundle linux web +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a aar -d "Build a repository containing an AAR and a POM file." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "debug" -d "Build a debug version of the current project. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-debug" -d "Build a debug version of the current project. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "profile" -d "Build a version of the current project specialized for performance profiling. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-profile" -d "Build a version of the current project specialized for performance profiling. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "release" -d "Build a release version of the current project. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-release" -d "Build a release version of the current project. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "output" -d "The absolute path to the directory where the repository is generated. By default, this is /build/. Currently supported for subcommands: aar, web." -s o -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "split-debug-info" -d "In a release build, this flag reduces application size by storing Dart program symbols in a separate file on the host rather than in the application. The value of the flag should be a directory where program symbol files can be stored for later use. These symbol files contain the information needed to symbolize Dart stack traces. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. This flag cannot be combined with \"--analyze-size\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "no-android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "android-project-arg" -d "Additional arguments specified as key=value that are passed directly to the gradle project via the -P flag. These can be accessed in build.gradle via the \"project.property\" API." -s P -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" +complete -c flutter -l "target-platform" -d "The target platform for which the project is compiled. [android-arm (default), android-arm64 (default), android-x86, android-x64 (default)]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from aar" -xa "(__fish_flutter_target_platforms)" +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a apk -d "Build an Android APK file from your app." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "debug" -d "Build a debug version of your app." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "release" -d "Build a release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "build-name" -d "A \"x.y.z\" string used as the version number shown to users. For each new version of your app, you will provide a version number to differentiate it from previous versions. On Android it is used as \"versionName\". On Xcode builds it is used as \"CFBundleShortVersionString\". On Windows it is used as the major, minor, and patch parts of the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "shrink" -d "This flag has no effect. Code shrinking is always enabled in release builds. To learn more, see: https://developer.android.com/studio/build/shrink-code" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-shrink" -d "This flag has no effect. Code shrinking is always enabled in release builds. To learn more, see: https://developer.android.com/studio/build/shrink-code" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "split-debug-info" -d "In a release build, this flag reduces application size by storing Dart program symbols in a separate file on the host rather than in the application. The value of the flag should be a directory where program symbol files can be stored for later use. These symbol files contain the information needed to symbolize Dart stack traces. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. This flag cannot be combined with \"--analyze-size\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "bundle-sksl-path" -d "A path to a file containing precompiled SkSL shaders generated during \"flutter run\". These can be included in an application to improve the first frame render times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "performance-measurement-file" -d "The name of a file where flutter assemble performance and cached-ness information will be written in a JSON format." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "code-size-directory" -d "The location to write code size analysis files. If this is not specified, files are written to a temporary directory under the build directory." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "android-project-arg" -d "Additional arguments specified as key=value that are passed directly to the gradle project via the -P flag. These can be accessed in build.gradle via the \"project.property\" API." -s P -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "ignore-deprecation" -d "Indicates that the app should ignore deprecation warnings and continue to build using deprecated APIs. Use of this flag may cause your app to fail to build when deprecated APIs are removed." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "split-per-abi" -d "Whether to split the APKs per ABIs. To learn more, see: https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "config-only" -d "Generate build files used by flutter but do not build any artifacts." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-config-only" -d "Generate build files used by flutter but do not build any artifacts." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "target-platform" -d "The target platform for which the app is compiled. [android-arm (default), android-arm64 (default), android-x86, android-x64 (default)]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" -xa "(__fish_flutter_target_platforms)" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from apk" +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a appbundle -d "Build an Android App Bundle file from your app." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "debug" -d "Build a debug version of your app." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "release" -d "Build a release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "build-name" -d "A \"x.y.z\" string used as the version number shown to users. For each new version of your app, you will provide a version number to differentiate it from previous versions. On Android it is used as \"versionName\". On Xcode builds it is used as \"CFBundleShortVersionString\". On Windows it is used as the major, minor, and patch parts of the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "shrink" -d "This flag has no effect. Code shrinking is always enabled in release builds. To learn more, see: https://developer.android.com/studio/build/shrink-code" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-shrink" -d "This flag has no effect. Code shrinking is always enabled in release builds. To learn more, see: https://developer.android.com/studio/build/shrink-code" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "split-debug-info" -d "In a release build, this flag reduces application size by storing Dart program symbols in a separate file on the host rather than in the application. The value of the flag should be a directory where program symbol files can be stored for later use. These symbol files contain the information needed to symbolize Dart stack traces. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. This flag cannot be combined with \"--analyze-size\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "bundle-sksl-path" -d "A path to a file containing precompiled SkSL shaders generated during \"flutter run\". These can be included in an application to improve the first frame render times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "performance-measurement-file" -d "The name of a file where flutter assemble performance and cached-ness information will be written in a JSON format." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "code-size-directory" -d "The location to write code size analysis files. If this is not specified, files are written to a temporary directory under the build directory." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "android-project-arg" -d "Additional arguments specified as key=value that are passed directly to the gradle project via the -P flag. These can be accessed in build.gradle via the \"project.property\" API." -s P -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "ignore-deprecation" -d "Indicates that the app should ignore deprecation warnings and continue to build using deprecated APIs. Use of this flag may cause your app to fail to build when deprecated APIs are removed." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "target-platform" -d "The target platform for which the app is compiled. [android-arm (default), android-arm64 (default), android-x64 (default)]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" -xa "(__fish_flutter_target_platforms)" +complete -c flutter -l "deferred-components" -d "Setting to false disables building with deferred components. All deferred code will be compiled into the base app, and assets act as if they were defined under the regular assets section in pubspec.yaml. This flag has no effect on non-deferred components apps. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-deferred-components" -d "Setting to false disables building with deferred components. All deferred code will be compiled into the base app, and assets act as if they were defined under the regular assets section in pubspec.yaml. This flag has no effect on non-deferred components apps. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "validate-deferred-components" -d "When enabled, deferred component apps will fail to build if setup problems are detected that would prevent deferred components from functioning properly. The tooling also provides guidance on how to set up the project files to pass this verification. Disabling setup verification will always attempt to fully build the app regardless of any problems detected. Builds that are part of CI testing and advanced users with custom deferred components implementations should disable setup verification. This flag has no effect on non-deferred components apps. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -l "no-validate-deferred-components" -d "When enabled, deferred component apps will fail to build if setup problems are detected that would prevent deferred components from functioning properly. The tooling also provides guidance on how to set up the project files to pass this verification. Disabling setup verification will always attempt to fully build the app regardless of any problems detected. Builds that are part of CI testing and advanced users with custom deferred components implementations should disable setup verification. This flag has no effect on non-deferred components apps. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from appbundle" +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a bundle -d "Build the Flutter assets directory from your app." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "output-dill" -d "Specify the path to frontend server output kernel file." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "filesystem-root" -d "Specify the path that is used as the root of a virtual file system during compilation. The input file name should be specified as a URL using the scheme given in \"--filesystem-scheme\". Requires the \"--output-dill\" option to be explicitly specified." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "filesystem-scheme" -d "Specify the scheme that is used for virtual file system used in compilation. See also the \"--filesystem-root\" option. (defaults to \"org-dartlang-root\")" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "debug" -d "Build a debug version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "release" -d "Build a release version of your app." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "depfile" -d "A file path where a depfile will be written. This contains all build inputs and outputs in a Make-style syntax. (defaults to \"build/snapshot_blob.bin.d\")" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "target-platform" -d "The architecture for which to build the application. [android-arm (default), android-arm64, android-x86, android-x64, ios, darwin, linux-x64, linux-arm64, windows-x64]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" -xa "(__fish_flutter_target_platforms)" +complete -c flutter -l "asset-dir" -d "The output directory for the kernel_blob.bin file, the native snapshot, the assets, etc. Can be used to redirect the output when driving the Flutter toolchain from another build system. (defaults to \"build/flutter_assets\")" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "tree-shake-icons" -d "(deprecated) Icon font tree shaking is not supported by this command." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "no-tree-shake-icons" -d "(deprecated) Icon font tree shaking is not supported by this command." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from bundle" +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a linux -d "Build a Linux desktop application." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "debug" -d "Build a debug version of your app." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "release" -d "Build a release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "performance-measurement-file" -d "The name of a file where flutter assemble performance and cached-ness information will be written in a JSON format." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "bundle-sksl-path" -d "A path to a file containing precompiled SkSL shaders generated during \"flutter run\". These can be included in an application to improve the first frame render times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-obfuscate" -d "In a release build, this flag removes identifiers and replaces them with randomized values for the purposes of source code obfuscation. This flag must always be combined with \"--split-debug-info\" option, the mapping between the values and the original identifiers is stored in the symbol map created in the specified directory. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. Because all identifiers are renamed, methods like Object.runtimeType, Type.toString, Enum.toString, Stacktrace.toString, Symbol.toString (for constant symbols or those generated by runtime system) will return obfuscated results. Any code or tests that rely on exact names will break." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "split-debug-info" -d "In a release build, this flag reduces application size by storing Dart program symbols in a separate file on the host rather than in the application. The value of the flag should be a directory where program symbol files can be stored for later use. These symbol files contain the information needed to symbolize Dart stack traces. For an app built with this flag, the \"flutter symbolize\" command with the right program symbol file is required to obtain a human readable stack trace. This flag cannot be combined with \"--analyze-size\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-analyze-size" -d "Whether to produce additional profile information for artifact output size. This flag is only supported on \"--release\" builds. When building for Android, a single ABI must be specified at a time with the \"--target-platform\" flag. When building for iOS, only the symbols from the arm64 architecture are used to analyze code size. By default, the intermediate output files will be placed in a transient directory in the build directory. This can be overridden with the \"--code-size-directory\" option. This flag cannot be combined with \"--split-debug-info\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "code-size-directory" -d "The location to write code size analysis files. If this is not specified, files are written to a temporary directory under the build directory." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "build-name" -d "A \"x.y.z\" string used as the version number shown to users. For each new version of your app, you will provide a version number to differentiate it from previous versions. On Android it is used as \"versionName\". On Xcode builds it is used as \"CFBundleShortVersionString\". On Windows it is used as the major, minor, and patch parts of the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -l "target-platform" -d "The target platform for which the app is compiled. [linux-arm64, linux-x64 (default)]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" -xa "(__fish_flutter_target_platforms)" +complete -c flutter -l "target-sysroot" -d "The root filesystem path of target platform for which the app is compiled. This option is valid only if the current host and target architectures are different. (defaults to \"/\")" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from linux" +complete -c flutter -f -n "__fish_seen_subcommand_from build; and not __fish_seen_subcommand_from $build_commands" -a web -d "Build a web application bundle." +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-tree-shake-icons" -d "Tree shake icon fonts so that only glyphs used by the application remain. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "output" -d "The absolute path to the directory where the repository is generated. By default, this is /build/. Currently supported for subcommands: aar, web." -s o -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "build-number" -d "An identifier used as an internal version number. Each build must have a unique identifier to differentiate it from previous builds. It is used to determine whether one build is more recent than another, with higher numbers indicating more recent build. On Android it is used as \"versionCode\". On Xcode builds it is used as \"CFBundleVersion\". On Windows it is used as the build suffix for the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "build-name" -d "A \"x.y.z\" string used as the version number shown to users. For each new version of your app, you will provide a version number to differentiate it from previous versions. On Android it is used as \"versionName\". On Xcode builds it is used as \"CFBundleShortVersionString\". On Windows it is used as the major, minor, and patch parts of the product and file versions." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "release" -d "Build a release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app (default mode)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "base-href" -d "Overrides the href attribute of the tag in web/index.html. No change is done to web/index.html file if this flag is not provided. The value has to start and end with a slash \"/\". For more information: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "pwa-strategy" -d "The caching strategy to be used by the PWA service worker. [none] Generate a service worker with no body. This is useful for local testing or in cases where the service worker caching functionality is not desirable [offline-first] (default) Attempt to cache the application shell eagerly and then lazily cache all subsequent assets as they are loaded. When making a network request for an asset, the offline cache will be preferred." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "web-renderer" -d "The renderer implementation to use when building for the web. [auto] (default) Use the HTML renderer on mobile devices, and CanvasKit on desktop devices. [canvaskit] Always use the CanvasKit renderer. This renderer uses WebGL and WebAssembly to render graphics. [html] Always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL. [skwasm] Always use the experimental skwasm renderer." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "csp" -d "Disable dynamic generation of code in the generated output. This is necessary to satisfy CSP restrictions (see http://www.w3.org/TR/CSP/)." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "source-maps" -d "Generate a sourcemap file. These can be used by browsers to view and debug the original source code of a compiled and minified Dart application." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-source-maps" -d "Generate a sourcemap file. These can be used by browsers to view and debug the original source code of a compiled and minified Dart application." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "dart2js-optimization" -d "Sets the optimization level used for Dart compilation to JavaScript. Valid values range from O1 to O4. [O1, O2, O3, O4 (default)]" -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "dump-info" -d "Passes \"--dump-info\" to the Javascript compiler which generates information about the generated code is a .js.info.json file." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -l "no-frequency-based-minification" -d "Disables the frequency based minifier. Useful for comparing the output between builds." -n "__fish_seen_subcommand_from build;__fish_seen_subcommand_from web" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a clean -d "Delete the build/ and .dart_tool/ directories." +complete -c flutter -l "scheme" -d "When cleaning Xcode schemes, clean only the specified scheme." -n "__fish_seen_subcommand_from clean" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a create -d "Create a new Flutter project." +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" after the project has been created. (defaults to on)" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" after the project has been created. (defaults to on)" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "offline" -d "When \"flutter pub get\" is run by the create command, this indicates whether to run it in offline mode or not. In offline mode, it will need to have all dependencies already available in the pub cache to succeed." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-offline" -d "When \"flutter pub get\" is run by the create command, this indicates whether to run it in offline mode or not. In offline mode, it will need to have all dependencies already available in the pub cache to succeed." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "with-driver-test" -d "(deprecated) Historically, this added a flutter_driver dependency and generated a sample \"flutter drive\" test. Now it does nothing. Consider using the \"integration_test\" package: https://pub.dev/packages/integration_test" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-with-driver-test" -d "(deprecated) Historically, this added a flutter_driver dependency and generated a sample \"flutter drive\" test. Now it does nothing. Consider using the \"integration_test\" package: https://pub.dev/packages/integration_test" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "overwrite" -d "When performing operations, overwrite existing files." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-overwrite" -d "When performing operations, overwrite existing files." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "description" -d "The description to use for your new Flutter project. This string ends up in the pubspec.yaml file. (defaults to \"A new Flutter project.\")" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "org" -d "The organization responsible for your new Flutter project, in reverse domain name notation. This string is used in Java package names and as prefix in the iOS bundle identifier. (defaults to \"com.example\")" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "project-name" -d "The project name for this new Flutter project. This must be a valid dart package name." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "ios-language" -d "The language to use for iOS-specific code, either Objective-C (legacy) or Swift (recommended). [objc, swift (default)]" -s i -n "__fish_seen_subcommand_from create" +complete -c flutter -l "android-language" -d "The language to use for Android-specific code, either Java (legacy) or Kotlin (recommended). [java, kotlin (default)]" -s a -n "__fish_seen_subcommand_from create" +complete -c flutter -l "skip-name-checks" -d "Allow the creation of applications and plugins with invalid names. This is only intended to enable testing of the tool itself." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-skip-name-checks" -d "Allow the creation of applications and plugins with invalid names. This is only intended to enable testing of the tool itself." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "implementation-tests" -d "Include implementation tests that verify the template functions correctly. This is only intended to enable testing of the tool itself." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-implementation-tests" -d "Include implementation tests that verify the template functions correctly. This is only intended to enable testing of the tool itself." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "initial-create-revision" -d "The Flutter SDK git commit hash to store in .migrate_config. This parameter is used by the tool internally and should generally not be used manually." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "platforms" -d "The platforms supported by this project. Platform folders (e.g. android/) will be generated in the target project. This argument only works when \"--template\" is set to app or plugin. When adding platforms to a plugin project, the pubspec.yaml will be updated with the requested platform. Adding desktop platforms requires the corresponding desktop config setting to be enabled. [ios (default), android (default), windows (default), linux (default), macos (default), web (default)]" -n "__fish_seen_subcommand_from create" +complete -c flutter -l "template" -d "Specify the type of project to create. [app] (default) Generate a Flutter application. [module] Generate a project to add a Flutter module to an existing Android or iOS application. [package] Generate a shareable Flutter project containing modular Dart code. [plugin] Generate a shareable Flutter project containing an API in Dart code with a platform-specific implementation through method channels for Android, iOS, Linux, macOS, Windows, web, or any combination of these. [plugin_ffi] Generate a shareable Flutter project containing an API in Dart code with a platform-specific implementation through dart:ffi for Android, iOS, Linux, macOS, Windows, or any combination of these. [skeleton] Generate a List View / Detail View Flutter application that follows community best practices." -s t -n "__fish_seen_subcommand_from create" +complete -c flutter -l "sample" -d "Specifies the Flutter code sample to use as the \"main.dart\" for an application. Implies \"--template=app\". The value should be the sample ID of the desired sample from the API documentation website (https://api.flutter.dev/). An example can be found at: https://api.flutter.dev/flutter/widgets/SingleChildScrollView-class.html" -s s -n "__fish_seen_subcommand_from create" +complete -c flutter -l "empty" -d "Specifies creating using an application template with a main.dart that is minimal, including no comments, as a starting point for a new application. Implies \"--template=app\"." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "no-empty" -d "Specifies creating using an application template with a main.dart that is minimal, including no comments, as a starting point for a new application. Implies \"--template=app\"." -n "__fish_seen_subcommand_from create" +complete -c flutter -l "list-samples" -d "Specifies a JSON output file for a listing of Flutter code samples that can be created with \"--sample\"." -n "__fish_seen_subcommand_from create" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a drive -d "Run integration tests for the project on an attached device or emulator." +complete -c flutter -l "debug" -d "Build a debug version of your app (default mode)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "release" -d "Build a release version of your app." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-renderer" -d "The renderer implementation to use when building for the web. [auto] (default) Use the HTML renderer on mobile devices, and CanvasKit on desktop devices. [canvaskit] Always use the CanvasKit renderer. This renderer uses WebGL and WebAssembly to render graphics. [html] Always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL. [skwasm] Always use the experimental skwasm renderer." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "bundle-sksl-path" -d "A path to a file containing precompiled SkSL shaders generated during \"flutter run\". These can be included in an application to improve the first frame render times." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "use-application-binary" -d "Specify a pre-built application binary to use when running. For Android applications, this must be the path to an APK. For iOS applications, the path to an IPA. Other device types do not yet support prebuilt application binaries." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "trace-startup" -d "Trace application startup, then exit, saving the trace to a file. By default, this will be saved in the \"build\" directory. If the FLUTTER_TEST_OUTPUTS_DIR environment variable is set, the file will be written there instead." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "cache-startup-profile" -d "Caches the CPU profile collected before the first frame for startup analysis." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-cache-startup-profile" -d "Caches the CPU profile collected before the first frame for startup analysis." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "verbose-system-logs" -d "Include verbose logging from the Flutter engine." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "cache-sksl" -d "Cache the shader in the SkSL format instead of in binary or GLSL formats." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dump-skp-on-shader-compilation" -d "Automatically dump the skp that triggers new shader compilations. This is useful for writing custom ShaderWarmUp to reduce jank. By default, this is not enabled as it introduces significant overhead. This is only available in profile or debug builds." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "purge-persistent-cache" -d "Removes all existing persistent caches. This allows reproducing shader compilation jank that normally only happens the first time an app is run, or for reliable testing of compilation jank fixes (e.g. shader warm-up)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "route" -d "Which route to load when running the app." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "vmservice-out-file" -d "A file to write the attached vmservice URL to after an application is started." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "disable-service-auth-codes" -d "(deprecated) Allow connections to the VM service without using authentication codes. (Not recommended! This can open your device to remote code execution attacks!)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "start-paused" -d "Start in a paused mode and wait for a debugger to connect. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-start-paused" -d "Start in a paused mode and wait for a debugger to connect. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dart-flags" -d "Pass a list of comma separated flags to the Dart instance at application startup. Flags passed through this option must be present on the allowlist defined within the Flutter engine. If a disallowed flag is encountered, the process will be terminated immediately. This flag is not available on the stable channel and is only applied in debug and profile modes. This option should only be used for experiments and should not be used by typical users." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "endless-trace-buffer" -d "Enable tracing to an infinite buffer, instead of a ring buffer. This is useful when recording large traces. To use an endless buffer to record startup traces, combine this with \"--trace-startup\"." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "trace-systrace" -d "Enable tracing to the system tracer. This is only useful on platforms where such a tracer is available (Android, iOS, macOS and Fuchsia)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "trace-skia" -d "Enable tracing of Skia code. This is useful when debugging the raster thread (formerly known as the GPU thread). By default, Flutter will not log Skia code, as it introduces significant overhead that may affect recorded performance metrics in a misleading way." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "trace-allowlist" -d "Filters out all trace events except those that are specified in this comma separated list of allowed prefixes." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "trace-skia-allowlist" -d "Filters out all Skia trace events except those that are specified in this comma separated list of allowed prefixes." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-dart-profiling" -d "Whether the Dart VM sampling CPU profiler is enabled. This flag is only meaningful in debug and profile builds. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-enable-dart-profiling" -d "Whether the Dart VM sampling CPU profiler is enabled. This flag is only meaningful in debug and profile builds. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-software-rendering" -d "(deprecated) Enable rendering using the Skia software backend. This is useful when testing Flutter on emulators. By default, Flutter will attempt to either use OpenGL or Vulkan and fall back to software when neither is available. This option is not supported when using the Impeller rendering engine." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "skia-deterministic-rendering" -d "(deprecated) When combined with \"--enable-software-rendering\", this should provide completely deterministic (i.e. reproducible) Skia rendering. This is useful for testing purposes (e.g. when comparing screenshots). This option is not supported when using the Impeller rendering engine." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dart-entrypoint-args" -d "Pass a list of arguments to the Dart entrypoint at application startup. By default this is main(List args). Specify this option multiple times each with one argument to pass multiple arguments to the Dart entrypoint. Currently this is only supported on desktop platforms." -s a -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "uninstall-first" -d "Uninstall previous versions of the app on the device before reinstalling. Currently only supported on iOS." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-uninstall-first" -d "Uninstall previous versions of the app on the device before reinstalling. Currently only supported on iOS." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-hostname" -d "The hostname that the web sever will use to resolve an IP to serve from. The unresolved hostname is used to launch Chrome when using the chrome Device. The name \"any\" may also be used to serve on any IPV4 for either the Chrome or web-server device. (defaults to \"localhost\")" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-port" -d "The host port to serve the web application from. If not provided, the tool will select a random open port on the host." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-server-debug-protocol" -d "The protocol (SSE or WebSockets) to use for the debug service proxy when using the Web Server device and Dart Debug extension. This is useful for editors/debug adapters that do not support debugging over SSE (the default protocol for Web Server/Dart Debugger extension). [sse, ws (default)]" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-server-debug-backend-protocol" -d "The protocol (SSE or WebSockets) to use for the Dart Debug Extension backend service when using the Web Server device. Using WebSockets can improve performance but may fail when connecting through some proxy servers. [sse, ws (default)]" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-server-debug-injected-client-protocol" -d "The protocol (SSE or WebSockets) to use for the injected client when using the Web Server device. Using WebSockets can improve performance but may fail when connecting through some proxy servers. [sse, ws (default)]" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-allow-expose-url" -d "Enables daemon-to-editor requests (app.exposeUrl) for exposing URLs when running on remote machines." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-web-allow-expose-url" -d "Enables daemon-to-editor requests (app.exposeUrl) for exposing URLs when running on remote machines." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-run-headless" -d "Launches the browser in headless mode. Currently only Chrome supports this option." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-web-run-headless" -d "Launches the browser in headless mode. Currently only Chrome supports this option." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-browser-debug-port" -d "The debug port the browser should use. If not specified, a random port is selected. Currently only Chrome supports this option. It serves the Chrome DevTools Protocol (https://chromedevtools.github.io/devtools-protocol/)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-enable-expression-evaluation" -d "Enables expression evaluation in the debugger. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-web-enable-expression-evaluation" -d "Enables expression evaluation in the debugger. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-launch-url" -d "The URL to provide to the browser. Defaults to an HTTP URL with the host name of \"--web-hostname\", the port of \"--web-port\", and the path set to \"/\"." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "web-browser-flag" -d "Additional flag to pass to a browser instance at startup. Chrome: https://www.chromium.org/developers/how-tos/run-chromium-with-flags/ Firefox: https://wiki.mozilla.org/Firefox/CommandLineOptions Multiple flags can be passed by repeating \"--web-browser-flag\" multiple times." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "vm-service-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "observatory-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "device-vmservice-port" -d "Look for vmservice connections only from the specified port. Specifying port 0 (the default) will accept the first vmservice discovered." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "host-vmservice-port" -d "When a device-side vmservice port is forwarded to a host-side port, use this value as the host port. Specifying port 0 (the default) will find a random free host port." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "ipv6" -d "Binds to IPv6 localhost instead of IPv4 when the flutter tool forwards the host port to a device port." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "device-user" -d "Identifier number for a user or work profile on Android only. Run \"adb shell pm list users\" for available identifiers." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dds-port" -d "When this value is provided, the Dart Development Service (DDS) will be bound to the provided port. Specifying port 0 (the default) will find a random free port." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "devtools-server-address" -d "When this value is provided, the Flutter tool will not spin up a new DevTools server instance, and will instead use the one provided at the given address. Ignored if \"--no-devtools\" is specified." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "android-project-arg" -d "Additional arguments specified as key=value that are passed directly to the gradle project via the -P flag. These can be accessed in build.gradle via the \"project.property\" API." -s P -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-impeller" -d "Whether to enable the Impeller rendering engine. Impeller is the default renderer on iOS. On Android, Impeller is available but not the default. This flag will cause Impeller to be used on Android. On other platforms, this flag will be ignored." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-enable-impeller" -d "Whether to enable the Impeller rendering engine. Impeller is the default renderer on iOS. On Android, Impeller is available but not the default. This flag will cause Impeller to be used on Android. On other platforms, this flag will be ignored." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-vulkan-validation" -d "Enable vulkan validation on the Impeller rendering backend if Vulkan is in use and the validation layers are available to the application." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-enable-vulkan-validation" -d "Enable vulkan validation on the Impeller rendering backend if Vulkan is in use and the validation layers are available to the application." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "impeller-force-gl" -d "On platforms that support OpenGL Rendering using Impeller, force rendering using OpenGL over other APIs. If Impeller is not enabled or the platform does not support OpenGL ES, this flag does nothing." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-impeller-force-gl" -d "On platforms that support OpenGL Rendering using Impeller, force rendering using OpenGL over other APIs. If Impeller is not enabled or the platform does not support OpenGL ES, this flag does nothing." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-embedder-api" -d "Whether to enable the experimental embedder API on iOS." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-enable-embedder-api" -d "Whether to enable the experimental embedder API on iOS." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "publish-port" -d "Publish the VM service port over mDNS. Disable to prevent the local network permission app dialog in debug and profile build modes (iOS devices only)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-publish-port" -d "Publish the VM service port over mDNS. Disable to prevent the local network permission app dialog in debug and profile build modes (iOS devices only)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "keep-app-running" -d "Will keep the Flutter application running when done testing. By default, \"flutter drive\" stops the application after tests are finished, and \"--keep-app-running\" overrides this. On the other hand, if \"--use-existing-app\" is specified, then \"flutter drive\" instead defaults to leaving the application running, and \"--no-keep-app-running\" overrides it." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-keep-app-running" -d "Will keep the Flutter application running when done testing. By default, \"flutter drive\" stops the application after tests are finished, and \"--keep-app-running\" overrides this. On the other hand, if \"--use-existing-app\" is specified, then \"flutter drive\" instead defaults to leaving the application running, and \"--no-keep-app-running\" overrides it." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "use-existing-app" -d "Connect to an already running instance via the given Dart VM Service URL. If this option is given, the application will not be automatically started, and it will only be stopped if \"--no-keep-app-running\" is explicitly set." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "driver" -d "The test file to run on the host (as opposed to the target file to run on the device). By default, this file has the same base name as the target file, but in the \"test_driver/\" directory instead, and with \"_test\" inserted just before the extension, so e.g. if the target is \"lib/main.dart\", the driver will be \"test_driver/main_test.dart\"." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "build" -d "(deprecated) Build the app before running. To use an existing app, pass the \"--use-application-binary\" flag with an existing APK. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-build" -d "(deprecated) Build the app before running. To use an existing app, pass the \"--use-application-binary\" flag with an existing APK. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "screenshot" -d "Directory location to write screenshots on test failure." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "driver-port" -d "The port where Webdriver server is launched at. (defaults to \"4444\")" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "headless" -d "Whether the driver browser is going to be launched in headless mode. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-headless" -d "Whether the driver browser is going to be launched in headless mode. (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "browser-name" -d "Name of the browser where tests will be executed. [android-chrome] Chrome on Android (see also \"--android-emulator\"). [chrome] (default) Google Chrome on this computer (see also \"--chrome-binary\"). [edge] Microsoft Edge on this computer (Windows only). [firefox] Mozilla Firefox on this computer. [ios-safari] Apple Safari on an iOS device. [safari] Apple Safari on this computer (macOS only)." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "browser-dimension" -d "The dimension of the browser when running a Flutter Web test. This will affect screenshot and all offset-related actions. (defaults to \"1600,1024\")" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "android-emulator" -d "Whether to perform Flutter Driver testing using an Android Emulator. Works only if \"browser-name\" is set to \"android-chrome\". (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "no-android-emulator" -d "Whether to perform Flutter Driver testing using an Android Emulator. Works only if \"browser-name\" is set to \"android-chrome\". (defaults to on)" -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "chrome-binary" -d "Location of the Chrome binary. Works only if \"browser-name\" is set to \"chrome\"." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "write-sksl-on-exit" -d "Attempts to write an SkSL file when the drive process is finished to the provided file, overwriting it if necessary." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "test-arguments" -d "Additional arguments to pass to the Dart VM running The test script." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "profile-memory" -d "Launch devtools and profile application memory, writing The output data to the file path provided to this argument as JSON." -n "__fish_seen_subcommand_from drive" +complete -c flutter -l "timeout" -d "Timeout the test after the given number of seconds. If the \"--screenshot\" option is provided, a screenshot will be taken before exiting. Defaults to no timeout." -n "__fish_seen_subcommand_from drive" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a gen-l10n -d "Generate localizations for the current project." +complete -c flutter -l "arb-dir" -d "The directory where the template and translated arb files are located." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "output-dir" -d "The directory where the generated localization classes will be written if the synthetic-package flag is set to false. If output-dir is specified and the synthetic-package flag is enabled, this option will be ignored by the tool. The app must import the file specified in the \"--output-localization-file\" option from this directory. If unspecified, this defaults to the same directory as the input directory specified in \"--arb-dir\"." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "template-arb-file" -d "The template arb file that will be used as the basis for generating the Dart localization and messages files." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "output-localization-file" -d "The filename for the output localization and localizations delegate classes. \"locale\": [\"message_1\", \"message_2\" ... \"message_n\"] If this option is not specified, a summary of the messages that have not been translated will be printed on the command line." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "output-class" -d "The Dart class name to use for the output localization and localizations delegate classes. (defaults to \"AppLocalizations\")" -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "preferred-supported-locales" -d "The list of preferred supported locales for the application. By default, the tool will generate the supported locales list in alphabetical order. Use this flag if you would like to default to a different locale. For example, pass in \"en_US\" if you would like your app to default to American English on devices that support it. Pass this option multiple times to define multiple items." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "header" -d "The header to prepend to the generated Dart localizations files. This option takes in a string. For example, pass in \"/// All localized files.\" if you would like this string prepended to the generated Dart file. Alternatively, see the \"--header-file\" option to pass in a text file for longer headers." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "header-file" -d "The header to prepend to the generated Dart localizations files. The value of this option is the name of the file that contains the header text which will be inserted at the top of each generated Dart file. Alternatively, see the \"--header\" option to pass in a string for a simpler header. This file should be placed in the directory specified in \"--arb-dir\"." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "use-deferred-loading" -d "Whether to generate the Dart localization file with locales imported as deferred, allowing for lazy loading of each locale in Flutter web. This can reduce a web app’s initial startup time by decreasing the size of the JavaScript bundle. When this flag is set to true, the messages for a particular locale are only downloaded and loaded by the Flutter app as they are needed. For projects with a lot of different locales and many localization strings, it can be an performance improvement to have deferred loading. For projects with a small number of locales, the difference is negligible, and might slow down the start up compared to bundling the localizations with the rest of the application. This flag does not affect other platforms such as mobile or desktop." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-use-deferred-loading" -d "Whether to generate the Dart localization file with locales imported as deferred, allowing for lazy loading of each locale in Flutter web. This can reduce a web app’s initial startup time by decreasing the size of the JavaScript bundle. When this flag is set to true, the messages for a particular locale are only downloaded and loaded by the Flutter app as they are needed. For projects with a lot of different locales and many localization strings, it can be an performance improvement to have deferred loading. For projects with a small number of locales, the difference is negligible, and might slow down the start up compared to bundling the localizations with the rest of the application. This flag does not affect other platforms such as mobile or desktop." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "gen-inputs-and-outputs-list" -d "When specified, the tool generates a JSON file containing the tool's inputs and outputs named gen_l10n_inputs_and_outputs.json. This can be useful for keeping track of which files of the Flutter project were used when generating the latest set of localizations. For example, the Flutter tool's build system uses this file to keep track of when to call gen_l10n during hot reload. The value of this option is the directory where the JSON file will be generated. When null, the JSON file will not be generated." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "synthetic-package" -d "Determines whether or not the generated output files will be generated as a synthetic package or at a specified directory in the Flutter project. This flag is set to true by default. When synthetic-package is set to false, it will generate the localizations files in the directory specified by arb-dir by default. If output-dir is specified, files will be generated there. (defaults to on)" -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-synthetic-package" -d "Determines whether or not the generated output files will be generated as a synthetic package or at a specified directory in the Flutter project. This flag is set to true by default. When synthetic-package is set to false, it will generate the localizations files in the directory specified by arb-dir by default. If output-dir is specified, files will be generated there. (defaults to on)" -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "project-dir" -d "When specified, the tool uses the path passed into this option as the directory of the root Flutter project. When null, the relative path to the present working directory will be used." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "required-resource-attributes" -d "Requires all resource ids to contain a corresponding resource attribute. By default, simple messages will not require metadata, but it is highly recommended as this provides context for the meaning of a message to readers. Resource attributes are still required for plural messages." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-required-resource-attributes" -d "Requires all resource ids to contain a corresponding resource attribute. By default, simple messages will not require metadata, but it is highly recommended as this provides context for the meaning of a message to readers. Resource attributes are still required for plural messages." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "nullable-getter" -d "Whether or not the localizations class getter is nullable. By default, this value is set to true so that Localizations.of(context) returns a nullable value for backwards compatibility. If this value is set to false, then a null check is performed on the returned value of Localizations.of(context), removing the need for null checking in user code. (defaults to on)" -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-nullable-getter" -d "Whether or not the localizations class getter is nullable. By default, this value is set to true so that Localizations.of(context) returns a nullable value for backwards compatibility. If this value is set to false, then a null check is performed on the returned value of Localizations.of(context), removing the need for null checking in user code. (defaults to on)" -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "format" -d "When specified, the \"dart format\" command is run after generating the localization files." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-format" -d "When specified, the \"dart format\" command is run after generating the localization files." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "use-escaping" -d "Whether or not to use escaping for messages. By default, this value is set to false for backwards compatibility. Turning this flag on will cause the parser to treat any special characters contained within pairs of single quotes as normal strings and treat all consecutive pairs of single quotes as a single quote character." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-use-escaping" -d "Whether or not to use escaping for messages. By default, this value is set to false for backwards compatibility. Turning this flag on will cause the parser to treat any special characters contained within pairs of single quotes as normal strings and treat all consecutive pairs of single quotes as a single quote character." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "suppress-warnings" -d "When specified, all warnings will be suppressed." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-suppress-warnings" -d "When specified, all warnings will be suppressed." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "relax-syntax" -d "When specified, the syntax will be relaxed so that the special character \"{\" is treated as a string if it is not followed by a valid placeholder and \"}\" is treated as a string if it does not close any previous \"{\" that is treated as a special character." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -l "no-relax-syntax" -d "When specified, the syntax will be relaxed so that the special character \"{\" is treated as a string if it is not followed by a valid placeholder and \"}\" is treated as a string if it does not close any previous \"{\" that is treated as a special character." -n "__fish_seen_subcommand_from gen-l10n" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a pub -d "Commands for managing Flutter packages." +set -l pub_commands add cache deps downgrade get global login logout outdated publish remove run test token upgrade uploader version +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a add -d "Add a dependency to pubspec.yaml." +complete -c flutter -l "offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -l "no-offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -l "dry-run" -d "Report what dependencies would change but don't change any." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -l "precompile" -d "Build executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -l "no-precompile" -d "Build executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from add" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a cache -d "Work with the Pub system cache." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a deps -d "Print package dependencies." +complete -c flutter -l "style" -d "How output should be displayed. [compact, tree (default), list]" -s s -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -l "dev" -d "Whether to include dev dependencies. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -l "no-dev" -d "Whether to include dev dependencies. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -l "executables" -d "List all available executables." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -l "json" -d "Output dependency information in a json format." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from deps" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a downgrade -d "Downgrade packages in a Flutter project." +complete -c flutter -l "offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from downgrade" +complete -c flutter -l "no-offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from downgrade" +complete -c flutter -l "dry-run" -d "Report what dependencies would change but don't change any." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from downgrade" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from downgrade" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a get -d "Get the current package's dependencies." +complete -c flutter -l "offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "no-offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "dry-run" -d "Report what dependencies would change but don't change any." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "enforce-lockfile" -d "Enforce pubspec.lock. Fail resolution if pubspec.lock does not satisfy pubspec.yaml" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "precompile" -d "Build executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "no-precompile" -d "Build executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from get" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a global -d "Work with Pub global packages." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a login -d "Log into pub.dev." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a logout -d "Log out of pub.dev." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a outdated -d "Analyze dependencies to find which ones can be upgraded." +complete -c flutter -l "dependency-overrides" -d "Show resolutions with `dependency_overrides`. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "no-dependency-overrides" -d "Show resolutions with `dependency_overrides`. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "dev-dependencies" -d "Take dev dependencies into account. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "no-dev-dependencies" -d "Take dev dependencies into account. (defaults to on)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "json" -d "Output the results using a json format." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "prereleases" -d "Include prereleases in latest version." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "no-prereleases" -d "Include prereleases in latest version." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "show-all" -d "Include dependencies that are already fulfilling --mode." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "no-show-all" -d "Include dependencies that are already fulfilling --mode." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "transitive" -d "Show transitive dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "no-transitive" -d "Show transitive dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from outdated" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a pub -d "Pass the remaining arguments to Dart's "pub" tool." +complete -c flutter -l "verbose" -d "Print detailed logging." -s v -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from pub" +complete -c flutter -l "color" -d "Use colors in terminal output. Defaults to color when connected to a terminal, and no-color otherwise." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from pub" +complete -c flutter -l "no-color" -d "Use colors in terminal output. Defaults to color when connected to a terminal, and no-color otherwise." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from pub" +complete -c flutter -l "directory" -d "Run the subcommand in the directory. (defaults to \".\")" -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from pub" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a publish -d "Publish the current package to pub.dartlang.org." +complete -c flutter -l "dry-run" -d "Validate but do not publish the package." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from publish" +complete -c flutter -l "force" -d "Publish without confirmation if there are no errors." -s f -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from publish" +complete -c flutter -l "skip-validation" -d "Publish without validation and resolution (this will ignore errors)." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from publish" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from publish" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a remove -d "Removes a dependency from the current package." +complete -c flutter -l "offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -l "no-offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -l "dry-run" -d "Report what dependencies would change but don't change any." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -l "precompile" -d "Precompile executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -l "no-precompile" -d "Precompile executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from remove" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a run -d "Run an executable from a package." +complete -c flutter -l "enable-asserts" -d "Enable assert statements." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from run" +complete -c flutter -l "no-enable-asserts" -d "Enable assert statements." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from run" +complete -c flutter -l "enable-experiment" -d "Runs the executable in a VM with the given experiments enabled. (Will disable snapshotting, resulting in slower startup)." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from run" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from run" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a test -d "Run the "test" package." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a token -d "Manage authentication tokens for hosted pub repositories." +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a upgrade -d "Upgrade the current package's dependencies to latest versions." +complete -c flutter -l "offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "no-offline" -d "Use cached packages instead of accessing the network." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "dry-run" -d "Report what dependencies would change but don't change any." -s n -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "precompile" -d "Precompile executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "no-precompile" -d "Precompile executables in immediate dependencies." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "tighten" -d "Updates lower bounds in pubspec.yaml to match the resolved version." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "major-versions" -d "Upgrades packages to their latest resolvable versions, and updates pubspec.yaml." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from upgrade" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a uploader -d "Manage uploaders for a package on pub.dev." +complete -c flutter -l "package" -d "The package whose uploaders will be modified. (defaults to the current package)" -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from uploader" +complete -c flutter -l "directory" -d "Run this in the directory ." -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from uploader" +complete -c flutter -f -n "__fish_seen_subcommand_from pub; and not __fish_seen_subcommand_from $pub_commands" -a version -d "Print Pub version." +complete -c flutter -l "verbose" -d "Print detailed logging." -s v -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from version" +complete -c flutter -l "color" -d "Use colors in terminal output. Defaults to color when connected to a terminal, and no-color otherwise." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from version" +complete -c flutter -l "no-color" -d "Use colors in terminal output. Defaults to color when connected to a terminal, and no-color otherwise." -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from version" +complete -c flutter -l "directory" -d "Run the subcommand in the directory. (defaults to \".\")" -s C -n "__fish_seen_subcommand_from pub;__fish_seen_subcommand_from version" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a run -d "Run your Flutter app on an attached device." +complete -c flutter -l "debug" -d "Build a debug version of your app (default mode)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "release" -d "Build a release version of your app." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-renderer" -d "The renderer implementation to use when building for the web. [auto] (default) Use the HTML renderer on mobile devices, and CanvasKit on desktop devices. [canvaskit] Always use the CanvasKit renderer. This renderer uses WebGL and WebAssembly to render graphics. [html] Always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL. [skwasm] Always use the experimental skwasm renderer." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-web-resources-cdn" -d "Use Web static resources hosted on a CDN. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-native-null-assertions" -d "Enables additional runtime null checks in web applications to ensure the correct nullability of native (such as in dart:html) and external (such as with JS interop) types. This is enabled by default but only takes effect in sound mode. To report an issue with a null assertion failure in dart:html or the other dart web libraries, please file a bug at: https://github.com/dart-lang/sdk/issues/labels/web-libraries (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "bundle-sksl-path" -d "A path to a file containing precompiled SkSL shaders generated during \"flutter run\". These can be included in an application to improve the first frame render times." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "use-application-binary" -d "Specify a pre-built application binary to use when running. For Android applications, this must be the path to an APK. For iOS applications, the path to an IPA. Other device types do not yet support prebuilt application binaries." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "trace-startup" -d "Trace application startup, then exit, saving the trace to a file. By default, this will be saved in the \"build\" directory. If the FLUTTER_TEST_OUTPUTS_DIR environment variable is set, the file will be written there instead." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "cache-startup-profile" -d "Caches the CPU profile collected before the first frame for startup analysis." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-cache-startup-profile" -d "Caches the CPU profile collected before the first frame for startup analysis." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "verbose-system-logs" -d "Include verbose logging from the Flutter engine." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "cache-sksl" -d "Cache the shader in the SkSL format instead of in binary or GLSL formats." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dump-skp-on-shader-compilation" -d "Automatically dump the skp that triggers new shader compilations. This is useful for writing custom ShaderWarmUp to reduce jank. By default, this is not enabled as it introduces significant overhead. This is only available in profile or debug builds." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "purge-persistent-cache" -d "Removes all existing persistent caches. This allows reproducing shader compilation jank that normally only happens the first time an app is run, or for reliable testing of compilation jank fixes (e.g. shader warm-up)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "route" -d "Which route to load when running the app." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "vmservice-out-file" -d "A file to write the attached vmservice URL to after an application is started." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "disable-service-auth-codes" -d "(deprecated) Allow connections to the VM service without using authentication codes. (Not recommended! This can open your device to remote code execution attacks!)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "start-paused" -d "Start in a paused mode and wait for a debugger to connect." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-start-paused" -d "Start in a paused mode and wait for a debugger to connect." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dart-flags" -d "Pass a list of comma separated flags to the Dart instance at application startup. Flags passed through this option must be present on the allowlist defined within the Flutter engine. If a disallowed flag is encountered, the process will be terminated immediately. This flag is not available on the stable channel and is only applied in debug and profile modes. This option should only be used for experiments and should not be used by typical users." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "endless-trace-buffer" -d "Enable tracing to an infinite buffer, instead of a ring buffer. This is useful when recording large traces. To use an endless buffer to record startup traces, combine this with \"--trace-startup\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "trace-systrace" -d "Enable tracing to the system tracer. This is only useful on platforms where such a tracer is available (Android, iOS, macOS and Fuchsia)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "trace-skia" -d "Enable tracing of Skia code. This is useful when debugging the raster thread (formerly known as the GPU thread). By default, Flutter will not log Skia code, as it introduces significant overhead that may affect recorded performance metrics in a misleading way." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "trace-allowlist" -d "Filters out all trace events except those that are specified in this comma separated list of allowed prefixes." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "trace-skia-allowlist" -d "Filters out all Skia trace events except those that are specified in this comma separated list of allowed prefixes." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-dart-profiling" -d "Whether the Dart VM sampling CPU profiler is enabled. This flag is only meaningful in debug and profile builds. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-enable-dart-profiling" -d "Whether the Dart VM sampling CPU profiler is enabled. This flag is only meaningful in debug and profile builds. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-software-rendering" -d "(deprecated) Enable rendering using the Skia software backend. This is useful when testing Flutter on emulators. By default, Flutter will attempt to either use OpenGL or Vulkan and fall back to software when neither is available. This option is not supported when using the Impeller rendering engine." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "skia-deterministic-rendering" -d "(deprecated) When combined with \"--enable-software-rendering\", this should provide completely deterministic (i.e. reproducible) Skia rendering. This is useful for testing purposes (e.g. when comparing screenshots). This option is not supported when using the Impeller rendering engine." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dart-entrypoint-args" -d "Pass a list of arguments to the Dart entrypoint at application startup. By default this is main(List args). Specify this option multiple times each with one argument to pass multiple arguments to the Dart entrypoint. Currently this is only supported on desktop platforms." -s a -n "__fish_seen_subcommand_from run" +complete -c flutter -l "uninstall-first" -d "Uninstall previous versions of the app on the device before reinstalling. Currently only supported on iOS." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-uninstall-first" -d "Uninstall previous versions of the app on the device before reinstalling. Currently only supported on iOS." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-hostname" -d "The hostname that the web sever will use to resolve an IP to serve from. The unresolved hostname is used to launch Chrome when using the chrome Device. The name \"any\" may also be used to serve on any IPV4 for either the Chrome or web-server device. (defaults to \"localhost\")" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-port" -d "The host port to serve the web application from. If not provided, the tool will select a random open port on the host." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-server-debug-protocol" -d "The protocol (SSE or WebSockets) to use for the debug service proxy when using the Web Server device and Dart Debug extension. This is useful for editors/debug adapters that do not support debugging over SSE (the default protocol for Web Server/Dart Debugger extension). [sse, ws (default)]" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-server-debug-backend-protocol" -d "The protocol (SSE or WebSockets) to use for the Dart Debug Extension backend service when using the Web Server device. Using WebSockets can improve performance but may fail when connecting through some proxy servers. [sse, ws (default)]" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-server-debug-injected-client-protocol" -d "The protocol (SSE or WebSockets) to use for the injected client when using the Web Server device. Using WebSockets can improve performance but may fail when connecting through some proxy servers. [sse, ws (default)]" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-allow-expose-url" -d "Enables daemon-to-editor requests (app.exposeUrl) for exposing URLs when running on remote machines." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-web-allow-expose-url" -d "Enables daemon-to-editor requests (app.exposeUrl) for exposing URLs when running on remote machines." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-run-headless" -d "Launches the browser in headless mode. Currently only Chrome supports this option." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-web-run-headless" -d "Launches the browser in headless mode. Currently only Chrome supports this option." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-browser-debug-port" -d "The debug port the browser should use. If not specified, a random port is selected. Currently only Chrome supports this option. It serves the Chrome DevTools Protocol (https://chromedevtools.github.io/devtools-protocol/)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-enable-expression-evaluation" -d "Enables expression evaluation in the debugger. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-web-enable-expression-evaluation" -d "Enables expression evaluation in the debugger. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-launch-url" -d "The URL to provide to the browser. Defaults to an HTTP URL with the host name of \"--web-hostname\", the port of \"--web-port\", and the path set to \"/\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "web-browser-flag" -d "Additional flag to pass to a browser instance at startup. Chrome: https://www.chromium.org/developers/how-tos/run-chromium-with-flags/ Firefox: https://wiki.mozilla.org/Firefox/CommandLineOptions Multiple flags can be passed by repeating \"--web-browser-flag\" multiple times." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from run" +complete -c flutter -l "vm-service-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "observatory-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "device-vmservice-port" -d "Look for vmservice connections only from the specified port. Specifying port 0 (the default) will accept the first vmservice discovered." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "host-vmservice-port" -d "When a device-side vmservice port is forwarded to a host-side port, use this value as the host port. Specifying port 0 (the default) will find a random free host port." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "ipv6" -d "Binds to IPv6 localhost instead of IPv4 when the flutter tool forwards the host port to a device port." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "device-user" -d "Identifier number for a user or work profile on Android only. Run \"adb shell pm list users\" for available identifiers." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dds-port" -d "When this value is provided, the Dart Development Service (DDS) will be bound to the provided port. Specifying port 0 (the default) will find a random free port." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "devtools-server-address" -d "When this value is provided, the Flutter tool will not spin up a new DevTools server instance, and will instead use the one provided at the given address. Ignored if \"--no-devtools\" is specified." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-android-gradle-daemon" -d "Whether to enable the Gradle daemon when performing an Android build. Starting the daemon is the default behavior of the gradle wrapper script created in a Flutter project. Setting this flag to false corresponds to passing \"--no-daemon\" to the gradle wrapper script. This flag will cause the daemon process to terminate after the build is completed. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "android-project-arg" -d "Additional arguments specified as key=value that are passed directly to the gradle project via the -P flag. These can be accessed in build.gradle via the \"project.property\" API." -s P -n "__fish_seen_subcommand_from run" +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-impeller" -d "Whether to enable the Impeller rendering engine. Impeller is the default renderer on iOS. On Android, Impeller is available but not the default. This flag will cause Impeller to be used on Android. On other platforms, this flag will be ignored." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-enable-impeller" -d "Whether to enable the Impeller rendering engine. Impeller is the default renderer on iOS. On Android, Impeller is available but not the default. This flag will cause Impeller to be used on Android. On other platforms, this flag will be ignored." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-vulkan-validation" -d "Enable vulkan validation on the Impeller rendering backend if Vulkan is in use and the validation layers are available to the application." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-enable-vulkan-validation" -d "Enable vulkan validation on the Impeller rendering backend if Vulkan is in use and the validation layers are available to the application." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "impeller-force-gl" -d "On platforms that support OpenGL Rendering using Impeller, force rendering using OpenGL over other APIs. If Impeller is not enabled or the platform does not support OpenGL ES, this flag does nothing." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-impeller-force-gl" -d "On platforms that support OpenGL Rendering using Impeller, force rendering using OpenGL over other APIs. If Impeller is not enabled or the platform does not support OpenGL ES, this flag does nothing." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-embedder-api" -d "Whether to enable the experimental embedder API on iOS." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-enable-embedder-api" -d "Whether to enable the experimental embedder API on iOS." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "output-dill" -d "Specify the path to frontend server output kernel file." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "filesystem-root" -d "Specify the path that is used as the root of a virtual file system during compilation. The input file name should be specified as a URL using the scheme given in \"--filesystem-scheme\". Requires the \"--output-dill\" option to be explicitly specified." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "filesystem-scheme" -d "Specify the scheme that is used for virtual file system used in compilation. See also the \"--filesystem-root\" option. (defaults to \"org-dartlang-root\")" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "extra-front-end-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart front end. For example, \"--extra-front-end-options=--enable-experiment=nonfunction-type-aliases\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "extra-gen-snapshot-options" -d "A comma-separated list of additional command line arguments that will be passed directly to the Dart native compiler. (Only used in \"--profile\" or \"--release\" builds.) For example, \"--extra-gen-snapshot-options=--no-strip\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "frontend-server-starter-path" -d "When this value is provided, the frontend server will be started in JIT mode from the specified file, instead of from the AOT snapshot shipped with the Dart SDK. The specified file can either be a Dart source file, or an AppJIT snapshot. This option does not affect web builds." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "initialize-from-dill" -d "Initializes the resident compiler with a specific kernel file instead of the default cached location." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "assume-initialize-from-dill-up-to-date" -d "If set, assumes that the file passed in initialize-from-dill is up to date and skip the check and potential invalidation of files." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-assume-initialize-from-dill-up-to-date" -d "If set, assumes that the file passed in initialize-from-dill is up to date and skip the check and potential invalidation of files." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "publish-port" -d "Publish the VM service port over mDNS. Disable to prevent the local network permission app dialog in debug and profile build modes (iOS devices only). (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-publish-port" -d "Publish the VM service port over mDNS. Disable to prevent the local network permission app dialog in debug and profile build modes (iOS devices only). (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-multidex" -d "When enabled, indicates that the app should be built with multidex support. This flag adds the dependencies for multidex when the minimum android sdk is 20 or below. For android sdk versions 21 and above, multidex support is native. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "ignore-deprecation" -d "Indicates that the app should ignore deprecation warnings and continue to build using deprecated APIs. Use of this flag may cause your app to fail to build when deprecated APIs are removed." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "await-first-frame-when-tracing" -d "Whether to wait for the first frame when tracing startup (\"--trace-startup\"), or just dump the trace as soon as the application is running. The first frame is detected by looking for a Timeline event with the name \"Rasterized first useful frame\". By default, the widgets library's binding takes care of sending this event. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-await-first-frame-when-tracing" -d "Whether to wait for the first frame when tracing startup (\"--trace-startup\"), or just dump the trace as soon as the application is running. The first frame is detected by looking for a Timeline event with the name \"Rasterized first useful frame\". By default, the widgets library's binding takes care of sending this event. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "use-test-fonts" -d "Enable (and default to) the \"Ahem\" font. This is a special font used in tests to remove any dependencies on the font metrics. It is enabled when you use \"flutter test\". Set this flag when running a test using \"flutter run\" for debugging purposes. This flag is only available when running in debug mode." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-use-test-fonts" -d "Enable (and default to) the \"Ahem\" font. This is a special font used in tests to remove any dependencies on the font metrics. It is enabled when you use \"flutter test\". Set this flag when running a test using \"flutter run\" for debugging purposes. This flag is only available when running in debug mode." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "build" -d "If necessary, build the app before running. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-build" -d "If necessary, build the app before running. (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "project-root" -d "Specify the project root directory." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "machine" -d "Handle machine structured JSON command input and provide output and progress in machine friendly format." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "hot" -d "Run with support for hot reloading. Only available for debug mode. Not available with \"--trace-startup\". (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-hot" -d "Run with support for hot reloading. Only available for debug mode. Not available with \"--trace-startup\". (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "resident" -d "Stay resident after launching the application. Not available with \"--trace-startup\". (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-resident" -d "Stay resident after launching the application. Not available with \"--trace-startup\". (defaults to on)" -n "__fish_seen_subcommand_from run" +complete -c flutter -l "pid-file" -d "Specify a file to write the process ID to. You can send SIGUSR1 to trigger a hot reload and SIGUSR2 to trigger a hot restart. The file is created when the signal handlers are hooked and deleted when they are removed." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "report-ready" -d "Print \"ready\" to the console after handling a keyboard command. This is primarily useful for tests and other automation, but consider using \"--machine\" instead." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-report-ready" -d "Print \"ready\" to the console after handling a keyboard command. This is primarily useful for tests and other automation, but consider using \"--machine\" instead." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "benchmark" -d "Enable a benchmarking mode. This will run the given application, measure the startup time and the app restart time, write the results out to \"refresh_benchmark.json\", and exit. This flag is intended for use in generating automated flutter benchmarks." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "fast-start" -d "Whether to quickly bootstrap applications with a minimal app. Currently this is only supported on Android devices. This option cannot be paired with \"--use-application-binary\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -l "no-fast-start" -d "Whether to quickly bootstrap applications with a minimal app. Currently this is only supported on Android devices. This option cannot be paired with \"--use-application-binary\"." -n "__fish_seen_subcommand_from run" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a test -d "Run Flutter unit tests for the current project." +complete -c flutter -l "pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-pub" -d "Whether to run \"flutter pub get\" before executing this command. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "frontend-server-starter-path" -d "When this value is provided, the frontend server will be started in JIT mode from the specified file, instead of from the AOT snapshot shipped with the Dart SDK. The specified file can either be a Dart source file, or an AppJIT snapshot. This option does not affect web builds." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "web-renderer" -d "The renderer implementation to use when building for the web. [auto] (default) Use the HTML renderer on mobile devices, and CanvasKit on desktop devices. [canvaskit] Always use the CanvasKit renderer. This renderer uses WebGL and WebAssembly to render graphics. [html] Always use the HTML renderer. This renderer uses a combination of HTML, CSS, SVG, 2D Canvas, and WebGL. [skwasm] Always use the experimental skwasm renderer." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "device-user" -d "Identifier number for a user or work profile on Android only. Run \"adb shell pm list users\" for available identifiers." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "name" -d "A regular expression matching substrings of the names of tests to run." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "plain-name" -d "A plain-text substring of the names of tests to run." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "tags" -d "Run only tests associated with the specified tags. See: https://pub.dev/packages/test#tagging-tests" -s t -n "__fish_seen_subcommand_from test" +complete -c flutter -l "exclude-tags" -d "Run only tests that do not have the specified tags. See: https://pub.dev/packages/test#tagging-tests" -s x -n "__fish_seen_subcommand_from test" +complete -c flutter -l "start-paused" -d "Start in a paused mode and wait for a debugger to connect. You must specify a single test file to run, explicitly. Instructions for connecting with a debugger are printed to the console once the test has started." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "run-skipped" -d "Run skipped tests instead of skipping them." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-run-skipped" -d "Run skipped tests instead of skipping them." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "disable-service-auth-codes" -d "(deprecated) Allow connections to the VM service without using authentication codes. (Not recommended! This can open your device to remote code execution attacks!)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "coverage" -d "Whether to collect coverage information." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "merge-coverage" -d "Whether to merge coverage data with \"coverage/lcov.base.info\". Implies collecting coverage data. (Requires lcov.)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "branch-coverage" -d "Whether to collect branch coverage information. Implies collecting coverage data." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "ipv6" -d "Whether to use IPv6 for the test harness server socket." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "coverage-path" -d "Where to store coverage information (if coverage is enabled). (defaults to \"coverage/lcov.info\")" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "coverage-package" -d "A regular expression matching packages names to include in the coverage report (if coverage is enabled). If unset, matches the current package name." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "machine" -d "Handle machine structured JSON command input and provide output and progress in machine friendly format." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "update-goldens" -d "Whether \"matchesGoldenFile()\" calls within your test methods should update the golden files rather than test for an existing match." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "concurrency" -d "The number of concurrent test processes to run. This will be ignored when running integration tests." -s j -n "__fish_seen_subcommand_from test" +complete -c flutter -l "test-assets" -d "Whether to build the assets bundle for testing. This takes additional time before running the tests. Consider using \"--no-test-assets\" if assets are not required. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-test-assets" -d "Whether to build the assets bundle for testing. This takes additional time before running the tests. Consider using \"--no-test-assets\" if assets are not required. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "platform" -d "Selects the test backend. [chrome] (deprecated) Run tests using the Google Chrome web browser. This value is intended for testing the Flutter framework itself and may be removed at any time. [tester] (default) Run tests using the VM-based test environment." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "test-randomize-ordering-seed" -d "The seed to randomize the execution order of test cases within test files. Must be a 32bit unsigned integer or the string \"random\", which indicates that a seed should be selected randomly. By default, tests run in the order they are declared." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "total-shards" -d "Tests can be sharded with the \"--total-shards\" and \"--shard-index\" arguments, allowing you to split up your test suites and run them separately." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "shard-index" -d "Tests can be sharded with the \"--total-shards\" and \"--shard-index\" arguments, allowing you to split up your test suites and run them separately." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "enable-vmservice" -d "Enables the VM service without \"--start-paused\". This flag is intended for use with tests that will use \"dart:developer\" to interact with the VM service at runtime. This flag is ignored if \"--start-paused\" or coverage are requested, as the VM service will be enabled in those cases regardless." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-enable-vmservice" -d "Enables the VM service without \"--start-paused\". This flag is intended for use with tests that will use \"dart:developer\" to interact with the VM service at runtime. This flag is ignored if \"--start-paused\" or coverage are requested, as the VM service will be enabled in those cases regardless." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "reporter" -d "Set how to print test results. If unset, value will default to either compact or expanded. [compact] A single line that updates dynamically (The default reporter). [expanded] A separate line for each update. May be preferred when logging to a file or in continuous integration. [github] A custom reporter for GitHub Actions (the default reporter when running on GitHub Actions). [json] A machine-readable format. See: https://dart.dev/go/test-docs/json_reporter.md" -s r -n "__fish_seen_subcommand_from test" +complete -c flutter -l "file-reporter" -d "Enable an additional reporter writing test results to a file. Should be in the form :, Example: \"json:reports/tests.json\"." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "timeout" -d "The default test timeout, specified either in seconds (e.g. \"60s\"), as a multiplier of the default timeout (e.g. \"2x\"), or as the string \"none\" to disable the timeout entirely." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "dds-port" -d "When this value is provided, the Dart Development Service (DDS) will be bound to the provided port. Specifying port 0 (the default) will find a random free port." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from test" +complete -c flutter -l "disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from test" +complete -c flutter -l "no-fatal-warnings" -d "Causes the command to fail if warnings are sent to the console during its execution." -n "__fish_seen_subcommand_from test" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a attach -d "Attach to a running app." +complete -c flutter -l "debug" -d "Build a debug version of your app (default mode)." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "target" -d "The main entry-point file of the application, as run on the device. If the \"--target\" option is omitted, but a file name is provided on the command line, then that is used instead. (defaults to \"lib/main.dart\")" -s t -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "vm-service-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "observatory-port" -d "(deprecated; use host-vmservice-port instead) Listen to the given port for a Dart VM Service connection. Specifying port 0 (the default) will find a random free port. if the Dart Development Service (DDS) is enabled, this will not be the port of the VmService instance advertised on the command line." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "device-vmservice-port" -d "Look for vmservice connections only from the specified port. Specifying port 0 (the default) will accept the first vmservice discovered." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "host-vmservice-port" -d "When a device-side vmservice port is forwarded to a host-side port, use this value as the host port. Specifying port 0 (the default) will find a random free host port." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "ipv6" -d "Binds to IPv6 localhost instead of IPv4 when the flutter tool forwards the host port to a device port." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "output-dill" -d "Specify the path to frontend server output kernel file." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "filesystem-root" -d "Specify the path that is used as the root of a virtual file system during compilation. The input file name should be specified as a URL using the scheme given in \"--filesystem-scheme\". Requires the \"--output-dill\" option to be explicitly specified." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "filesystem-scheme" -d "Specify the scheme that is used for virtual file system used in compilation. See also the \"--filesystem-root\" option. (defaults to \"org-dartlang-root\")" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "target-model" -d "Target model that determines what core libraries are available. [flutter (default), flutter_runner]" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "module" -d "The name of the module (required if attaching to a fuchsia device)." -s m -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "dart-define" -d "Additional key-value pairs that will be available as constants from the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define\" multiple times." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "dart-define-from-file" -d "The path of a .json or .env file containing key-value pairs that will be available as environment variables. These can be accessed using the String.fromEnvironment, bool.fromEnvironment, and int.fromEnvironment constructors. Multiple defines can be passed by repeating \"--dart-define-from-file\" multiple times. Entries from \"--dart-define\" with identical keys take precedence over entries from these files." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "device-user" -d "Identifier number for a user or work profile on Android only. Run \"adb shell pm list users\" for available identifiers." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "enable-experiment" -d "The name of an experimental Dart feature to enable. For more information see: https://github.com/dart-lang/sdk/blob/main/docs/process/experimental-flags.md" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "initialize-from-dill" -d "Initializes the resident compiler with a specific kernel file instead of the default cached location." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "assume-initialize-from-dill-up-to-date" -d "If set, assumes that the file passed in initialize-from-dill is up to date and skip the check and potential invalidation of files." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-assume-initialize-from-dill-up-to-date" -d "If set, assumes that the file passed in initialize-from-dill is up to date and skip the check and potential invalidation of files." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "debug-port" -d "(deprecated) Device port where the Dart VM Service is listening. Requires \"--disable-service-auth-codes\" to also be provided to the Flutter application at launch, otherwise this command will fail to connect to the application. In general, \"--debug-url\" should be used instead." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "debug-url" -d "The URL at which the Dart VM Service is listening." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "app-id" -d "The package name (Android) or bundle identifier (iOS) for the app. This can be specified to avoid being prompted if multiple Dart VM Service ports are advertised. If you have multiple devices or emulators running, you should include the device hostname as well, e.g. \"com.example.myApp@my-iphone\". This parameter is case-insensitive." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "pid-file" -d "Specify a file to write the process ID to. You can send SIGUSR1 to trigger a hot reload and SIGUSR2 to trigger a hot restart. The file is created when the signal handlers are hooked and deleted when they are removed." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "report-ready" -d "Print \"ready\" to the console after handling a keyboard command. This is primarily useful for tests and other automation, but consider using \"--machine\" instead." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-report-ready" -d "Print \"ready\" to the console after handling a keyboard command. This is primarily useful for tests and other automation, but consider using \"--machine\" instead." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "project-root" -d "Normally used only in run target." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "machine" -d "Handle machine structured JSON command input and provide output and progress in machine-friendly format." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-track-widget-creation" -d "Track widget creation locations. This enables features such as the widget inspector. This parameter is only functional in debug mode (i.e. when compiling JIT, not AOT). (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "dds-port" -d "When this value is provided, the Dart Development Service (DDS) will be bound to the provided port. Specifying port 0 (the default) will find a random free port." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-devtools" -d "Enable (or disable, with \"--no-devtools\") the launching of the Flutter DevTools debugger and profiler. If specified, \"--devtools-server-address\" is ignored. (defaults to on)" -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "devtools-server-address" -d "When this value is provided, the Flutter tool will not spin up a new DevTools server instance, and will instead use the one provided at the given address. Ignored if \"--no-devtools\" is specified." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "no-serve-observatory" -d "Serve the legacy Observatory developer tooling through the VM service." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from attach" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from attach" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a custom-devices -d "List, reset, add and delete custom devices." +set -l custom_devices_commands add delete list reset +complete -c flutter -f -n "__fish_seen_subcommand_from custom-devices; and not __fish_seen_subcommand_from $custom_devices_commands" -a add -d "Add a new device the custom devices config file." +complete -c flutter -l "check" -d "Make sure the config actually works. This will execute some of the commands in the config (if necessary with dummy arguments). This flag is enabled by default when \"--json\" is not specified. If \"--json\" is given, it is disabled by default. For example, a config with \"null\" as the \"runDebug\" command is invalid. If the \"runDebug\" command is valid (so it is an array of strings) but the command is not found (because you have a typo, for example), the config won't work and \"--check\" will spot that." -n "__fish_seen_subcommand_from custom-devices;__fish_seen_subcommand_from add" +complete -c flutter -l "no-check" -d "Make sure the config actually works. This will execute some of the commands in the config (if necessary with dummy arguments). This flag is enabled by default when \"--json\" is not specified. If \"--json\" is given, it is disabled by default. For example, a config with \"null\" as the \"runDebug\" command is invalid. If the \"runDebug\" command is valid (so it is an array of strings) but the command is not found (because you have a typo, for example), the config won't work and \"--check\" will spot that." -n "__fish_seen_subcommand_from custom-devices;__fish_seen_subcommand_from add" +complete -c flutter -l "json" -d "\"pi\", ...}> Add the custom device described by this JSON-encoded string to the list of custom-devices instead of using the normal, interactive way of configuring. Useful if you want to use the \"flutter custom-devices add\" command from a script, or use it non-interactively for some other reason. By default, this won't check whether the passed in config actually works. For more info see the \"--check\" option." -n "__fish_seen_subcommand_from custom-devices;__fish_seen_subcommand_from add" +complete -c flutter -l "ssh" -d "Add a ssh-device. This will automatically fill out some of the config options for you with good defaults, and in other cases save you some typing. So you'll only need to enter some things like hostname and username of the remote device instead of entering each individual command. (defaults to on)" -n "__fish_seen_subcommand_from custom-devices;__fish_seen_subcommand_from add" +complete -c flutter -f -n "__fish_seen_subcommand_from custom-devices; and not __fish_seen_subcommand_from $custom_devices_commands" -a delete -d "Delete a device from the config file." +complete -c flutter -f -n "__fish_seen_subcommand_from custom-devices; and not __fish_seen_subcommand_from $custom_devices_commands" -a list -d "List the currently configured custom devices, both enabled and disabled, reachable or not." +complete -c flutter -f -n "__fish_seen_subcommand_from custom-devices; and not __fish_seen_subcommand_from $custom_devices_commands" -a reset -d "Reset the config file to the default." +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a daemon -d "Run a persistent, JSON-RPC based server to communicate with devices." +complete -c flutter -l "listen-on-tcp-port" -d "If specified, the daemon will be listening for commands on the specified port instead of stdio." -n "__fish_seen_subcommand_from daemon" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a debug-adapter -d "Run a Debug Adapter Protocol (DAP) server to communicate with the Flutter tool." +complete -c flutter -l "ipv6" -d "Binds to IPv6 localhost instead of IPv4 when the flutter tool forwards the host port to a device port." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "dds-port" -d "When this value is provided, the Dart Development Service (DDS) will be bound to the provided port. Specifying port 0 (the default) will find a random free port." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "no-dds" -d "Enable the Dart Developer Service (DDS). It may be necessary to disable this when attaching to an application with an existing DDS instance (e.g., attaching to an application currently connected to by \"flutter run\"), or when running certain tests. Disabling this feature may degrade IDE functionality if a DDS instance is not already connected to the target application. (defaults to on)" -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "no-disable-dds" -d "(deprecated; use \"--no-dds\" instead) Disable the Dart Developer Service (DDS)." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "test" -d "Whether to use the \"flutter test\" debug adapter to run tests and emit custom events for test progress/results." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -l "no-test" -d "Whether to use the \"flutter test\" debug adapter to run tests and emit custom events for test progress/results." -n "__fish_seen_subcommand_from debug-adapter" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a devices -d "List all connected devices." +complete -c flutter -l "machine" -d "Output device information in machine readable structured JSON format." -n "__fish_seen_subcommand_from devices" +complete -c flutter -l "timeout" -d "(deprecated) This option has been replaced by \"--device-timeout\"." -s t -n "__fish_seen_subcommand_from devices" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from devices" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from devices" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a emulators -d "List, launch and create emulators." +complete -c flutter -l "launch" -d "The full or partial ID of the emulator to launch." -n "__fish_seen_subcommand_from emulators" -xa "(__fish_flutter_emulators)" +complete -c flutter -l "cold" -d "Used with the \"--launch\" flag to cold boot the emulator instance (Android only)." -n "__fish_seen_subcommand_from emulators" +complete -c flutter -l "create" -d "Creates a new Android emulator based on a Pixel device." -n "__fish_seen_subcommand_from emulators" +complete -c flutter -l "name" -d "Used with the \"--create\" flag. Specifies a name for the emulator being created." -n "__fish_seen_subcommand_from emulators" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a install -d "Install a Flutter app on an attached device." +complete -c flutter -l "debug" -d "Build a debug version of your app." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "profile" -d "Build a version of your app specialized for performance profiling." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "release" -d "Build a release version of your app (default mode)." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "jit-release" -d "Build a JIT release version of your app (default mode)." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "use-application-binary" -d "Specify a pre-built application binary to use when running. For Android applications, this must be the path to an APK. For iOS applications, the path to an IPA. Other device types do not yet support prebuilt application binaries." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "device-user" -d "Identifier number for a user or work profile on Android only. Run \"adb shell pm list users\" for available identifiers." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "flavor" -d "Build a custom app flavor as defined by platform-specific build setup. Supports the use of product flavors in Android Gradle scripts, and the use of custom Xcode schemes." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "uninstall-only" -d "Uninstall the app if already on the device. Skip install." -n "__fish_seen_subcommand_from install" +complete -c flutter -l "no-uninstall-only" -d "Uninstall the app if already on the device. Skip install." -n "__fish_seen_subcommand_from install" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a logs -d "Show log output for running Flutter apps." +complete -c flutter -l "clear" -d "Clear log history before reading from logs." -s c -n "__fish_seen_subcommand_from logs" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from logs" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from logs" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a screenshot -d "Take a screenshot from a connected device." +complete -c flutter -l "out" -d "Location to write the screenshot." -s o -n "__fish_seen_subcommand_from screenshot" +complete -c flutter -l "vm-service-url" -d "The VM Service URL to which to connect. This is required when \"--type\" is \"skia\". To find the VM service URL, use \"flutter run\" and look for \"A Dart VM Service ... is available at\" in the output." -n "__fish_seen_subcommand_from screenshot" +complete -c flutter -l "type" -d "The type of screenshot to retrieve. [device] (default) Delegate to the device's native screenshot capabilities. This screenshots the entire screen currently being displayed (including content not rendered by Flutter, like the device status bar). [skia] Render the Flutter app as a Skia picture. Requires \"--vm-service-url\"." -n "__fish_seen_subcommand_from screenshot" +complete -c flutter -l "device-timeout" -d "Time in seconds to wait for devices to attach. Longer timeouts may be necessary for networked devices." -n "__fish_seen_subcommand_from screenshot" +complete -c flutter -l "device-connection" -d "Discover devices based on connection type. [attached] Only searches for devices connected by USB or built-in (such as simulators/emulators, MacOS/Windows, Chrome) [both] (default) Searches for both attached and wireless devices. [wireless] Only searches for devices connected wirelessly. Discovering wireless devices may take longer." -n "__fish_seen_subcommand_from screenshot" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a symbolize -d "Symbolize a stack trace from an AOT-compiled Flutter app." +complete -c flutter -l "debug-info" -d "A path to the symbols file generated with \"--split-debug-info\"." -s d -n "__fish_seen_subcommand_from symbolize" +complete -c flutter -l "input" -d "A file path containing a Dart stack trace." -s i -n "__fish_seen_subcommand_from symbolize" +complete -c flutter -l "output" -d "A file path for a symbolized stack trace to be written to." -s o -n "__fish_seen_subcommand_from symbolize" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Welcome to Flutter! - https://flutter.dev ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "The Flutter tool uses Google Analytics to anonymously report feature usage ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "statistics and basic crash reports. This data is used to help improve ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Flutter tools over time. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Flutter tool analytics are not sent on the very first run. To disable ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "reporting, type 'flutter config --no-analytics'. To display the current ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "setting, type 'flutter config'. If you opt out of analytics, an opt-out ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "event will be sent, and then no further information will be sent by the ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Flutter tool. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "By downloading the Flutter SDK, you agree to the Google Terms of Service. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "The Google Privacy Policy describes how data is handled in this service. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Moreover, Flutter includes the Dart SDK, which may send usage metrics and ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "crash reports to Google. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "Read about data we send with crash reports: ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "https://flutter.dev/docs/reference/crash-reporting ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "See Google's privacy policy: ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "https://policies.google.com/privacy ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a ║ -d "To disable animations in this tool, use 'flutter config --no-animations'. ║" +complete -c flutter -f -n "not __fish_seen_subcommand_from $commands" -a help -d "" diff --git a/dot_config/private_fish/completions/fzf_configure_bindings.fish b/dot_config/private_fish/completions/fzf_configure_bindings.fish new file mode 100644 index 0000000..b38ef92 --- /dev/null +++ b/dot_config/private_fish/completions/fzf_configure_bindings.fish @@ -0,0 +1,8 @@ +complete fzf_configure_bindings --no-files +complete fzf_configure_bindings --long help --short h --description "Print help" --condition "not __fish_seen_argument --help -h" +complete fzf_configure_bindings --long directory --description "Change the key binding for Search Directory" --condition "not __fish_seen_argument --directory" +complete fzf_configure_bindings --long git_log --description "Change the key binding for Search Git Log" --condition "not __fish_seen_argument --git_log" +complete fzf_configure_bindings --long git_status --description "Change the key binding for Search Git Status" --condition "not __fish_seen_argument --git_status" +complete fzf_configure_bindings --long history --description "Change the key binding for Search History" --condition "not __fish_seen_argument --history" +complete fzf_configure_bindings --long processes --description "Change the key binding for Search Processes" --condition "not __fish_seen_argument --processes" +complete fzf_configure_bindings --long variables --description "Change the key binding for Search Variables" --condition "not __fish_seen_argument --variables" diff --git a/dot_config/private_fish/completions/kubectl.fish b/dot_config/private_fish/completions/kubectl.fish new file mode 100644 index 0000000..4e6ca7c --- /dev/null +++ b/dot_config/private_fish/completions/kubectl.fish @@ -0,0 +1,191 @@ + +# Copyright 2016 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# fish completion for kubectl -*- shell-script -*- + +function __kubectl_debug + set -l file "$BASH_COMP_DEBUG_FILE" + if test -n "$file" + echo "$argv" >> $file + end +end + +function __kubectl_perform_completion + __kubectl_debug "Starting __kubectl_perform_completion" + + # Extract all args except the last one + set -l args (commandline -opc) + # Extract the last arg and escape it in case it is a space + set -l lastArg (string escape -- (commandline -ct)) + + __kubectl_debug "args: $args" + __kubectl_debug "last arg: $lastArg" + + # Disable ActiveHelp which is not supported for fish shell + set -l requestComp "KUBECTL_ACTIVE_HELP=0 $args[1] __complete $args[2..-1] $lastArg" + + __kubectl_debug "Calling $requestComp" + set -l results (eval $requestComp 2> /dev/null) + + # Some programs may output extra empty lines after the directive. + # Let's ignore them or else it will break completion. + # Ref: https://github.com/spf13/cobra/issues/1279 + for line in $results[-1..1] + if test (string trim -- $line) = "" + # Found an empty line, remove it + set results $results[1..-2] + else + # Found non-empty line, we have our proper output + break + end + end + + set -l comps $results[1..-2] + set -l directiveLine $results[-1] + + # For Fish, when completing a flag with an = (e.g., -n=) + # completions must be prefixed with the flag + set -l flagPrefix (string match -r -- '-.*=' "$lastArg") + + __kubectl_debug "Comps: $comps" + __kubectl_debug "DirectiveLine: $directiveLine" + __kubectl_debug "flagPrefix: $flagPrefix" + + for comp in $comps + printf "%s%s\n" "$flagPrefix" "$comp" + end + + printf "%s\n" "$directiveLine" +end + +# This function does two things: +# - Obtain the completions and store them in the global __kubectl_comp_results +# - Return false if file completion should be performed +function __kubectl_prepare_completions + __kubectl_debug "" + __kubectl_debug "========= starting completion logic ==========" + + # Start fresh + set --erase __kubectl_comp_results + + set -l results (__kubectl_perform_completion) + __kubectl_debug "Completion results: $results" + + if test -z "$results" + __kubectl_debug "No completion, probably due to a failure" + # Might as well do file completion, in case it helps + return 1 + end + + set -l directive (string sub --start 2 $results[-1]) + set --global __kubectl_comp_results $results[1..-2] + + __kubectl_debug "Completions are: $__kubectl_comp_results" + __kubectl_debug "Directive is: $directive" + + set -l shellCompDirectiveError 1 + set -l shellCompDirectiveNoSpace 2 + set -l shellCompDirectiveNoFileComp 4 + set -l shellCompDirectiveFilterFileExt 8 + set -l shellCompDirectiveFilterDirs 16 + + if test -z "$directive" + set directive 0 + end + + set -l compErr (math (math --scale 0 $directive / $shellCompDirectiveError) % 2) + if test $compErr -eq 1 + __kubectl_debug "Received error directive: aborting." + # Might as well do file completion, in case it helps + return 1 + end + + set -l filefilter (math (math --scale 0 $directive / $shellCompDirectiveFilterFileExt) % 2) + set -l dirfilter (math (math --scale 0 $directive / $shellCompDirectiveFilterDirs) % 2) + if test $filefilter -eq 1; or test $dirfilter -eq 1 + __kubectl_debug "File extension filtering or directory filtering not supported" + # Do full file completion instead + return 1 + end + + set -l nospace (math (math --scale 0 $directive / $shellCompDirectiveNoSpace) % 2) + set -l nofiles (math (math --scale 0 $directive / $shellCompDirectiveNoFileComp) % 2) + + __kubectl_debug "nospace: $nospace, nofiles: $nofiles" + + # If we want to prevent a space, or if file completion is NOT disabled, + # we need to count the number of valid completions. + # To do so, we will filter on prefix as the completions we have received + # may not already be filtered so as to allow fish to match on different + # criteria than the prefix. + if test $nospace -ne 0; or test $nofiles -eq 0 + set -l prefix (commandline -t | string escape --style=regex) + __kubectl_debug "prefix: $prefix" + + set -l completions (string match -r -- "^$prefix.*" $__kubectl_comp_results) + set --global __kubectl_comp_results $completions + __kubectl_debug "Filtered completions are: $__kubectl_comp_results" + + # Important not to quote the variable for count to work + set -l numComps (count $__kubectl_comp_results) + __kubectl_debug "numComps: $numComps" + + if test $numComps -eq 1; and test $nospace -ne 0 + # We must first split on \t to get rid of the descriptions to be + # able to check what the actual completion will be. + # We don't need descriptions anyway since there is only a single + # real completion which the shell will expand immediately. + set -l split (string split --max 1 \t $__kubectl_comp_results[1]) + + # Fish won't add a space if the completion ends with any + # of the following characters: @=/:., + set -l lastChar (string sub -s -1 -- $split) + if not string match -r -q "[@=/:.,]" -- "$lastChar" + # In other cases, to support the "nospace" directive we trick the shell + # by outputting an extra, longer completion. + __kubectl_debug "Adding second completion to perform nospace directive" + set --global __kubectl_comp_results $split[1] $split[1]. + __kubectl_debug "Completions are now: $__kubectl_comp_results" + end + end + + if test $numComps -eq 0; and test $nofiles -eq 0 + # To be consistent with bash and zsh, we only trigger file + # completion when there are no other completions + __kubectl_debug "Requesting file completion" + return 1 + end + end + + return 0 +end + +# Since Fish completions are only loaded once the user triggers them, we trigger them ourselves +# so we can properly delete any completions provided by another script. +# Only do this if the program can be found, or else fish may print some errors; besides, +# the existing completions will only be loaded if the program can be found. +if type -q "kubectl" + # The space after the program name is essential to trigger completion for the program + # and not completion of the program name itself. + # Also, we use '> /dev/null 2>&1' since '&>' is not supported in older versions of fish. + complete --do-complete "kubectl " > /dev/null 2>&1 +end + +# Remove any pre-existing completions for the program since we will be handling all of them. +complete -c kubectl -e + +# The call to __kubectl_prepare_completions will setup __kubectl_comp_results +# which provides the program's completion choices. +complete -c kubectl -n '__kubectl_prepare_completions' -f -a '$__kubectl_comp_results' + diff --git a/dot_config/private_fish/completions/sxp.fish b/dot_config/private_fish/completions/sxp.fish new file mode 100644 index 0000000..2357ca5 --- /dev/null +++ b/dot_config/private_fish/completions/sxp.fish @@ -0,0 +1,13 @@ +complete -c sxp -n "__fish_use_subcommand" -s h -l help -d 'Print help' +complete -c sxp -n "__fish_use_subcommand" -f -a "extract" -d 'Extract a single PDF file to SVG files' +complete -c sxp -n "__fish_use_subcommand" -f -a "merge" -d 'Merge SVG files into a single PDF' +complete -c sxp -n "__fish_use_subcommand" -f -a "complete" -d 'Generate shell completions' +complete -c sxp -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' +complete -c sxp -n "__fish_seen_subcommand_from extract" -l prefix -d 'The prefix string of the output files' -r +complete -c sxp -n "__fish_seen_subcommand_from extract" -s h -l help -d 'Print help' +complete -c sxp -n "__fish_seen_subcommand_from merge" -s h -l help -d 'Print help' +complete -c sxp -n "__fish_seen_subcommand_from complete" -s h -l help -d 'Print help' +complete -c sxp -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from extract; and not __fish_seen_subcommand_from merge; and not __fish_seen_subcommand_from complete; and not __fish_seen_subcommand_from help" -f -a "extract" -d 'Extract a single PDF file to SVG files' +complete -c sxp -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from extract; and not __fish_seen_subcommand_from merge; and not __fish_seen_subcommand_from complete; and not __fish_seen_subcommand_from help" -f -a "merge" -d 'Merge SVG files into a single PDF' +complete -c sxp -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from extract; and not __fish_seen_subcommand_from merge; and not __fish_seen_subcommand_from complete; and not __fish_seen_subcommand_from help" -f -a "complete" -d 'Generate shell completions' +complete -c sxp -n "__fish_seen_subcommand_from help; and not __fish_seen_subcommand_from extract; and not __fish_seen_subcommand_from merge; and not __fish_seen_subcommand_from complete; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)' diff --git a/dot_config/private_fish/conf.d/android-sdk.fish b/dot_config/private_fish/conf.d/android-sdk.fish new file mode 100644 index 0000000..129198c --- /dev/null +++ b/dot_config/private_fish/conf.d/android-sdk.fish @@ -0,0 +1,20 @@ +# check for common android sdk locations +for root in $ANDROID_HOME $ANDROID_SDK_ROOT $HOME/Android/Sdk $HOME/Library/Android/sdk + set -l paths + if test -d $root + # the sdk root exists as a directory so let's try to add the binary directories + # we just add the most recent of the build tools that are installed + set -l build_tools_dirs $root/build-tools/* + for bin in $root/cmdline-tools/latest/bin $build_tools_dirs[-1] $root/platform-tools $root/emulator + if test -d $bin + set paths $paths $bin + end + end + # if we added at least one path, let's add them to the real PATH, set ANDROID_HOME and finish + if set -q paths[1] + set -gx PATH $PATH $paths + set -gx ANDROID_HOME $root + break + end + end +end diff --git a/dot_config/private_fish/conf.d/autopair.fish b/dot_config/private_fish/conf.d/autopair.fish new file mode 100644 index 0000000..abb4bf3 --- /dev/null +++ b/dot_config/private_fish/conf.d/autopair.fish @@ -0,0 +1,39 @@ +status is-interactive || exit + +set --global autopair_left "(" "[" "{" '"' "'" +set --global autopair_right ")" "]" "}" '"' "'" +set --global autopair_pairs "()" "[]" "{}" '""' "''" + +function _autopair_fish_key_bindings --on-variable fish_key_bindings + set --query fish_key_bindings[1] || return + + test $fish_key_bindings = fish_default_key_bindings && + set --local mode default insert || + set --local mode insert default + + bind --mode $mode[-1] --erase \177 \b \t + + bind --mode $mode[1] \177 _autopair_backspace # macOS ⌫ + bind --mode $mode[1] \b _autopair_backspace + bind --mode $mode[1] \t _autopair_tab + + printf "%s\n" $autopair_pairs | while read --local left right --delimiter "" + bind --mode $mode[-1] --erase $left $right + if test $left = $right + bind --mode $mode[1] $left "_autopair_insert_same \\$left" + else + bind --mode $mode[1] $left "_autopair_insert_left \\$left \\$right" + bind --mode $mode[1] $right "_autopair_insert_right \\$right" + end + end +end + +_autopair_fish_key_bindings + +function _autopair_uninstall --on-event autopair_uninstall + string collect ( + bind --all | string replace --filter --regex -- "_autopair.*" --erase + set --names | string replace --filter --regex -- "^autopair" "set --erase autopair" + ) | source + functions --erase (functions --all | string match "_autopair_*") +end diff --git a/dot_config/private_fish/conf.d/fzf.fish b/dot_config/private_fish/conf.d/fzf.fish new file mode 100644 index 0000000..8156c11 --- /dev/null +++ b/dot_config/private_fish/conf.d/fzf.fish @@ -0,0 +1,28 @@ +# fzf.fish is only meant to be used in interactive mode. If not in interactive mode and not in CI, skip the config to speed up shell startup +if not status is-interactive && test "$CI" != true + exit +end + +# Because of scoping rules, to capture the shell variables exactly as they are, we must read +# them before even executing _fzf_search_variables. We use psub to store the +# variables' info in temporary files and pass in the filenames as arguments. +# This variable is global so that it can be referenced by fzf_configure_bindings and in tests +set --global _fzf_search_vars_command '_fzf_search_variables (set --show | psub) (set --names | psub)' + + +# Install the default bindings, which are mnemonic and minimally conflict with fish's preset bindings +fzf_configure_bindings + +# Doesn't erase autoloaded _fzf_* functions because they are not easily accessible once key bindings are erased +function _fzf_uninstall --on-event fzf_uninstall + _fzf_uninstall_bindings + + set --erase _fzf_search_vars_command + functions --erase _fzf_uninstall _fzf_migration_message _fzf_uninstall_bindings fzf_configure_bindings + complete --erase fzf_configure_bindings + + set_color cyan + echo "fzf.fish uninstalled." + echo "You may need to manually remove fzf_configure_bindings from your config.fish if you were using custom key bindings." + set_color normal +end diff --git a/dot_config/private_fish/conf.d/rustup.fish b/dot_config/private_fish/conf.d/rustup.fish new file mode 100644 index 0000000..e0588f3 --- /dev/null +++ b/dot_config/private_fish/conf.d/rustup.fish @@ -0,0 +1 @@ +. "$HOME/.cargo/env.fish" diff --git a/dot_config/private_fish/fish_variables b/dot_config/private_fish/fish_variables new file mode 100644 index 0000000..c414ef6 --- /dev/null +++ b/dot_config/private_fish/fish_variables @@ -0,0 +1,49 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR --export EDITOR:nvim +SETUVAR __fish_initialized:3400 +SETUVAR _fisher_jorgebucaran_2F_autopair_2E_fish_files:\x7e/\x2econfig/fish/functions/_autopair_backspace\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_left\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_right\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_same\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_tab\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/autopair\x2efish +SETUVAR _fisher_oh_2D_my_2D_fish_2F_plugin_2D_android_2D_sdk_files:\x7e/\x2econfig/fish/conf\x2ed/android\x2dsdk\x2efish +SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish +SETUVAR _fisher_plugins:oh\x2dmy\x2dfish/plugin\x2dandroid\x2dsdk\x1epatrickf1/fzf\x2efish\x1eqiuxiang/flutter\x2dfish\x2dcompletions\x1ejorgebucaran/autopair\x2efish +SETUVAR _fisher_qiuxiang_2F_flutter_2D_fish_2D_completions_files:\x7e/\x2econfig/fish/completions/flutter\x2efish +SETUVAR _fisher_upgraded_to_4_4:\x1d +SETUVAR fish_color_autosuggestion:969896 +SETUVAR fish_color_cancel:\x2d\x2dreverse +SETUVAR fish_color_command:c397d8 +SETUVAR fish_color_comment:e7c547 +SETUVAR fish_color_cwd:green +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:c397d8 +SETUVAR fish_color_error:d54e53 +SETUVAR fish_color_escape:00a6b2 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:\x1d +SETUVAR fish_color_keyword:\x1d +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:00a6b2 +SETUVAR fish_color_option:\x1d +SETUVAR fish_color_param:7aa6da +SETUVAR fish_color_quote:b9ca4a +SETUVAR fish_color_redirection:70c0b1 +SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack +SETUVAR fish_color_status:red +SETUVAR fish_color_user:brgreen +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_background:\x1d +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:B3A06D +SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan +SETUVAR fish_pager_color_secondary_background:\x1d +SETUVAR fish_pager_color_secondary_completion:\x1d +SETUVAR fish_pager_color_secondary_description:\x1d +SETUVAR fish_pager_color_secondary_prefix:\x1d +SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack +SETUVAR fish_pager_color_selected_completion:\x1d +SETUVAR fish_pager_color_selected_description:\x1d +SETUVAR fish_pager_color_selected_prefix:\x1d diff --git a/dot_config/private_fish/functions/_autopair_backspace.fish b/dot_config/private_fish/functions/_autopair_backspace.fish new file mode 100644 index 0000000..a43fa79 --- /dev/null +++ b/dot_config/private_fish/functions/_autopair_backspace.fish @@ -0,0 +1,9 @@ +function _autopair_backspace + set --local index (commandline --cursor) + set --local buffer (commandline) + + test $index -ge 1 && + contains -- (string sub --start=$index --length=2 -- "$buffer") $autopair_pairs && + commandline --function delete-char + commandline --function backward-delete-char +end diff --git a/dot_config/private_fish/functions/_autopair_insert_left.fish b/dot_config/private_fish/functions/_autopair_insert_left.fish new file mode 100644 index 0000000..f078e86 --- /dev/null +++ b/dot_config/private_fish/functions/_autopair_insert_left.fish @@ -0,0 +1,13 @@ +function _autopair_insert_left --argument-names left right + set --local buffer (commandline) + set --local before (commandline --cut-at-cursor) + + commandline --insert -- $left + + switch "$buffer" + case "$before"{," "\*,$autopair_right\*} + set --local index (commandline --cursor) + commandline --insert -- $right + commandline --cursor $index + end +end diff --git a/dot_config/private_fish/functions/_autopair_insert_right.fish b/dot_config/private_fish/functions/_autopair_insert_right.fish new file mode 100644 index 0000000..a0bd61c --- /dev/null +++ b/dot_config/private_fish/functions/_autopair_insert_right.fish @@ -0,0 +1,11 @@ +function _autopair_insert_right --argument-names key + set --local buffer (commandline) + set --local before (commandline --cut-at-cursor) + + switch "$buffer" + case "$before$key"\* + commandline --cursor (math (commandline --cursor) + 1) + case \* + commandline --insert -- $key + end +end diff --git a/dot_config/private_fish/functions/_autopair_insert_same.fish b/dot_config/private_fish/functions/_autopair_insert_same.fish new file mode 100644 index 0000000..27f971d --- /dev/null +++ b/dot_config/private_fish/functions/_autopair_insert_same.fish @@ -0,0 +1,20 @@ +function _autopair_insert_same --argument-names key + set --local buffer (commandline) + set --local index (commandline --cursor) + set --local next (string sub --start=(math $index + 1) --length=1 -- "$buffer") + + if test (math (count (string match --all --regex -- "$key" "$buffer")) % 2) = 0 + test $key = $next && commandline --cursor (math $index + 1) && return + + commandline --insert -- $key + + if test $index -lt 1 || + contains -- (string sub --start=$index --length=1 -- "$buffer") "" " " $autopair_left && + contains -- $next "" " " $autopair_right + commandline --insert -- $key + commandline --cursor (math $index + 1) + end + else + commandline --insert -- $key + end +end diff --git a/dot_config/private_fish/functions/_autopair_tab.fish b/dot_config/private_fish/functions/_autopair_tab.fish new file mode 100644 index 0000000..f2ab8eb --- /dev/null +++ b/dot_config/private_fish/functions/_autopair_tab.fish @@ -0,0 +1,7 @@ +function _autopair_tab + commandline --paging-mode && down-or-search && return + + string match --quiet --regex -- '\$[^\s]*"$' (commandline --current-token) && + commandline --function end-of-line --function backward-delete-char + commandline --function complete +end diff --git a/dot_config/private_fish/functions/_fzf_configure_bindings_help.fish b/dot_config/private_fish/functions/_fzf_configure_bindings_help.fish new file mode 100644 index 0000000..ecfe68e --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_configure_bindings_help.fish @@ -0,0 +1,43 @@ +function _fzf_configure_bindings_help --description "Prints the help message for fzf_configure_bindings." + echo "\ +USAGE: + fzf_configure_bindings [--COMMAND=[KEY_SEQUENCE]...] + +DESCRIPTION + fzf_configure_bindings installs key bindings for fzf.fish's commands and erases any bindings it + previously installed. It installs bindings for both default and insert modes. fzf.fish executes + it without options on fish startup to install the out-of-the-box key bindings. + + By default, commands are bound to a mnemonic key sequence, shown below. Each command's binding + can be configured using a namesake corresponding option: + COMMAND | DEFAULT KEY SEQUENCE | CORRESPONDING OPTION + Search Directory | Ctrl+Alt+F (F for file) | --directory + Search Git Log | Ctrl+Alt+L (L for log) | --git_log + Search Git Status | Ctrl+Alt+S (S for status) | --git_status + Search History | Ctrl+R (R for reverse) | --history + Search Processes | Ctrl+Alt+P (P for process) | --processes + Search Variables | Ctrl+V (V for variable) | --variables + Override a command's binding by specifying its corresponding option with the desired key + sequence. Disable a command's binding by specifying its corresponding option with no value. + + Because fzf_configure_bindings erases bindings it previously installed, it can be cleanly + executed multiple times. Once the desired fzf_configure_bindings command has been found, add it + to your config.fish in order to persist the customized bindings. + + In terms of validation, fzf_configure_bindings fails if passed unknown options. It expects an + equals sign between an option's name and value. However, it does not validate key sequences. + + Pass -h or --help to print this help message and exit. + +EXAMPLES + Default bindings but bind Search Directory to Ctrl+F and Search Variables to Ctrl+Alt+V + \$ fzf_configure_bindings --directory=\cf --variables=\e\cv + Default bindings but disable Search History + \$ fzf_configure_bindings --history= + An agglomeration of different options + \$ fzf_configure_bindings --git_status=\cg --history=\ch --variables= --processes= + +SEE Also + To learn more about fish key bindings, see bind(1) and fish_key_reader(1). +" +end diff --git a/dot_config/private_fish/functions/_fzf_extract_var_info.fish b/dot_config/private_fish/functions/_fzf_extract_var_info.fish new file mode 100644 index 0000000..dd4e952 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_extract_var_info.fish @@ -0,0 +1,15 @@ +# helper function for _fzf_search_variables +function _fzf_extract_var_info --argument-names variable_name set_show_output --description "Extract and reformat lines pertaining to \$variable_name from \$set_show_output." + # Extract only the lines about the variable, all of which begin with either + # $variable_name: ...or... $variable_name[ + string match --regex "^\\\$$variable_name(?::|\[).*" <$set_show_output | + + # Strip the variable name prefix, including ": " for scope info lines + string replace --regex "^\\\$$variable_name(?:: )?" '' | + + # Distill the lines of values, replacing... + # [1]: |value| + # ...with... + # [1] value + string replace --regex ": \|(.*)\|" ' $1' +end diff --git a/dot_config/private_fish/functions/_fzf_preview_changed_file.fish b/dot_config/private_fish/functions/_fzf_preview_changed_file.fish new file mode 100644 index 0000000..78dd561 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_preview_changed_file.fish @@ -0,0 +1,49 @@ +# helper for _fzf_search_git_status +# arg should be a line from git status --short, e.g. +# MM functions/_fzf_preview_changed_file.fish +# D README.md +# R LICENSE -> "New License" +function _fzf_preview_changed_file --argument-names path_status --description "Show the git diff of the given file." + # remove quotes because they'll be interpreted literally by git diff + # no need to requote when referencing $path because fish does not perform word splitting + # https://fishshell.com/docs/current/fish_for_bash_users.html + set -f path (string unescape (string sub --start 4 $path_status)) + # first letter of short format shows index, second letter shows working tree + # https://git-scm.com/docs/git-status/2.35.0#_short_format + set -f index_status (string sub --length 1 $path_status) + set -f working_tree_status (string sub --start 2 --length 1 $path_status) + + set -f diff_opts --color=always + + if test $index_status = '?' + _fzf_report_diff_type Untracked + _fzf_preview_file $path + else if contains {$index_status}$working_tree_status DD AU UD UA DU AA UU + # Unmerged statuses taken directly from git status help's short format table + # Unmerged statuses are mutually exclusive with other statuses, so if we see + # these, then safe to assume the path is unmerged + _fzf_report_diff_type Unmerged + git diff $diff_opts -- $path + else + if test $index_status != ' ' + _fzf_report_diff_type Staged + + # renames are only detected in the index, never working tree, so only need to test for it here + # https://stackoverflow.com/questions/73954214 + if test $index_status = R + # diff the post-rename path with the original path, otherwise the diff will show the entire file as being added + set -f orig_and_new_path (string split --max 1 -- ' -> ' $path) + git diff --staged $diff_opts -- $orig_and_new_path[1] $orig_and_new_path[2] + # path currently has the form of "original -> current", so we need to correct it before it's used below + set path $orig_and_new_path[2] + else + git diff --staged $diff_opts -- $path + end + end + + if test $working_tree_status != ' ' + _fzf_report_diff_type Unstaged + git diff $diff_opts -- $path + end + end +end diff --git a/dot_config/private_fish/functions/_fzf_preview_file.fish b/dot_config/private_fish/functions/_fzf_preview_file.fish new file mode 100644 index 0000000..c926475 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_preview_file.fish @@ -0,0 +1,43 @@ +# helper function for _fzf_search_directory and _fzf_search_git_status +function _fzf_preview_file --description "Print a preview for the given file based on its file type." + # because there's no way to guarantee that _fzf_search_directory passes the path to _fzf_preview_file + # as one argument, we collect all the arguments into one single variable and treat that as the path + set -f file_path $argv + + if test -L "$file_path" # symlink + # notify user and recurse on the target of the symlink, which can be any of these file types + set -l target_path (realpath "$file_path") + + set_color yellow + echo "'$file_path' is a symlink to '$target_path'." + set_color normal + + _fzf_preview_file "$target_path" + else if test -f "$file_path" # regular file + if set --query fzf_preview_file_cmd + # need to escape quotes to make sure eval receives file_path as a single arg + eval "$fzf_preview_file_cmd '$file_path'" + else + bat --style=numbers --color=always "$file_path" + end + else if test -d "$file_path" # directory + if set --query fzf_preview_dir_cmd + # see above + eval "$fzf_preview_dir_cmd '$file_path'" + else + # -A list hidden files as well, except for . and .. + # -F helps classify files by appending symbols after the file name + command ls -A -F "$file_path" + end + else if test -c "$file_path" + _fzf_report_file_type "$file_path" "character device file" + else if test -b "$file_path" + _fzf_report_file_type "$file_path" "block device file" + else if test -S "$file_path" + _fzf_report_file_type "$file_path" socket + else if test -p "$file_path" + _fzf_report_file_type "$file_path" "named pipe" + else + echo "$file_path doesn't exist." >&2 + end +end diff --git a/dot_config/private_fish/functions/_fzf_report_diff_type.fish b/dot_config/private_fish/functions/_fzf_report_diff_type.fish new file mode 100644 index 0000000..cc26fb3 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_report_diff_type.fish @@ -0,0 +1,18 @@ +# helper for _fzf_preview_changed_file +# prints out something like +# ╭────────╮ +# │ Staged │ +# ╰────────╯ +function _fzf_report_diff_type --argument-names diff_type --description "Print a distinct colored header meant to preface a git patch." + # number of "-" to draw is the length of the string to box + 2 for padding + set -f repeat_count (math 2 + (string length $diff_type)) + set -f line (string repeat --count $repeat_count ─) + set -f top_border ╭$line╮ + set -f btm_border ╰$line╯ + + set_color yellow + echo $top_border + echo "│ $diff_type │" + echo $btm_border + set_color normal +end diff --git a/dot_config/private_fish/functions/_fzf_report_file_type.fish b/dot_config/private_fish/functions/_fzf_report_file_type.fish new file mode 100644 index 0000000..49e02e1 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_report_file_type.fish @@ -0,0 +1,6 @@ +# helper function for _fzf_preview_file +function _fzf_report_file_type --argument-names file_path file_type --description "Explain the file type for a file." + set_color red + echo "Cannot preview '$file_path': it is a $file_type." + set_color normal +end diff --git a/dot_config/private_fish/functions/_fzf_search_directory.fish b/dot_config/private_fish/functions/_fzf_search_directory.fish new file mode 100644 index 0000000..4541eec --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_directory.fish @@ -0,0 +1,33 @@ +function _fzf_search_directory --description "Search the current directory. Replace the current token with the selected file paths." + # Directly use fd binary to avoid output buffering delay caused by a fd alias, if any. + # Debian-based distros install fd as fdfind and the fd package is something else, so + # check for fdfind first. Fall back to "fd" for a clear error message. + set -f fd_cmd (command -v fdfind || command -v fd || echo "fd") + set -f --append fd_cmd --color=always $fzf_fd_opts + + set -f fzf_arguments --multi --ansi $fzf_directory_opts + set -f token (commandline --current-token) + # expand any variables or leading tilde (~) in the token + set -f expanded_token (eval echo -- $token) + # unescape token because it's already quoted so backslashes will mess up the path + set -f unescaped_exp_token (string unescape -- $expanded_token) + + # If the current token is a directory and has a trailing slash, + # then use it as fd's base directory. + if string match --quiet -- "*/" $unescaped_exp_token && test -d "$unescaped_exp_token" + set --append fd_cmd --base-directory=$unescaped_exp_token + # use the directory name as fzf's prompt to indicate the search is limited to that directory + set --prepend fzf_arguments --prompt="Directory $unescaped_exp_token> " --preview="_fzf_preview_file $expanded_token{}" + set -f file_paths_selected $unescaped_exp_token($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments) + else + set --prepend fzf_arguments --prompt="Directory> " --query="$unescaped_exp_token" --preview='_fzf_preview_file {}' + set -f file_paths_selected ($fd_cmd 2>/dev/null | _fzf_wrapper $fzf_arguments) + end + + + if test $status -eq 0 + commandline --current-token --replace -- (string escape -- $file_paths_selected | string join ' ') + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_search_git_log.fish b/dot_config/private_fish/functions/_fzf_search_git_log.fish new file mode 100644 index 0000000..aa54724 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_git_log.fish @@ -0,0 +1,36 @@ +function _fzf_search_git_log --description "Search the output of git log and preview commits. Replace the current token with the selected commit hash." + if not git rev-parse --git-dir >/dev/null 2>&1 + echo '_fzf_search_git_log: Not in a git repository.' >&2 + else + if not set --query fzf_git_log_format + # %h gives you the abbreviated commit hash, which is useful for saving screen space, but we will have to expand it later below + set -f fzf_git_log_format '%C(bold blue)%h%C(reset) - %C(cyan)%ad%C(reset) %C(yellow)%d%C(reset) %C(normal)%s%C(reset) %C(dim normal)[%an]%C(reset)' + end + + set -f preview_cmd 'git show --color=always --stat --patch {1}' + if set --query fzf_diff_highlighter + set preview_cmd "$preview_cmd | $fzf_diff_highlighter" + end + + set -f selected_log_lines ( + git log --no-show-signature --color=always --format=format:$fzf_git_log_format --date=short | \ + _fzf_wrapper --ansi \ + --multi \ + --scheme=history \ + --prompt="Git Log> " \ + --preview=$preview_cmd \ + --query=(commandline --current-token) \ + $fzf_git_log_opts + ) + if test $status -eq 0 + for line in $selected_log_lines + set -f abbreviated_commit_hash (string split --field 1 " " $line) + set -f full_commit_hash (git rev-parse $abbreviated_commit_hash) + set -f --append commit_hashes $full_commit_hash + end + commandline --current-token --replace (string join ' ' $commit_hashes) + end + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_search_git_status.fish b/dot_config/private_fish/functions/_fzf_search_git_status.fish new file mode 100644 index 0000000..358f88c --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_git_status.fish @@ -0,0 +1,41 @@ +function _fzf_search_git_status --description "Search the output of git status. Replace the current token with the selected file paths." + if not git rev-parse --git-dir >/dev/null 2>&1 + echo '_fzf_search_git_status: Not in a git repository.' >&2 + else + set -f preview_cmd '_fzf_preview_changed_file {}' + if set --query fzf_diff_highlighter + set preview_cmd "$preview_cmd | $fzf_diff_highlighter" + end + + set -f selected_paths ( + # Pass configuration color.status=always to force status to use colors even though output is sent to a pipe + git -c color.status=always status --short | + _fzf_wrapper --ansi \ + --multi \ + --prompt="Git Status> " \ + --query=(commandline --current-token) \ + --preview=$preview_cmd \ + --nth="2.." \ + $fzf_git_status_opts + ) + if test $status -eq 0 + # git status --short automatically escapes the paths of most files for us so not going to bother trying to handle + # the few edges cases of weird file names that should be extremely rare (e.g. "this;needs;escaping") + set -f cleaned_paths + + for path in $selected_paths + if test (string sub --length 1 $path) = R + # path has been renamed and looks like "R LICENSE -> LICENSE.md" + # extract the path to use from after the arrow + set --append cleaned_paths (string split -- "-> " $path)[-1] + else + set --append cleaned_paths (string sub --start=4 $path) + end + end + + commandline --current-token --replace -- (string join ' ' $cleaned_paths) + end + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_search_history.fish b/dot_config/private_fish/functions/_fzf_search_history.fish new file mode 100644 index 0000000..cafbce9 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_history.fish @@ -0,0 +1,39 @@ +function _fzf_search_history --description "Search command history. Replace the command line with the selected command." + # history merge incorporates history changes from other fish sessions + # it errors out if called in private mode + if test -z "$fish_private_mode" + builtin history merge + end + + if not set --query fzf_history_time_format + # Reference https://devhints.io/strftime to understand strftime format symbols + set -f fzf_history_time_format "%m-%d %H:%M:%S" + end + + # Delinate time from command in history entries using the vertical box drawing char (U+2502). + # Then, to get raw command from history entries, delete everything up to it. The ? on regex is + # necessary to make regex non-greedy so it won't match into commands containing the char. + set -f time_prefix_regex '^.*? │ ' + # Delinate commands throughout pipeline using null rather than newlines because commands can be multi-line + set -f commands_selected ( + builtin history --null --show-time="$fzf_history_time_format │ " | + _fzf_wrapper --read0 \ + --print0 \ + --multi \ + --scheme=history \ + --prompt="History> " \ + --query=(commandline) \ + --preview="string replace --regex '$time_prefix_regex' '' -- {} | fish_indent --ansi" \ + --preview-window="bottom:3:wrap" \ + $fzf_history_opts | + string split0 | + # remove timestamps from commands selected + string replace --regex $time_prefix_regex '' + ) + + if test $status -eq 0 + commandline --replace -- $commands_selected + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_search_processes.fish b/dot_config/private_fish/functions/_fzf_search_processes.fish new file mode 100644 index 0000000..133a880 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_processes.fish @@ -0,0 +1,32 @@ +function _fzf_search_processes --description "Search all running processes. Replace the current token with the pid of the selected process." + # Directly use ps command because it is often aliased to a different command entirely + # or with options that dirty the search results and preview output + set -f ps_cmd (command -v ps || echo "ps") + # use all caps to be consistent with ps default format + # snake_case because ps doesn't seem to allow spaces in the field names + set -f ps_preview_fmt (string join ',' 'pid' 'ppid=PARENT' 'user' '%cpu' 'rss=RSS_IN_KB' 'start=START_TIME' 'command') + set -f processes_selected ( + $ps_cmd -A -opid,command | \ + _fzf_wrapper --multi \ + --prompt="Processes> " \ + --query (commandline --current-token) \ + --ansi \ + # first line outputted by ps is a header, so we need to mark it as so + --header-lines=1 \ + # ps uses exit code 1 if the process was not found, in which case show an message explaining so + --preview="$ps_cmd -o '$ps_preview_fmt' -p {1} || echo 'Cannot preview {1} because it exited.'" \ + --preview-window="bottom:4:wrap" \ + $fzf_processes_opts + ) + + if test $status -eq 0 + for process in $processes_selected + set -f --append pids_selected (string split --no-empty --field=1 -- " " $process) + end + + # string join to replace the newlines outputted by string split with spaces + commandline --current-token --replace -- (string join ' ' $pids_selected) + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_search_variables.fish b/dot_config/private_fish/functions/_fzf_search_variables.fish new file mode 100644 index 0000000..52a7c70 --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_search_variables.fish @@ -0,0 +1,47 @@ +# This function expects the following two arguments: +# argument 1 = output of (set --show | psub), i.e. a file with the scope info and values of all variables +# argument 2 = output of (set --names | psub), i.e. a file with all variable names +function _fzf_search_variables --argument-names set_show_output set_names_output --description "Search and preview shell variables. Replace the current token with the selected variable." + if test -z "$set_names_output" + printf '%s\n' '_fzf_search_variables requires 2 arguments.' >&2 + + commandline --function repaint + return 22 # 22 means invalid argument in POSIX + end + + # Exclude the history variable from being piped into fzf because + # 1. it's not included in $set_names_output + # 2. it tends to be a very large value => increases computation time + # 3._fzf_search_history is a much better way to examine history anyway + set -f all_variable_names (string match --invert history <$set_names_output) + + set -f current_token (commandline --current-token) + # Use the current token to pre-populate fzf's query. If the current token begins + # with a $, remove it from the query so that it will better match the variable names + set -f cleaned_curr_token (string replace -- '$' '' $current_token) + + set -f variable_names_selected ( + printf '%s\n' $all_variable_names | + _fzf_wrapper --preview "_fzf_extract_var_info {} $set_show_output" \ + --prompt="Variables> " \ + --preview-window="wrap" \ + --multi \ + --query=$cleaned_curr_token \ + $fzf_variables_opts + ) + + if test $status -eq 0 + # If the current token begins with a $, do not overwrite the $ when + # replacing the current token with the selected variable. + # Uses brace expansion to prepend $ to each variable name. + commandline --current-token --replace ( + if string match --quiet -- '$*' $current_token + string join " " \${$variable_names_selected} + else + string join " " $variable_names_selected + end + ) + end + + commandline --function repaint +end diff --git a/dot_config/private_fish/functions/_fzf_wrapper.fish b/dot_config/private_fish/functions/_fzf_wrapper.fish new file mode 100644 index 0000000..45556ce --- /dev/null +++ b/dot_config/private_fish/functions/_fzf_wrapper.fish @@ -0,0 +1,20 @@ +function _fzf_wrapper --description "Prepares some environment variables before executing fzf." + # Make sure fzf uses fish to execute preview commands, some of which + # are autoloaded fish functions so don't exist in other shells. + # Use --function so that it doesn't clobber SHELL outside this function. + set -f --export SHELL (command --search fish) + + # If FZF_DEFAULT_OPTS is not set, then set some sane defaults. + # See https://github.com/junegunn/fzf#environment-variables + if not set --query FZF_DEFAULT_OPTS + # cycle allows jumping between the first and last results, making scrolling faster + # layout=reverse lists results top to bottom, mimicking the familiar layouts of git log, history, and env + # border shows where the fzf window begins and ends + # height=90% leaves space to see the current command and some scrollback, maintaining context of work + # preview-window=wrap wraps long lines in the preview window, making reading easier + # marker=* makes the multi-select marker more distinguishable from the pointer (since both default to >) + set --export FZF_DEFAULT_OPTS '--cycle --layout=reverse --border --height=90% --preview-window=wrap --marker="*"' + end + + fzf $argv +end diff --git a/dot_config/private_fish/functions/fzf_configure_bindings.fish b/dot_config/private_fish/functions/fzf_configure_bindings.fish new file mode 100644 index 0000000..4b4e7a2 --- /dev/null +++ b/dot_config/private_fish/functions/fzf_configure_bindings.fish @@ -0,0 +1,46 @@ +# Always installs bindings for insert and default mode for simplicity and b/c it has almost no side-effect +# https://gitter.im/fish-shell/fish-shell?at=60a55915ee77a74d685fa6b1 +function fzf_configure_bindings --description "Installs the default key bindings for fzf.fish with user overrides passed as options." + # no need to install bindings if not in interactive mode or running tests + status is-interactive || test "$CI" = true; or return + + set -f options_spec h/help 'directory=?' 'git_log=?' 'git_status=?' 'history=?' 'processes=?' 'variables=?' + argparse --max-args=0 --ignore-unknown $options_spec -- $argv 2>/dev/null + if test $status -ne 0 + echo "Invalid option or a positional argument was provided." >&2 + _fzf_configure_bindings_help + return 22 + else if set --query _flag_help + _fzf_configure_bindings_help + return + else + # Initialize with default key sequences and then override or disable them based on flags + # index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables + set -f key_sequences \e\cf \e\cl \e\cs \cr \e\cp \cv # \c = control, \e = escape + set --query _flag_directory && set key_sequences[1] "$_flag_directory" + set --query _flag_git_log && set key_sequences[2] "$_flag_git_log" + set --query _flag_git_status && set key_sequences[3] "$_flag_git_status" + set --query _flag_history && set key_sequences[4] "$_flag_history" + set --query _flag_processes && set key_sequences[5] "$_flag_processes" + set --query _flag_variables && set key_sequences[6] "$_flag_variables" + + # If fzf bindings already exists, uninstall it first for a clean slate + if functions --query _fzf_uninstall_bindings + _fzf_uninstall_bindings + end + + for mode in default insert + test -n $key_sequences[1] && bind --mode $mode $key_sequences[1] _fzf_search_directory + test -n $key_sequences[2] && bind --mode $mode $key_sequences[2] _fzf_search_git_log + test -n $key_sequences[3] && bind --mode $mode $key_sequences[3] _fzf_search_git_status + test -n $key_sequences[4] && bind --mode $mode $key_sequences[4] _fzf_search_history + test -n $key_sequences[5] && bind --mode $mode $key_sequences[5] _fzf_search_processes + test -n $key_sequences[6] && bind --mode $mode $key_sequences[6] "$_fzf_search_vars_command" + end + + function _fzf_uninstall_bindings --inherit-variable key_sequences + bind --erase -- $key_sequences + bind --erase --mode insert -- $key_sequences + end + end +end