65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| NULIB_NO_IMPORT_DEFAULTS=1
 | |
| MYDIR="$(dirname -- "$0")"
 | |
| source "$MYDIR/load.sh" || exit 1
 | |
| 
 | |
| NULIB_DOCDIR="$MYDIR/doc/bash"
 | |
| mkdir -p "$NULIB_DOCDIR"
 | |
| 
 | |
| NULIB_DOCUMENTED_MODULES=()
 | |
| function nulib_check_documented() {
 | |
|     local module
 | |
|     for module in "${NULIB_DOCUMENTED_MODULES[@]}"; do
 | |
|         [ "$module" == "$1" ] && return 0
 | |
|     done
 | |
|     return 1
 | |
| }
 | |
| 
 | |
| function nulib__define_functions() {
 | |
|     function nulib_check_loaded() {
 | |
|         local module
 | |
|         for module in "${NULIB_LOADED_MODULES[@]}"; do
 | |
|             [ "$module" == "$1" ] && return 0
 | |
|         done
 | |
|         return 1
 | |
|     }
 | |
|     function module:() {
 | |
|         NULIB_MODULE="$1"
 | |
|         NULIB_FUNC_PREFIX="$2"
 | |
|         if ! nulib_check_loaded "$1"; then
 | |
|             NULIB_LOADED_MODULES=("${NULIB_LOADED_MODULES[@]}" "$1")
 | |
|         fi
 | |
|         if ! nulib_check_documented "$1"; then
 | |
|             NULIB_DOCUMENTED_MODULES=("${NULIB_DOCUMENTED_MODULES[@]}" "$1")
 | |
|             echo "...$NULIB_MODULE"
 | |
|             echo >"$NULIB_DOCDIR/$NULIB_MODULE.md" "\
 | |
| -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| 
 | |
| # ${3:-$NULIB_MODULE}
 | |
| 
 | |
| Chargement du module sans les aliases:
 | |
| ~~~
 | |
| require: $NULIB_MODULE
 | |
| ~~~
 | |
| 
 | |
| Chargement du module en important aussi les aliases:
 | |
| ~~~
 | |
| import: $NULIB_MODULE
 | |
| ~~~"
 | |
|         fi
 | |
|     }
 | |
|     function function:() {
 | |
|         if [ -n "$NULIB_ALLOW_IMPORT" -a -n "$NULIB_FUNC_PREFIX" -a "${1#$NULIB_FUNC_PREFIX}" != "$1" ]; then
 | |
|             eval "function ${1#$NULIB_FUNC_PREFIX}() { $1 \"\$@\"; }"
 | |
|         fi
 | |
|         echo >>"$NULIB_DOCDIR/$NULIB_MODULE.md" "
 | |
| ## $1()"
 | |
|         [ "${1#$NULIB_FUNC_PREFIX}" != "$1" ] && echo >>"$NULIB_DOCDIR/$NULIB_MODULE.md" "Alias: \`${1#$NULIB_FUNC_PREFIX}()\`"
 | |
|         [ "${#2}" -gt 0 ] && echo >>"$NULIB_DOCDIR/$NULIB_MODULE.md" "
 | |
| $2"
 | |
|     }
 | |
| }
 | |
| 
 | |
| import: DEFAULTS
 |