complete-c meson -n"__fish_meson_using_command wrap; and not __fish_seen_subcommand_from $wrap_cmds"-xa '
list\t"Show all available projects"
search\t"Search the db by name"
install\t"Install the specified project"
update\t"Update wrap files from WrapDB"
info\t"Show available versions of a project"
status\t"Show installed and available versions of your projects"
promote\t"Bring a subsubproject up to the master project"
update-db\t"Update list of projects available in WrapDB"
'
complete-c meson -n"__fish_meson_using_command wrap; and __fish_seen_subcommand_from $wrap_cmds"-l allow-insecure -d'Allow insecure server connections'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from update'-l force -d'Update wraps that does not seems to come from WrapDB'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from update'-l sourcedir -xa'(__fish_complete_directories)'-d'Source directory'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from update'-l types -x-d'Comma-separated list of subproject types'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from update'-l num-processes -x-d'How many parallel processes to use'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from update'-l allow-insecure -x-d'Allow insecure server connections'
complete-c meson -n'__fish_meson_using_command wrap; and __fish_seen_subcommand_from promote'-xa'(__fish_complete_directories)'-d'Project path'
### test
complete-c meson -n __fish_meson_needs_command -kxa test -d'Run tests for the project'
# TODO: meson allows to pass just "testname" to run all tests with that name,
# or "subprojname:testname" to run "testname" from "subprojname",
# or "subprojname:" to run all tests defined by "subprojname",
# but completion is only handled for the "testname".
complete-c meson -n"__fish_meson_using_command subprojects; and not __fish_seen_subcommand_from $subprojects_cmds"-xa '
update\t"Update all subprojects"
checkout\t"Checkout a branch (git only)"
download\t"Ensure subprojects are fetched"
foreach\t"Execute a command in each subproject"
purge\t"Remove all wrap-based subproject artifacts"
packagefiles\t"Manage the packagefiles overlay"
'
complete-c meson -n"__fish_meson_using_command subprojects; and __fish_seen_subcommand_from $subprojects_cmds"-l sourcedir -xa'(__fish_complete_directories)'-d'Path to source directory'
complete-c meson -n"__fish_meson_using_command subprojects; and __fish_seen_subcommand_from $subprojects_cmds"-l types -xa'file git hg svn'-d'Comma-separated list of subproject types'
complete-c meson -n"__fish_meson_using_command subprojects; and __fish_seen_subcommand_from $subprojects_cmds"-l num-processes -x-d'How many parallel processes to use'
complete-c meson -n"__fish_meson_using_command subprojects; and __fish_seen_subcommand_from $subprojects_cmds"-l allow-insecure -x-d'Allow insecure server connections'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from update'-l reset -d'Checkout wrap\'s revision and hard reset to that commit'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from checkout'-s b -d'Create a new branch'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from purge'-l include-cache -d'Remove the package cache as well'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from purge'-l confirm -d'Confirm the removal of subproject artifacts'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from packagefiles'-l apply -d'Apply packagefiles to the subproject'
complete-c meson -n'__fish_meson_using_command subprojects; and __fish_seen_subcommand_from packagefiles'-l save -d'Save packagefiles from the subproject'
### setup
complete-c meson -n __fish_meson_needs_command -kxa setup -d'Configure a build directory'
# All of the setup options are also exposed to the global scope
# Use -k here for one of the cases to make sure directories come after any other top-level completions
complete-c meson -n __fish_meson_needs_command -kxa rewrite -d'Modify the project'
complete-c meson -n"__fish_meson_using_command rewrite; and not __fish_seen_subcommand_from $rewrite_cmds"-s s -l sourcedir -xa'(__fish_complete_directories)'-d'Path to source directory'
complete-c meson -n"__fish_meson_using_command rewrite; and not __fish_seen_subcommand_from $rewrite_cmds"-s V -l verbose -d'Enable verbose output'
complete-c meson -n"__fish_meson_using_command rewrite; and not __fish_seen_subcommand_from $rewrite_cmds"-s S -l skip-errors -d'Skip errors instead of aborting'
complete-c meson -n"__fish_meson_using_command rewrite; and not __fish_seen_subcommand_from $rewrite_cmds"-xa '
target\t"Modify a target"
kwargs\t"Modify keyword arguments"
default-options\t"Modify the project default options"
command\t"Execute a JSON array of commands"
'
# TODO: "meson rewrite target" completions are incomplete and hard to implement properly
complete-c meson -n'__fish_meson_using_command rewrite; and __fish_seen_subcommand_from target'-s s -l subdir -xa'(__fish_complete_directories)'-d'Subdirectory of the new target'
complete-c meson -n'__fish_meson_using_command rewrite; and __fish_seen_subcommand_from target'-ltype-d'Type of the target to add'\
-xa'both_libraries executable jar library shared_library shared_module static_library'
complete-c meson -n'__fish_meson_using_command rewrite; and __fish_seen_subcommand_from kwargs; and __fish_is_nth_token 3'-xa'set delete add remove remove_regex info'-d'Action to execute'
complete-c meson -n'__fish_meson_using_command rewrite; and __fish_seen_subcommand_from kwargs; and __fish_is_nth_token 4'-xa'dependency target project'-d'Function type to modify'
complete-c meson -n'__fish_meson_using_command rewrite; and __fish_seen_subcommand_from default-options; and __fish_is_nth_token 3'-xa'set delete'-d'Action to execute'
### introspect
complete-c meson -n __fish_meson_needs_command -kxa introspect -d'Display info about a project'
complete-c meson -n'__fish_meson_using_command introspect'-l scan-dependencies -d'Scan for dependencies used in the meson.build file'
complete-c meson -n'__fish_meson_using_command introspect'-l installed -d'List all installed files and directories'
complete-c meson -n'__fish_meson_using_command introspect'-l install-plan -d'List all installed files and directories with their details'
complete-c meson -n'__fish_meson_using_command introspect'-l projectinfo -d'Information about projects'
complete-c meson -n'__fish_meson_using_command introspect'-l targets -d'List top level targets'
complete-c meson -n'__fish_meson_using_command introspect'-l tests -d'List all unit tests'
complete-c meson -n'__fish_meson_using_command introspect'-l backend -xa'ninja vs vs2010 vs2012 vs2013 vs2015 vs2017 vs2019 vs2022 xcode'-d'The backend to use for the --buildoptions introspection'
complete-c meson -n'__fish_meson_using_command introspect'-s a -l all -d'Print all available information'
complete-c meson -n'__fish_meson_using_command install'-s C -xa'(__fish_complete_directories)'-d'Directory to cd into before running'
complete-c meson -n'__fish_meson_using_command install'-l no-rebuild -d'Do not rebuild before installing'
complete-c meson -n'__fish_meson_using_command install'-l only-changed -d'Only overwrite files that are older than the copied file'
complete-c meson -n'__fish_meson_using_command install'-l quiet -d'Do not print every file that was installed'
complete-c meson -n'__fish_meson_using_command install'-l destdir -r-d'Sets or overrides DESTDIR environment'
complete-c meson -n'__fish_meson_using_command install'-s n -l dry-run -d'Do not actually install, but print logs'
complete-c meson -n'__fish_meson_using_command install'-l skip-subprojects -xa'(__fish_meson_subprojects)'-d'Do not install files from given subprojects'
complete-c meson -n'__fish_meson_using_command install'-l tags -x-d'Install only targets having one of the given tags'
complete-c meson -n'__fish_meson_using_command install'-l strip -d'Strip targets even if strip option was not set during configure'
### init
complete-c meson -n __fish_meson_needs_command -kxa init -d'Create a project from template'
complete-c meson -n'__fish_meson_using_command init'-s C -xa'(__fish_complete_directories)'-d'Directory to cd into before running'
complete-c meson -n'__fish_meson_using_command init'-s n -l name -x-d'Project name'
complete-c meson -n'__fish_meson_using_command init'-s e -l executable -x-d'Executable name'
complete-c meson -n'__fish_meson_using_command init'-s d -l deps -x-d'Dependencies, comma-separated'
complete-c meson -n'__fish_meson_using_command init'-s l -l language -xa'c cpp cs cuda d fortran java objc objcpp rust vala'-d'Project language'
complete-c meson -n'__fish_meson_using_command init'-s b -l build -d'Build after generation'
complete-c meson -n'__fish_meson_using_command init'-l builddir -r-d'Directory for build'
complete-c meson -n'__fish_meson_using_command init'-s f -l force -d'Force overwrite of existing files and directories'