53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| ##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | |
| ## Gestion de chemins standardisés
 | |
| ##@cooked nocomments
 | |
| ##@require base
 | |
| ##@require sysinfos
 | |
| uprovide prefixes
 | |
| urequire base sysinfos
 | |
| 
 | |
| UTOOLS_PREFIXES=(USER HOME)
 | |
| 
 | |
| function get_USER_prefix() {
 | |
|     echo "$USER"
 | |
| }
 | |
| function get_HOME_prefix() {
 | |
|     echo "$HOME"
 | |
| }
 | |
| 
 | |
| function has_prefix() {
 | |
|     array_contains UTOOLS_PREFIXES "$1" && return 0
 | |
|     local prefix
 | |
|     for prefix in "${UTOOLS_PREFIXES[@]}"; do
 | |
|         if beginswith "$1" "$prefix/"; then
 | |
|             return 0
 | |
|         fi
 | |
|     done
 | |
|     return 1
 | |
| }
 | |
| 
 | |
| function expand_prefix() {
 | |
|     local prefix
 | |
|     for prefix in "${UTOOLS_PREFIXES[@]}"; do
 | |
|         if beginswith "$1" "$prefix/" || [ "$1" == "$prefix" ]; then
 | |
|             echo "$(get_${prefix}_prefix)${1#$prefix}"
 | |
|             return
 | |
|         fi
 | |
|     done
 | |
|     echo "$1"
 | |
| }
 | |
| 
 | |
| function list_prefixes() {
 | |
|     local prefix
 | |
|     for prefix in "${UTOOLS_PREFIXES[@]}"; do
 | |
|         echo "$prefix"
 | |
|     done
 | |
| }
 | |
| 
 | |
| function dump_prefixes() {
 | |
|     local prefix
 | |
|     for prefix in "${UTOOLS_PREFIXES[@]}"; do
 | |
|         echo "$prefix=$(expand_prefix "$prefix")"
 | |
|     done
 | |
| }
 | 
