mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	Merge pull request #1134 from koraa/pull_req_helpers
Helpers for default variables and alias value access
This commit is contained in:
		@@ -15,3 +15,61 @@ function take() {
 | 
				
			|||||||
  cd $1
 | 
					  cd $1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Get the value of an alias.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Arguments:
 | 
				
			||||||
 | 
					#    1. alias - The alias to get its value from
 | 
				
			||||||
 | 
					# STDOUT:
 | 
				
			||||||
 | 
					#    The value of alias $1 (if it has one).
 | 
				
			||||||
 | 
					# Return value:
 | 
				
			||||||
 | 
					#    0 if the alias was found,
 | 
				
			||||||
 | 
					#    1 if it does not exist
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					function alias_value() {
 | 
				
			||||||
 | 
					    alias "$1" | sed "s/^$1='\(.*\)'$/\1/"
 | 
				
			||||||
 | 
					    test $(alias "$1")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Try to get the value of an alias,
 | 
				
			||||||
 | 
					# otherwise return the input.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Arguments:
 | 
				
			||||||
 | 
					#    1. alias - The alias to get its value from
 | 
				
			||||||
 | 
					# STDOUT:
 | 
				
			||||||
 | 
					#    The value of alias $1, or $1 if there is no alias $1.
 | 
				
			||||||
 | 
					# Return value:
 | 
				
			||||||
 | 
					#    Always 0
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					function try_alias_value() {
 | 
				
			||||||
 | 
					    alias_value "$1" || echo "$1"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Set variable "$1" to default value "$2" if "$1" is not yet defined.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Arguments:
 | 
				
			||||||
 | 
					#    1. name - The variable to set
 | 
				
			||||||
 | 
					#    2. val  - The default value 
 | 
				
			||||||
 | 
					# Return value:
 | 
				
			||||||
 | 
					#    0 if the variable exists, 3 if it was set
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					function default() {
 | 
				
			||||||
 | 
					    test `typeset +m "$1"` && return 0
 | 
				
			||||||
 | 
					    typeset -g "$1"="$2"   && return 3
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Set enviroment variable "$1" to default value "$2" if "$1" is not yet defined.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Arguments:
 | 
				
			||||||
 | 
					#    1. name - The env variable to set
 | 
				
			||||||
 | 
					#    2. val  - The default value 
 | 
				
			||||||
 | 
					# Return value:
 | 
				
			||||||
 | 
					#    0 if the env variable exists, 3 if it was set
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					function env_default() {
 | 
				
			||||||
 | 
					    env | grep -q "^$1=" && return 0 
 | 
				
			||||||
 | 
					    export "$1=$2"       && return 3
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user