mirror of
https://github.com/bkryza/clang-uml.git
synced 2025-05-17 11:12:20 +08:00
Added bash autocomplete script
This commit is contained in:
parent
621e417e0e
commit
46649e8084
125
packaging/autocomplete/clang-uml.bash-completion
Normal file
125
packaging/autocomplete/clang-uml.bash-completion
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# clang-uml completion -*- shell-script -*-
|
||||||
|
|
||||||
|
##
|
||||||
|
## packaging/autocomplete/clang-uml.bash-completion
|
||||||
|
##
|
||||||
|
## Copyright (c) 2021-2023 Bartek Kryza <bkryza@gmail.com>
|
||||||
|
##
|
||||||
|
## 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.
|
||||||
|
##
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check if this is OSX, if so defined custom init_completion
|
||||||
|
#
|
||||||
|
if [[ `uname` =~ "Darwin" ]]; then
|
||||||
|
__osx_init_completion()
|
||||||
|
{
|
||||||
|
COMPREPLY=()
|
||||||
|
_get_comp_words_by_ref cur prev words cword
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -a generators
|
||||||
|
generators=(
|
||||||
|
"plantuml"
|
||||||
|
"json"
|
||||||
|
"mermaid"
|
||||||
|
)
|
||||||
|
|
||||||
|
_clanguml() {
|
||||||
|
local cur
|
||||||
|
local prev
|
||||||
|
local words
|
||||||
|
local cword
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check if the _init_completion function is available, which is
|
||||||
|
# available since bash-completion 1.4
|
||||||
|
#
|
||||||
|
if [[ `uname` =~ "Darwin" ]]; then
|
||||||
|
__osx_init_completion || return
|
||||||
|
else
|
||||||
|
_init_completion -s || return
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
case $prev in
|
||||||
|
-d|--compile-database)
|
||||||
|
_filedir -d
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-o|--output-directory)
|
||||||
|
_filedir -d
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-n|--diagram-name)
|
||||||
|
COMPREPLY=()
|
||||||
|
local diagrams=`clang-uml -l | tail -n +2 | cut -c5- | awk '{ print $1 }'`
|
||||||
|
|
||||||
|
COMPREPLY=( $(compgen -W "${diagrams}" -- $cur))
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
--show-template)
|
||||||
|
COMPREPLY=()
|
||||||
|
local templates=`clang-uml --list-templates | tail -n +2 | cut -c5- | awk '{ print $1 }'`
|
||||||
|
|
||||||
|
COMPREPLY=( $(compgen -W "${templates}" -- $cur))
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
-g|--generator)
|
||||||
|
local generators_list=`echo "${generators[@]}"`
|
||||||
|
COMPREPLY=($(compgen -o nospace -W "${generators_list[@]}" -- "$cur"))
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $cur in
|
||||||
|
-*)
|
||||||
|
COMPREPLY=( $( compgen -W '-h --help \
|
||||||
|
-V --version \
|
||||||
|
-c --config \
|
||||||
|
-t --thread-count \
|
||||||
|
-v --verbose \
|
||||||
|
-p --progress \
|
||||||
|
-q --quiet \
|
||||||
|
-l --list-diagrams \
|
||||||
|
--init \
|
||||||
|
--add-compile-flag \
|
||||||
|
--remove-compile-flag \
|
||||||
|
--query-driver \
|
||||||
|
--add-class-diagram \
|
||||||
|
--add-sequence-diagram \
|
||||||
|
--add-package-diagram \
|
||||||
|
--add-include-diagram \
|
||||||
|
--add-diagram-from-template \
|
||||||
|
--template-var \
|
||||||
|
--list-templates \
|
||||||
|
--show-template \
|
||||||
|
--dump-config \
|
||||||
|
--paths-relative-to-pwd \
|
||||||
|
--no-metadata \
|
||||||
|
--print-from \
|
||||||
|
--print-to \
|
||||||
|
--no-validate \
|
||||||
|
--validate-only' -- $cur ) )
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
#
|
||||||
|
# By default do nothing
|
||||||
|
#
|
||||||
|
return 0
|
||||||
|
|
||||||
|
} &&
|
||||||
|
complete -F _clanguml clang-uml
|
Loading…
x
Reference in New Issue
Block a user