diff --git a/nvim_remote b/nvim_remote index a4bf814..fa22482 100755 --- a/nvim_remote +++ b/nvim_remote @@ -1,16 +1,20 @@ #!/bin/bash +line=$(cut -d " " -f 1 <<< $@) path=$(cut -d " " -f 2 <<< $@) -dir=$(dirname $path) -cd $dir -args=$@ -repo_path=$(git rev-parse --show-toplevel 2>/dev/null) -cd $repo_path -if [ -n "$repo_path" ]; then - servername=/tmp/nvr$(echo $repo_path | tr "/" "_") - nvr -s --servername $servername "$@" -else - nvim "$@" +main_module_repo_path=$(git rev-parse --show-superproject-working-tree 2>/dev/null) + +main_module_relative_file_path=$main_module_repo_path/$path +repo_relative_file_path=$(git rev-parse --show-toplevel 2>/dev/null)/$path +relative_file_path=$path + +servername=/tmp/nvr$(echo $main_module_repo_path | tr "/" "_") + +if [ -n "$relative_path" ]; then + nvr -s --servername $servername $line "$relative_path" +elif [ -n "$repo_relative_file_path" ]; then + nvr -s --servername $servername $line "$repo_relative_file_path" +elif [ -n "$main_module_relative_file_path" ]; then + nvr -s --servername $servername $line "$main_module_relative_file_path" fi -