# This file is part of NIT ( http://www.nitlanguage.org ). # # 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. # Bash completion for nit commands # Put (or link) this file into `/etc/bash_completion.d/` # or source it in `~/.bash_completion`. _nit_lazy() { # Check if a valid command which $1 > /dev/null || return 1 # Drop possible directories to get the command name local cmd=`basename $1` # Generate the bash-completion # and setup a new `complete` for the command eval "$($1 --bash-completion)" if [[ $(type -t _$cmd) == function ]]; then # All if fine, finish the job by invoking the function _$cmd _$cmd return $? else # Problem, no function _$cmd return 1 fi } && complete -F _nit_lazy -o default nit nitc nitdoc nitlight nitls nitmetrics nitunit nitx