| |
| # Copyright 2015-2023 Rivoreo |
| |
| # Permission is hereby granted, free of charge, to any person obtaining a copy |
| # of this software and associated documentation files (the "Software"), to |
| # deal in the Software without restriction, including without limitation the |
| # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
| # sell copies of the Software, and to permit persons to whom the Software is |
| # furnished to do so, subject to the following conditions: |
| |
| # The above copyright notice and this permission notice shall be included in |
| # all copies or substantial portions of the Software. |
| |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
| # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| # WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR |
| |
| |
| _chflags_complete() { |
| local cur prev words cword split w end_of_options |
| _init_completion || return |
| if [ "${cur#-}" != "$cur" ]; then |
| local options="-f -h -v -R" |
| for w in "${words[@]}"; do case "$w" in |
| --) |
| end_of_options=1 |
| break |
| ;; |
| -R) |
| case "$options" in |
| *" -P") |
| ;; |
| *) |
| options="$options -H -L -P" |
| ;; |
| esac |
| ;; |
| esac done |
| if [ -z "$end_of_options" ]; then |
| COMPREPLY=(`compgen -W "$options" -- "$cur"`) |
| return |
| fi |
| fi |
| local nargs=1 |
| end_of_options= |
| for w in "${words[@]:1:cword-1}"; do |
| case "$w" in |
| --) |
| end_of_options=1 |
| continue |
| ;; |
| -*) |
| [ -z "$end_of_options" ] && continue; |
| ;; |
| esac |
| nargs=$((nargs+1)) |
| done |
| if [ $nargs = 1 ]; then |
| COMPREPLY=(`compgen -W 'simmutable sappend' -- "$cur"`) |
| else |
| _filedir |
| fi |
| } |
| complete -F _chflags_complete chflags |