27 lines
698 B
Bash
27 lines
698 B
Bash
# Find all file extensions.
|
|
function find_ext() {
|
|
local types=($(find -type f | sed -e "s/.*\///" -e "s/^\.//" -e "/\./!d" -e "s/.*\.//"))
|
|
echo "${types[@]}" | tr ' ' '\n' | sort -u
|
|
}
|
|
|
|
# Find all modules.
|
|
function find_module() {
|
|
ls "${BASH_MODULE_PATH}" | sed -e "s/.sh$//"
|
|
}
|
|
|
|
# Find all module functions.
|
|
# Functions from all modules by default.
|
|
# Usage: find_function [MODULE]
|
|
function find_function() {
|
|
local module="${1}"
|
|
[[ "${module}" = "" ]] && module="*"
|
|
cat "${BASH_MODULE_PATH}"/${module}.sh | grep "^function.*()" | sed -e "s/^function //" -e "s/().*//"
|
|
}
|
|
|
|
# Autocomplete with module.
|
|
_find_module() {
|
|
_autocomplete_first $(find_module)
|
|
}
|
|
|
|
complete -F _find_module find_function
|