aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDaniel Hahler <git@thequod.de>2019-08-30 16:46:29 +0200
committerGitHub <noreply@github.com>2019-08-30 16:46:29 +0200
commite03a4f965e8cb9821e425e1df873b48460c52dbf (patch)
tree271e2cb8495c10922cb7b5af14da9b48e5dc7b7d /scripts
parentdd025a18c19d5a1a94777d49dc1a18c7ad82473d (diff)
downloadrneovim-e03a4f965e8cb9821e425e1df873b48460c52dbf.tar.gz
rneovim-e03a4f965e8cb9821e425e1df873b48460c52dbf.tar.bz2
rneovim-e03a4f965e8cb9821e425e1df873b48460c52dbf.zip
scripts/vim-patch.sh: massage args for git-log [ci skip] (#10888)
Replace "src/nvim/" => "src/". Replace ".*/.vim-src/" => "". This allows to use tab completion based on existing files in Neovim's source, or via .vim-src. Previously you would have to typically remove the "nvim/" part manually yourself.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/vim-patch.sh19
1 files changed, 18 insertions, 1 deletions
diff --git a/scripts/vim-patch.sh b/scripts/vim-patch.sh
index 2fb114017b..a5dca26b46 100755
--- a/scripts/vim-patch.sh
+++ b/scripts/vim-patch.sh
@@ -394,6 +394,22 @@ list_missing_vimpatches() {
local token vim_commit vim_tag patch_number
declare -A tokens
declare -A vim_commit_tags
+ declare -a git_log_args
+
+ # Massage arguments for git-log.
+ declare -A git_log_replacements=(
+ [^\(.*/\)?src/nvim/\(.*\)]="\${BASH_REMATCH[1]}src/\${BASH_REMATCH[2]}"
+ [^\(.*/\)?\.vim-src/\(.*\)]="\${BASH_REMATCH[2]}"
+ )
+ for i in "$@"; do
+ for j in "${!git_log_replacements[@]}"; do
+ if [[ "$i" =~ $j ]]; then
+ eval "git_log_args+=(${git_log_replacements[$j]})"
+ continue 2
+ fi
+ done
+ git_log_args+=("$i")
+ done
# Find all "vim-patch:xxx" tokens in the Nvim git log.
for token in $(list_vimpatch_tokens); do
@@ -414,7 +430,7 @@ list_missing_vimpatches() {
fi
# Get missing Vim commits
- for vim_commit in $(list_vim_commits "$@"); do
+ for vim_commit in $(list_vim_commits "${git_log_args[@]}"); do
# Check for vim-patch:<commit_hash> (usually runtime updates).
token="vim-patch:${vim_commit:0:7}"
if [[ "${tokens[$token]-}" ]]; then
@@ -436,6 +452,7 @@ list_missing_vimpatches() {
}
# Prints a human-formatted list of Vim commits, with instructional messages.
+# Passes "$@" onto list_missing_vimpatches (args for git-log).
show_vimpatches() {
get_vim_sources
printf "\nVim patches missing from Neovim:\n"