<commit_before>command -v cargo >/dev/null 2>&1 &&
_cargo()
{
	local cur prev words cword cmd
	_get_comp_words_by_ref cur prev words cword

	COMPREPLY=()

	cmd=${words[1]}

	local vcs='git hg none'

	local opt_help='-h --help'
	local opt_verbose='-v --verbose'
	local opt_quiet='-q --quiet'
	local opt_color='--color'
	local opt_common="$opt_help $opt_verbose $opt_quiet $opt_color"
	local opt_pkg='-p --package'
	local opt_feat='--features --no-default-features'
	local opt_mani='--manifest-path'
	local opt_jobs='-j --jobs'

	local opt___nocmd="$opt_common -V --version --list"
	local opt__bench="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --no-run"
	local opt__build="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --release"
	local opt__clean="$opt_common $opt_pkg $opt_mani --target"
	local opt__doc="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --open --no-deps"
	local opt__fetch="$opt_common $opt_mani"
	local opt__generate_lockfile="${opt__fetch}"
	local opt__git_checkout="$opt_common --reference --url"
	local opt__locate_project="$opt_mani -h --help"
	local opt__login="$opt_common --host"
	local opt__new="$opt_common --vcs --bin --name"
	local opt__owner="$opt_common -a --add -r --remove -l --list --index --token"
	local opt__pkgid="${opt__fetch}"
	local opt__publish="$opt_common $opt_mani --host --token --no-verify"
	local opt__read_manifest="$opt_help $opt_verbose $opt_mani"
	local opt__run="$opt_common $opt_feat $opt_mani $opt_jobs --target --bin --example --release"
	local opt__rustc="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --release"
	local opt__search="$opt_common --host"
	local opt__test="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --no-run --release"
	local opt__update="$opt_common $opt_pkg $opt_mani --aggressive --precise"
	local opt__package="$opt_common $opt_mani -l --list --no-verify --no-metadata"
	local opt__verify_project="${opt__fetch}"
	local opt__version="$opt_help $opt_verbose"
	local opt__yank="$opt_common --vers --undo --index --token"

	if [[ $cword -eq 1 ]]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W "${opt___nocmd}" -- "$cur" ) )
		else
			COMPREPLY=( $( compgen -W "$__cargo_commands" -- "$cur" ) )
		fi
	elif [[ $cword -ge 2 ]]; then
		case "${prev}" in
			--vcs)
				COMPREPLY=( $( compgen -W "$vcs" -- "$cur" ) )
				;;
			--manifest-path)
				_filedir toml
				;;
			--example)
				COMPREPLY=( $( compgen -W "$(_get_examples)" -- "$cur" ) )
				;;
			help)
				COMPREPLY=( $( compgen -W "$__cargo_commands" -- "$cur" ) )
				;;
			*)
				local opt_var=opt__${cmd//-/_}
				COMPREPLY=( $( compgen -W "${!opt_var}" -- "$cur" ) )
				;;
		esac
	fi

	# compopt does not work in bash version 3

	return 0
} &&
complete -F _cargo cargo

__cargo_commands=$(cargo --list | tail -n +2)

_locate_manifest(){
	local manifest=`cargo locate-project 2>/dev/null`
	# regexp-replace manifest '\{"root":"|"\}' ''
	echo ${manifest:9:-2}
}

_get_examples(){
	local files=($(dirname $(_locate_manifest))/examples/*.rs)
	local names=("${files[@]##*/}")
	local names=("${names[@]%.*}")
	# "*" means no examples found
	if [[ "${names[@]}" != "*" ]]; then
		echo "${names[@]}"
	fi
}
# vim:ft=sh<commit_msg>bash completion for targets<commit_after>command -v cargo >/dev/null 2>&1 &&
_cargo()
{
	local cur prev words cword cmd
	_get_comp_words_by_ref cur prev words cword

	COMPREPLY=()

	cmd=${words[1]}

	local vcs='git hg none'

	local opt_help='-h --help'
	local opt_verbose='-v --verbose'
	local opt_quiet='-q --quiet'
	local opt_color='--color'
	local opt_common="$opt_help $opt_verbose $opt_quiet $opt_color"
	local opt_pkg='-p --package'
	local opt_feat='--features --no-default-features'
	local opt_mani='--manifest-path'
	local opt_jobs='-j --jobs'

	local opt___nocmd="$opt_common -V --version --list"
	local opt__bench="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --no-run"
	local opt__build="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --release"
	local opt__clean="$opt_common $opt_pkg $opt_mani --target"
	local opt__doc="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --open --no-deps"
	local opt__fetch="$opt_common $opt_mani"
	local opt__generate_lockfile="${opt__fetch}"
	local opt__git_checkout="$opt_common --reference --url"
	local opt__locate_project="$opt_mani -h --help"
	local opt__login="$opt_common --host"
	local opt__new="$opt_common --vcs --bin --name"
	local opt__owner="$opt_common -a --add -r --remove -l --list --index --token"
	local opt__pkgid="${opt__fetch}"
	local opt__publish="$opt_common $opt_mani --host --token --no-verify"
	local opt__read_manifest="$opt_help $opt_verbose $opt_mani"
	local opt__run="$opt_common $opt_feat $opt_mani $opt_jobs --target --bin --example --release"
	local opt__rustc="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --release"
	local opt__search="$opt_common --host"
	local opt__test="$opt_common $opt_pkg $opt_feat $opt_mani $opt_jobs --target --lib --bin --test --bench --example --no-run --release"
	local opt__update="$opt_common $opt_pkg $opt_mani --aggressive --precise"
	local opt__package="$opt_common $opt_mani -l --list --no-verify --no-metadata"
	local opt__verify_project="${opt__fetch}"
	local opt__version="$opt_help $opt_verbose"
	local opt__yank="$opt_common --vers --undo --index --token"

	if [[ $cword -eq 1 ]]; then
		if [[ "$cur" == -* ]]; then
			COMPREPLY=( $( compgen -W "${opt___nocmd}" -- "$cur" ) )
		else
			COMPREPLY=( $( compgen -W "$__cargo_commands" -- "$cur" ) )
		fi
	elif [[ $cword -ge 2 ]]; then
		case "${prev}" in
			--vcs)
				COMPREPLY=( $( compgen -W "$vcs" -- "$cur" ) )
				;;
			--manifest-path)
				_filedir toml
				;;
			--example)
				COMPREPLY=( $( compgen -W "$(_get_examples)" -- "$cur" ) )
				;;
			--target)
				COMPREPLY=( $( compgen -W "$(_get_targets)" -- "$cur" ) )
				;;
			help)
				COMPREPLY=( $( compgen -W "$__cargo_commands" -- "$cur" ) )
				;;
			*)
				local opt_var=opt__${cmd//-/_}
				COMPREPLY=( $( compgen -W "${!opt_var}" -- "$cur" ) )
				;;
		esac
	fi

	# compopt does not work in bash version 3

	return 0
} &&
complete -F _cargo cargo

__cargo_commands=$(cargo --list | tail -n +2)

_locate_manifest(){
	local manifest=`cargo locate-project 2>/dev/null`
	# regexp-replace manifest '\{"root":"|"\}' ''
	echo ${manifest:9:-2}
}

_get_examples(){
	local files=($(dirname $(_locate_manifest))/examples/*.rs)
	local names=("${files[@]##*/}")
	local names=("${names[@]%.*}")
	# "*" means no examples found
	if [[ "${names[@]}" != "*" ]]; then
		echo "${names[@]}"
	fi
}

_get_targets(){
	local TARGETS=()
	local FIND_PATHS=( "/" )
	local CURRENT_PATH=$(_locate_manifest)
	while [[ "$CURRENT_PATH" != "/" ]]; do
	    FIND_PATHS+=( "$CURRENT_PATH" )
	    CURRENT_PATH=$(dirname $CURRENT_PATH)
	done
	for FIND_PATH in ${FIND_PATHS[@]}; do
	    if [[ -f "$FIND_PATH"/.cargo/config ]]; then
		LINES=( `grep "$FIND_PATH"/.cargo/config -e "^\[target\."` )
		for LINE in ${LINES[@]}; do
		    TARGETS+=(`sed 's/^\[target\.\(.*\)\]$/\1/' <<< $LINE`)
		done
	    fi
	done
	echo "${TARGETS[@]}"
}
# vim:ft=sh
{'fraction_non_alphanumeric': 0.19370100027034334, 'fraction_numerical': 0.003108948364422817, 'mean_word_length': 3.6651954602774275, 'pattern_counts': {'":': 2, '<': 6, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1328603', 'n_tokens_mistral': 2937, 'n_tokens_neox': 2752, 'n_words': 664}