mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
		
			651 B
		
	
	
	
		
			Fish
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			651 B
		
	
	
	
		
			Fish
		
	
	
	
	
	
| 
 | |
| function eval -S -d "Evaluate parameters as a command"
 | |
| 
 | |
| 	# If we are in an interactive shell, eval should enable full
 | |
| 	# job control since it should behave like the real code was
 | |
| 	# executed.  If we don't do this, commands that expect to be
 | |
| 	# used interactively, like less, wont work using eval.
 | |
| 
 | |
| 	set -l mode
 | |
| 	if status --is-interactive-job-control
 | |
| 		set mode interactive
 | |
| 	else
 | |
| 		if status --is-full-job-control
 | |
| 			set mode full
 | |
| 		else
 | |
| 			set mode none
 | |
| 		end
 | |
| 	end
 | |
| 	if status --is-interactive
 | |
| 		status --job-control full
 | |
| 	end
 | |
| 
 | |
| 	echo "begin; $argv ;end eval2_inner <&3 3<&-" | . 3<&0
 | |
| 	set -l res $status
 | |
| 
 | |
| 	status --job-control $mode
 | |
| 	return $res
 | |
| end
 |