32 lines
		
	
	
		
			625 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			625 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -xe
 | 
						|
 | 
						|
[ -f /usr/bin/doas ] || alias doas=sudo
 | 
						|
 | 
						|
_input="$(echo "$1" | sed 's/:$//g')"
 | 
						|
_file="$(echo "$_input" | sed 's/:[0-9:]*$//g')"
 | 
						|
_fnr="$(echo "$_input" | awk -F: '{ print NF }')"
 | 
						|
 | 
						|
[ ! -w $_file ] \
 | 
						|
    && _cmd="doas vim" \
 | 
						|
    || _cmd="vim"
 | 
						|
 | 
						|
if [ $_fnr -eq 3 ]
 | 
						|
then
 | 
						|
    _row="$(echo "$_input" | awk -F: '{ print $2 }')"
 | 
						|
    _col="$(echo "$_input" | awk -F: '{ print $3 }')"
 | 
						|
    $_cmd -c ":call cursor($_row,$_col)" "$_file"
 | 
						|
 | 
						|
elif [ $_fnr -eq 2 ]
 | 
						|
then
 | 
						|
    _row="$(echo "$_input" | awk -F: '{ print $2 }')"
 | 
						|
    $_cmd +$_row "$_file"
 | 
						|
 | 
						|
else
 | 
						|
    echo "No cursor position found..."
 | 
						|
    $_cmd "$_file"
 | 
						|
fi
 | 
						|
 | 
						|
exit 0
 |