diff --git a/completions/bash b/completions/bash index d7c4e3f5..e69de29b 100644 --- a/completions/bash +++ b/completions/bash @@ -1,174 +0,0 @@ -_watchexec() { - local i cur prev opts cmd - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]} - do - case "${cmd},${i}" in - ",$1") - cmd="watchexec" - ;; - *) - ;; - esac - done - - case "${cmd}" in - watchexec) - opts="-w -c -o -W -r -s -k -d -p -n -E -1 -N -q -e -f -i -v -h -V --watch --clear --on-busy-update --watch-when-idle --restart --signal --kill --stop-signal --stop-timeout --map-signal --debounce --stdin-quit --no-vcs-ignore --no-project-ignore --no-global-ignore --no-default-ignore --no-discover-ignore --ignore-nothing --postpone --delay-run --poll --shell --no-shell-long --no-environment --emit-events-to --only-emit-events --env --no-process-group --notify --color --timings --quiet --bell --project-origin --workdir --exts --filter --filter-file --ignore --ignore-file --fs-events --no-meta --print-events --verbose --log-file --manual --completions --help --version [COMMAND]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --watch) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -w) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --clear) - COMPREPLY=($(compgen -W "clear reset" -- "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -W "clear reset" -- "${cur}")) - return 0 - ;; - --on-busy-update) - COMPREPLY=($(compgen -W "queue do-nothing restart signal" -- "${cur}")) - return 0 - ;; - -o) - COMPREPLY=($(compgen -W "queue do-nothing restart signal" -- "${cur}")) - return 0 - ;; - --signal) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -s) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --stop-signal) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --stop-timeout) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --map-signal) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --debounce) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -d) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --delay-run) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --poll) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --shell) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --emit-events-to) - COMPREPLY=($(compgen -W "environment stdio file json-stdio json-file none" -- "${cur}")) - return 0 - ;; - --env) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -E) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --color) - COMPREPLY=($(compgen -W "auto always never" -- "${cur}")) - return 0 - ;; - --project-origin) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --workdir) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --exts) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -e) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --filter) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --filter-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -i) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --fs-events) - COMPREPLY=($(compgen -W "access create remove rename modify metadata" -- "${cur}")) - return 0 - ;; - --log-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --completions) - COMPREPLY=($(compgen -W "bash elvish fish nu powershell zsh" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then - complete -F _watchexec -o nosort -o bashdefault -o default watchexec -else - complete -F _watchexec -o bashdefault -o default watchexec -fi diff --git a/completions/elvish b/completions/elvish index 0ff03265..e69de29b 100644 --- a/completions/elvish +++ b/completions/elvish @@ -1,93 +0,0 @@ - -use builtin; -use str; - -set edit:completion:arg-completer[watchexec] = {|@words| - fn spaces {|n| - builtin:repeat $n ' ' | str:join '' - } - fn cand {|text desc| - edit:complex-candidate $text &display=$text' '(spaces (- 14 (wcswidth $text)))$desc - } - var command = 'watchexec' - for word $words[1..-1] { - if (str:has-prefix $word '-') { - break - } - set command = $command';'$word - } - var completions = [ - &'watchexec'= { - cand -w 'Watch a specific file or directory' - cand --watch 'Watch a specific file or directory' - cand -c 'Clear screen before running command' - cand --clear 'Clear screen before running command' - cand -o 'What to do when receiving events while the command is running' - cand --on-busy-update 'What to do when receiving events while the command is running' - cand -s 'Send a signal to the process when it''s still running' - cand --signal 'Send a signal to the process when it''s still running' - cand --stop-signal 'Signal to send to stop the command' - cand --stop-timeout 'Time to wait for the command to exit gracefully' - cand --map-signal 'Translate signals from the OS to signals to send to the command' - cand -d 'Time to wait for new events before taking action' - cand --debounce 'Time to wait for new events before taking action' - cand --delay-run 'Sleep before running the command' - cand --poll 'Poll for filesystem changes' - cand --shell 'Use a different shell' - cand --emit-events-to 'Configure event emission' - cand -E 'Add env vars to the command' - cand --env 'Add env vars to the command' - cand --color 'When to use terminal colours' - cand --project-origin 'Set the project origin' - cand --workdir 'Set the working directory' - cand -e 'Filename extensions to filter to' - cand --exts 'Filename extensions to filter to' - cand -f 'Filename patterns to filter to' - cand --filter 'Filename patterns to filter to' - cand --filter-file 'Files to load filters from' - cand -i 'Filename patterns to filter out' - cand --ignore 'Filename patterns to filter out' - cand --ignore-file 'Files to load ignores from' - cand --fs-events 'Filesystem events to filter to' - cand --log-file 'Write diagnostic logs to a file' - cand --completions 'Generate a shell completions script' - cand -W 'Deprecated alias for ''--on-busy-update=do-nothing''' - cand --watch-when-idle 'Deprecated alias for ''--on-busy-update=do-nothing''' - cand -r 'Restart the process if it''s still running' - cand --restart 'Restart the process if it''s still running' - cand -k 'Hidden legacy shorthand for ''--signal=kill''' - cand --kill 'Hidden legacy shorthand for ''--signal=kill''' - cand --stdin-quit 'Exit when stdin closes' - cand --no-vcs-ignore 'Don''t load gitignores' - cand --no-project-ignore 'Don''t load project-local ignores' - cand --no-global-ignore 'Don''t load global ignores' - cand --no-default-ignore 'Don''t use internal default ignores' - cand --no-discover-ignore 'Don''t discover ignore files at all' - cand --ignore-nothing 'Don''t ignore anything at all' - cand -p 'Wait until first change before running command' - cand --postpone 'Wait until first change before running command' - cand -n 'Don''t use a shell' - cand --no-shell-long 'Don''t use a shell' - cand --no-environment 'Shorthand for ''--emit-events=none''' - cand --only-emit-events 'Only emit events to stdout, run no commands' - cand --no-process-group 'Don''t use a process group' - cand -1 'Testing only: exit Watchexec after the first run' - cand -N 'Alert when commands start and end' - cand --notify 'Alert when commands start and end' - cand --timings 'Print how long the command took to run' - cand -q 'Don''t print starting and stopping messages' - cand --quiet 'Don''t print starting and stopping messages' - cand --bell 'Ring the terminal bell on command completion' - cand --no-meta 'Don''t emit fs events for metadata changes' - cand --print-events 'Print events that trigger actions' - cand -v 'Set diagnostic log level' - cand --verbose 'Set diagnostic log level' - cand --manual 'Show the manual page' - cand -h 'Print help (see more with ''--help'')' - cand --help 'Print help (see more with ''--help'')' - cand -V 'Print version' - cand --version 'Print version' - } - ] - $completions[$command] -} diff --git a/completions/fish b/completions/fish index 3f459a90..e69de29b 100644 --- a/completions/fish +++ b/completions/fish @@ -1,51 +0,0 @@ -complete -c watchexec -s w -l watch -d 'Watch a specific file or directory' -r -F -complete -c watchexec -s c -l clear -d 'Clear screen before running command' -r -f -a "{clear '',reset ''}" -complete -c watchexec -s o -l on-busy-update -d 'What to do when receiving events while the command is running' -r -f -a "{queue '',do-nothing '',restart '',signal ''}" -complete -c watchexec -s s -l signal -d 'Send a signal to the process when it\'s still running' -r -complete -c watchexec -l stop-signal -d 'Signal to send to stop the command' -r -complete -c watchexec -l stop-timeout -d 'Time to wait for the command to exit gracefully' -r -complete -c watchexec -l map-signal -d 'Translate signals from the OS to signals to send to the command' -r -complete -c watchexec -s d -l debounce -d 'Time to wait for new events before taking action' -r -complete -c watchexec -l delay-run -d 'Sleep before running the command' -r -complete -c watchexec -l poll -d 'Poll for filesystem changes' -r -complete -c watchexec -l shell -d 'Use a different shell' -r -complete -c watchexec -l emit-events-to -d 'Configure event emission' -r -f -a "{environment '',stdio '',file '',json-stdio '',json-file '',none ''}" -complete -c watchexec -s E -l env -d 'Add env vars to the command' -r -complete -c watchexec -l color -d 'When to use terminal colours' -r -f -a "{auto '',always '',never ''}" -complete -c watchexec -l project-origin -d 'Set the project origin' -r -f -a "(__fish_complete_directories)" -complete -c watchexec -l workdir -d 'Set the working directory' -r -f -a "(__fish_complete_directories)" -complete -c watchexec -s e -l exts -d 'Filename extensions to filter to' -r -complete -c watchexec -s f -l filter -d 'Filename patterns to filter to' -r -complete -c watchexec -l filter-file -d 'Files to load filters from' -r -F -complete -c watchexec -s i -l ignore -d 'Filename patterns to filter out' -r -complete -c watchexec -l ignore-file -d 'Files to load ignores from' -r -F -complete -c watchexec -l fs-events -d 'Filesystem events to filter to' -r -f -a "{access '',create '',remove '',rename '',modify '',metadata ''}" -complete -c watchexec -l log-file -d 'Write diagnostic logs to a file' -r -F -complete -c watchexec -l completions -d 'Generate a shell completions script' -r -f -a "{bash '',elvish '',fish '',nu '',powershell '',zsh ''}" -complete -c watchexec -s W -l watch-when-idle -d 'Deprecated alias for \'--on-busy-update=do-nothing\'' -complete -c watchexec -s r -l restart -d 'Restart the process if it\'s still running' -complete -c watchexec -s k -l kill -d 'Hidden legacy shorthand for \'--signal=kill\'' -complete -c watchexec -l stdin-quit -d 'Exit when stdin closes' -complete -c watchexec -l no-vcs-ignore -d 'Don\'t load gitignores' -complete -c watchexec -l no-project-ignore -d 'Don\'t load project-local ignores' -complete -c watchexec -l no-global-ignore -d 'Don\'t load global ignores' -complete -c watchexec -l no-default-ignore -d 'Don\'t use internal default ignores' -complete -c watchexec -l no-discover-ignore -d 'Don\'t discover ignore files at all' -complete -c watchexec -l ignore-nothing -d 'Don\'t ignore anything at all' -complete -c watchexec -s p -l postpone -d 'Wait until first change before running command' -complete -c watchexec -s n -d 'Don\'t use a shell' -complete -c watchexec -l no-shell-long -d 'Don\'t use a shell' -complete -c watchexec -l no-environment -d 'Shorthand for \'--emit-events=none\'' -complete -c watchexec -l only-emit-events -d 'Only emit events to stdout, run no commands' -complete -c watchexec -l no-process-group -d 'Don\'t use a process group' -complete -c watchexec -s 1 -d 'Testing only: exit Watchexec after the first run' -complete -c watchexec -s N -l notify -d 'Alert when commands start and end' -complete -c watchexec -l timings -d 'Print how long the command took to run' -complete -c watchexec -s q -l quiet -d 'Don\'t print starting and stopping messages' -complete -c watchexec -l bell -d 'Ring the terminal bell on command completion' -complete -c watchexec -l no-meta -d 'Don\'t emit fs events for metadata changes' -complete -c watchexec -l print-events -d 'Print events that trigger actions' -complete -c watchexec -s v -l verbose -d 'Set diagnostic log level' -complete -c watchexec -l manual -d 'Show the manual page' -complete -c watchexec -s h -l help -d 'Print help (see more with \'--help\')' -complete -c watchexec -s V -l version -d 'Print version' diff --git a/completions/nu b/completions/nu index 0334348e..e69de29b 100644 --- a/completions/nu +++ b/completions/nu @@ -1,85 +0,0 @@ -module completions { - - def "nu-complete watchexec screen_clear" [] { - [ "clear" "reset" ] - } - - def "nu-complete watchexec on_busy_update" [] { - [ "queue" "do-nothing" "restart" "signal" ] - } - - def "nu-complete watchexec emit_events_to" [] { - [ "environment" "stdio" "file" "json-stdio" "json-file" "none" ] - } - - def "nu-complete watchexec color" [] { - [ "auto" "always" "never" ] - } - - def "nu-complete watchexec filter_fs_events" [] { - [ "access" "create" "remove" "rename" "modify" "metadata" ] - } - - def "nu-complete watchexec completions" [] { - [ "bash" "elvish" "fish" "nu" "powershell" "zsh" ] - } - - # Execute commands when watched files change - export extern watchexec [ - ...command: string # Command to run on changes - --watch(-w): string # Watch a specific file or directory - --clear(-c): string@"nu-complete watchexec screen_clear" # Clear screen before running command - --on-busy-update(-o): string@"nu-complete watchexec on_busy_update" # What to do when receiving events while the command is running - --watch-when-idle(-W) # Deprecated alias for '--on-busy-update=do-nothing' - --restart(-r) # Restart the process if it's still running - --signal(-s): string # Send a signal to the process when it's still running - --kill(-k) # Hidden legacy shorthand for '--signal=kill' - --stop-signal: string # Signal to send to stop the command - --stop-timeout: string # Time to wait for the command to exit gracefully - --map-signal: string # Translate signals from the OS to signals to send to the command - --debounce(-d): string # Time to wait for new events before taking action - --stdin-quit # Exit when stdin closes - --no-vcs-ignore # Don't load gitignores - --no-project-ignore # Don't load project-local ignores - --no-global-ignore # Don't load global ignores - --no-default-ignore # Don't use internal default ignores - --no-discover-ignore # Don't discover ignore files at all - --ignore-nothing # Don't ignore anything at all - --postpone(-p) # Wait until first change before running command - --delay-run: string # Sleep before running the command - --poll: string # Poll for filesystem changes - --shell: string # Use a different shell - -n # Don't use a shell - --no-shell-long # Don't use a shell - --no-environment # Shorthand for '--emit-events=none' - --emit-events-to: string@"nu-complete watchexec emit_events_to" # Configure event emission - --only-emit-events # Only emit events to stdout, run no commands - --env(-E): string # Add env vars to the command - --no-process-group # Don't use a process group - -1 # Testing only: exit Watchexec after the first run - --notify(-N) # Alert when commands start and end - --color: string@"nu-complete watchexec color" # When to use terminal colours - --timings # Print how long the command took to run - --quiet(-q) # Don't print starting and stopping messages - --bell # Ring the terminal bell on command completion - --project-origin: string # Set the project origin - --workdir: string # Set the working directory - --exts(-e): string # Filename extensions to filter to - --filter(-f): string # Filename patterns to filter to - --filter-file: string # Files to load filters from - --ignore(-i): string # Filename patterns to filter out - --ignore-file: string # Files to load ignores from - --fs-events: string@"nu-complete watchexec filter_fs_events" # Filesystem events to filter to - --no-meta # Don't emit fs events for metadata changes - --print-events # Print events that trigger actions - --verbose(-v) # Set diagnostic log level - --log-file: string # Write diagnostic logs to a file - --manual # Show the manual page - --completions: string@"nu-complete watchexec completions" # Generate a shell completions script - --help(-h) # Print help (see more with '--help') - --version(-V) # Print version - ] - -} - -export use completions * diff --git a/completions/powershell b/completions/powershell index ff441d8c..e69de29b 100644 --- a/completions/powershell +++ b/completions/powershell @@ -1,99 +0,0 @@ - -using namespace System.Management.Automation -using namespace System.Management.Automation.Language - -Register-ArgumentCompleter -Native -CommandName 'watchexec' -ScriptBlock { - param($wordToComplete, $commandAst, $cursorPosition) - - $commandElements = $commandAst.CommandElements - $command = @( - 'watchexec' - for ($i = 1; $i -lt $commandElements.Count; $i++) { - $element = $commandElements[$i] - if ($element -isnot [StringConstantExpressionAst] -or - $element.StringConstantType -ne [StringConstantType]::BareWord -or - $element.Value.StartsWith('-') -or - $element.Value -eq $wordToComplete) { - break - } - $element.Value - }) -join ';' - - $completions = @(switch ($command) { - 'watchexec' { - [CompletionResult]::new('-w', 'w', [CompletionResultType]::ParameterName, 'Watch a specific file or directory') - [CompletionResult]::new('--watch', 'watch', [CompletionResultType]::ParameterName, 'Watch a specific file or directory') - [CompletionResult]::new('-c', 'c', [CompletionResultType]::ParameterName, 'Clear screen before running command') - [CompletionResult]::new('--clear', 'clear', [CompletionResultType]::ParameterName, 'Clear screen before running command') - [CompletionResult]::new('-o', 'o', [CompletionResultType]::ParameterName, 'What to do when receiving events while the command is running') - [CompletionResult]::new('--on-busy-update', 'on-busy-update', [CompletionResultType]::ParameterName, 'What to do when receiving events while the command is running') - [CompletionResult]::new('-s', 's', [CompletionResultType]::ParameterName, 'Send a signal to the process when it''s still running') - [CompletionResult]::new('--signal', 'signal', [CompletionResultType]::ParameterName, 'Send a signal to the process when it''s still running') - [CompletionResult]::new('--stop-signal', 'stop-signal', [CompletionResultType]::ParameterName, 'Signal to send to stop the command') - [CompletionResult]::new('--stop-timeout', 'stop-timeout', [CompletionResultType]::ParameterName, 'Time to wait for the command to exit gracefully') - [CompletionResult]::new('--map-signal', 'map-signal', [CompletionResultType]::ParameterName, 'Translate signals from the OS to signals to send to the command') - [CompletionResult]::new('-d', 'd', [CompletionResultType]::ParameterName, 'Time to wait for new events before taking action') - [CompletionResult]::new('--debounce', 'debounce', [CompletionResultType]::ParameterName, 'Time to wait for new events before taking action') - [CompletionResult]::new('--delay-run', 'delay-run', [CompletionResultType]::ParameterName, 'Sleep before running the command') - [CompletionResult]::new('--poll', 'poll', [CompletionResultType]::ParameterName, 'Poll for filesystem changes') - [CompletionResult]::new('--shell', 'shell', [CompletionResultType]::ParameterName, 'Use a different shell') - [CompletionResult]::new('--emit-events-to', 'emit-events-to', [CompletionResultType]::ParameterName, 'Configure event emission') - [CompletionResult]::new('-E', 'E ', [CompletionResultType]::ParameterName, 'Add env vars to the command') - [CompletionResult]::new('--env', 'env', [CompletionResultType]::ParameterName, 'Add env vars to the command') - [CompletionResult]::new('--color', 'color', [CompletionResultType]::ParameterName, 'When to use terminal colours') - [CompletionResult]::new('--project-origin', 'project-origin', [CompletionResultType]::ParameterName, 'Set the project origin') - [CompletionResult]::new('--workdir', 'workdir', [CompletionResultType]::ParameterName, 'Set the working directory') - [CompletionResult]::new('-e', 'e', [CompletionResultType]::ParameterName, 'Filename extensions to filter to') - [CompletionResult]::new('--exts', 'exts', [CompletionResultType]::ParameterName, 'Filename extensions to filter to') - [CompletionResult]::new('-f', 'f', [CompletionResultType]::ParameterName, 'Filename patterns to filter to') - [CompletionResult]::new('--filter', 'filter', [CompletionResultType]::ParameterName, 'Filename patterns to filter to') - [CompletionResult]::new('--filter-file', 'filter-file', [CompletionResultType]::ParameterName, 'Files to load filters from') - [CompletionResult]::new('-i', 'i', [CompletionResultType]::ParameterName, 'Filename patterns to filter out') - [CompletionResult]::new('--ignore', 'ignore', [CompletionResultType]::ParameterName, 'Filename patterns to filter out') - [CompletionResult]::new('--ignore-file', 'ignore-file', [CompletionResultType]::ParameterName, 'Files to load ignores from') - [CompletionResult]::new('--fs-events', 'fs-events', [CompletionResultType]::ParameterName, 'Filesystem events to filter to') - [CompletionResult]::new('--log-file', 'log-file', [CompletionResultType]::ParameterName, 'Write diagnostic logs to a file') - [CompletionResult]::new('--completions', 'completions', [CompletionResultType]::ParameterName, 'Generate a shell completions script') - [CompletionResult]::new('-W', 'W ', [CompletionResultType]::ParameterName, 'Deprecated alias for ''--on-busy-update=do-nothing''') - [CompletionResult]::new('--watch-when-idle', 'watch-when-idle', [CompletionResultType]::ParameterName, 'Deprecated alias for ''--on-busy-update=do-nothing''') - [CompletionResult]::new('-r', 'r', [CompletionResultType]::ParameterName, 'Restart the process if it''s still running') - [CompletionResult]::new('--restart', 'restart', [CompletionResultType]::ParameterName, 'Restart the process if it''s still running') - [CompletionResult]::new('-k', 'k', [CompletionResultType]::ParameterName, 'Hidden legacy shorthand for ''--signal=kill''') - [CompletionResult]::new('--kill', 'kill', [CompletionResultType]::ParameterName, 'Hidden legacy shorthand for ''--signal=kill''') - [CompletionResult]::new('--stdin-quit', 'stdin-quit', [CompletionResultType]::ParameterName, 'Exit when stdin closes') - [CompletionResult]::new('--no-vcs-ignore', 'no-vcs-ignore', [CompletionResultType]::ParameterName, 'Don''t load gitignores') - [CompletionResult]::new('--no-project-ignore', 'no-project-ignore', [CompletionResultType]::ParameterName, 'Don''t load project-local ignores') - [CompletionResult]::new('--no-global-ignore', 'no-global-ignore', [CompletionResultType]::ParameterName, 'Don''t load global ignores') - [CompletionResult]::new('--no-default-ignore', 'no-default-ignore', [CompletionResultType]::ParameterName, 'Don''t use internal default ignores') - [CompletionResult]::new('--no-discover-ignore', 'no-discover-ignore', [CompletionResultType]::ParameterName, 'Don''t discover ignore files at all') - [CompletionResult]::new('--ignore-nothing', 'ignore-nothing', [CompletionResultType]::ParameterName, 'Don''t ignore anything at all') - [CompletionResult]::new('-p', 'p', [CompletionResultType]::ParameterName, 'Wait until first change before running command') - [CompletionResult]::new('--postpone', 'postpone', [CompletionResultType]::ParameterName, 'Wait until first change before running command') - [CompletionResult]::new('-n', 'n', [CompletionResultType]::ParameterName, 'Don''t use a shell') - [CompletionResult]::new('--no-shell-long', 'no-shell-long', [CompletionResultType]::ParameterName, 'Don''t use a shell') - [CompletionResult]::new('--no-environment', 'no-environment', [CompletionResultType]::ParameterName, 'Shorthand for ''--emit-events=none''') - [CompletionResult]::new('--only-emit-events', 'only-emit-events', [CompletionResultType]::ParameterName, 'Only emit events to stdout, run no commands') - [CompletionResult]::new('--no-process-group', 'no-process-group', [CompletionResultType]::ParameterName, 'Don''t use a process group') - [CompletionResult]::new('-1', '1', [CompletionResultType]::ParameterName, 'Testing only: exit Watchexec after the first run') - [CompletionResult]::new('-N', 'N ', [CompletionResultType]::ParameterName, 'Alert when commands start and end') - [CompletionResult]::new('--notify', 'notify', [CompletionResultType]::ParameterName, 'Alert when commands start and end') - [CompletionResult]::new('--timings', 'timings', [CompletionResultType]::ParameterName, 'Print how long the command took to run') - [CompletionResult]::new('-q', 'q', [CompletionResultType]::ParameterName, 'Don''t print starting and stopping messages') - [CompletionResult]::new('--quiet', 'quiet', [CompletionResultType]::ParameterName, 'Don''t print starting and stopping messages') - [CompletionResult]::new('--bell', 'bell', [CompletionResultType]::ParameterName, 'Ring the terminal bell on command completion') - [CompletionResult]::new('--no-meta', 'no-meta', [CompletionResultType]::ParameterName, 'Don''t emit fs events for metadata changes') - [CompletionResult]::new('--print-events', 'print-events', [CompletionResultType]::ParameterName, 'Print events that trigger actions') - [CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Set diagnostic log level') - [CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Set diagnostic log level') - [CompletionResult]::new('--manual', 'manual', [CompletionResultType]::ParameterName, 'Show the manual page') - [CompletionResult]::new('-h', 'h', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')') - [CompletionResult]::new('--help', 'help', [CompletionResultType]::ParameterName, 'Print help (see more with ''--help'')') - [CompletionResult]::new('-V', 'V ', [CompletionResultType]::ParameterName, 'Print version') - [CompletionResult]::new('--version', 'version', [CompletionResultType]::ParameterName, 'Print version') - break - } - }) - - $completions.Where{ $_.CompletionText -like "$wordToComplete*" } | - Sort-Object -Property ListItemText -} diff --git a/completions/zsh b/completions/zsh index cda3fb26..e69de29b 100644 --- a/completions/zsh +++ b/completions/zsh @@ -1,101 +0,0 @@ -#compdef watchexec - -autoload -U is-at-least - -_watchexec() { - typeset -A opt_args - typeset -a _arguments_options - local ret=1 - - if is-at-least 5.2; then - _arguments_options=(-s -S -C) - else - _arguments_options=(-s -C) - fi - - local context curcontext="$curcontext" state line - _arguments "${_arguments_options[@]}" \ -'*-w+[Watch a specific file or directory]:PATH:_files' \ -'*--watch=[Watch a specific file or directory]:PATH:_files' \ -'-c+[Clear screen before running command]' \ -'--clear=[Clear screen before running command]' \ -'-o+[What to do when receiving events while the command is running]:MODE:(queue do-nothing restart signal)' \ -'--on-busy-update=[What to do when receiving events while the command is running]:MODE:(queue do-nothing restart signal)' \ -'(-r --restart -W --watch-when-idle)-s+[Send a signal to the process when it'\''s still running]:SIGNAL: ' \ -'(-r --restart -W --watch-when-idle)--signal=[Send a signal to the process when it'\''s still running]:SIGNAL: ' \ -'--stop-signal=[Signal to send to stop the command]:SIGNAL: ' \ -'--stop-timeout=[Time to wait for the command to exit gracefully]:TIMEOUT: ' \ -'*--map-signal=[Translate signals from the OS to signals to send to the command]:SIGNAL:SIGNAL: ' \ -'-d+[Time to wait for new events before taking action]:TIMEOUT: ' \ -'--debounce=[Time to wait for new events before taking action]:TIMEOUT: ' \ -'--delay-run=[Sleep before running the command]:DURATION: ' \ -'--poll=[Poll for filesystem changes]' \ -'--shell=[Use a different shell]:SHELL: ' \ -'--emit-events-to=[Configure event emission]:MODE:(environment stdio file json-stdio json-file none)' \ -'*-E+[Add env vars to the command]:KEY=VALUE: ' \ -'*--env=[Add env vars to the command]:KEY=VALUE: ' \ -'--color=[When to use terminal colours]:MODE:(auto always never)' \ -'--project-origin=[Set the project origin]:DIRECTORY:_files -/' \ -'--workdir=[Set the working directory]:DIRECTORY:_files -/' \ -'*-e+[Filename extensions to filter to]:EXTENSIONS: ' \ -'*--exts=[Filename extensions to filter to]:EXTENSIONS: ' \ -'*-f+[Filename patterns to filter to]:PATTERN: ' \ -'*--filter=[Filename patterns to filter to]:PATTERN: ' \ -'*--filter-file=[Files to load filters from]:PATH:_files' \ -'*-i+[Filename patterns to filter out]:PATTERN: ' \ -'*--ignore=[Filename patterns to filter out]:PATTERN: ' \ -'*--ignore-file=[Files to load ignores from]:PATH:_files' \ -'*--fs-events=[Filesystem events to filter to]:EVENTS:(access create remove rename modify metadata)' \ -'--log-file=[Write diagnostic logs to a file]' \ -'(--manual)--completions=[Generate a shell completions script]:COMPLETIONS:(bash elvish fish nu powershell zsh)' \ -'(-o --on-busy-update -r --restart)-W[Deprecated alias for '\''--on-busy-update=do-nothing'\'']' \ -'(-o --on-busy-update -r --restart)--watch-when-idle[Deprecated alias for '\''--on-busy-update=do-nothing'\'']' \ -'(-o --on-busy-update -W --watch-when-idle)-r[Restart the process if it'\''s still running]' \ -'(-o --on-busy-update -W --watch-when-idle)--restart[Restart the process if it'\''s still running]' \ -'-k[Hidden legacy shorthand for '\''--signal=kill'\'']' \ -'--kill[Hidden legacy shorthand for '\''--signal=kill'\'']' \ -'--stdin-quit[Exit when stdin closes]' \ -'--no-vcs-ignore[Don'\''t load gitignores]' \ -'--no-project-ignore[Don'\''t load project-local ignores]' \ -'--no-global-ignore[Don'\''t load global ignores]' \ -'--no-default-ignore[Don'\''t use internal default ignores]' \ -'--no-discover-ignore[Don'\''t discover ignore files at all]' \ -'--ignore-nothing[Don'\''t ignore anything at all]' \ -'-p[Wait until first change before running command]' \ -'--postpone[Wait until first change before running command]' \ -'-n[Don'\''t use a shell]' \ -'--no-shell-long[Don'\''t use a shell]' \ -'--no-environment[Shorthand for '\''--emit-events=none'\'']' \ -'(--completions --manual)--only-emit-events[Only emit events to stdout, run no commands]' \ -'--no-process-group[Don'\''t use a process group]' \ -'-1[Testing only\: exit Watchexec after the first run]' \ -'-N[Alert when commands start and end]' \ -'--notify[Alert when commands start and end]' \ -'--timings[Print how long the command took to run]' \ -'-q[Don'\''t print starting and stopping messages]' \ -'--quiet[Don'\''t print starting and stopping messages]' \ -'--bell[Ring the terminal bell on command completion]' \ -'(--fs-events)--no-meta[Don'\''t emit fs events for metadata changes]' \ -'--print-events[Print events that trigger actions]' \ -'*-v[Set diagnostic log level]' \ -'*--verbose[Set diagnostic log level]' \ -'(--completions)--manual[Show the manual page]' \ -'-h[Print help (see more with '\''--help'\'')]' \ -'--help[Print help (see more with '\''--help'\'')]' \ -'-V[Print version]' \ -'--version[Print version]' \ -'*::command -- Command to run on changes:_cmdstring' \ -&& ret=0 -} - -(( $+functions[_watchexec_commands] )) || -_watchexec_commands() { - local commands; commands=() - _describe -t commands 'watchexec commands' commands "$@" -} - -if [ "$funcstack[1]" = "_watchexec" ]; then - _watchexec "$@" -else - compdef _watchexec watchexec -fi