From patchwork Sat Jul 18 19:20:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: pudinha X-Patchwork-Id: 11671999 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5098C13B4 for ; Sat, 18 Jul 2020 19:27:15 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2ED682076A for ; Sat, 18 Jul 2020 19:27:15 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=skylittlesystem-org.20150623.gappssmtp.com header.i=@skylittlesystem-org.20150623.gappssmtp.com header.b="ngYJVyXE" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727951AbgGRT1O (ORCPT ); Sat, 18 Jul 2020 15:27:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726346AbgGRT1N (ORCPT ); Sat, 18 Jul 2020 15:27:13 -0400 Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 62123C0619D2 for ; Sat, 18 Jul 2020 12:27:13 -0700 (PDT) Received: by mail-wm1-x32f.google.com with SMTP id c80so18750782wme.0 for ; Sat, 18 Jul 2020 12:27:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skylittlesystem-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+tGTzoZxZ/QGsYBYBX4Dcm58NPFXQSvwOAXIf8P/0H4=; b=ngYJVyXEu/DXWHQ+VcSNbJneVl2hheIWbcSVMxhT1csEX+MftsD/VoTFNmO5+izTt1 33U8jgSnqtpFXzllV21Ixheqx8ur1xg0L8+uLlkBvC4MMOMiav3vxK0/hd7jhNctSUeM JrfqgbPgbv57cmNaqc6c1Ofq2gYgyvTmnTchgq7snBzOqb0ha1I839F01VefKJJQaLGx Y0YqqtuYuRcxAVXgTD7+FJJ3bVHuUB5Mj3bx4sKs/xOZHml7cSfzHbr84Kpf9whlxNB3 7bsIlVRd1wZcRJTDyr02A5Jz4qLYdFoAz3OvM2PWCNcc17pLWcC/wJox5pVOta26ocfw zYWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=+tGTzoZxZ/QGsYBYBX4Dcm58NPFXQSvwOAXIf8P/0H4=; b=Y5q5ioa5iXGaMn514DHuS8fvc+G84BQCA7P8VqL1F7Yjulh4NbHdrxtcbpJD075Udu RDeSB0yzNsMMsPFpzVpAVNAT1UKhbtcWr/2wrqr3ck/kCNqP5DG0qXAigEJp9IwkOCXQ RwE2Zdz/GDgzunUU/iTbMIWkM+c/eXeLi4KMAK5VV25iM1vrMM94SjDOV9buzUiRJpaR GSi0/up+ZQoSzZkqhcTTc1g6IfW+qmg6Hl1Geke+dk2bKRa81rLBw3/f2yPZH+o1alaB +fdJaCVWPGv3tQgygAM/IK4UhdhO51KULElyxInMcXEHvp0MzELsLi7YFc0pjvcsg15S rd4A== X-Gm-Message-State: AOAM530bEgcHJRQ25EtfHEJmatLvugIJQxaJGICIaUOQ0M8kDr1Fj6Kh O45jLodk/yc6gOm0xqcKOEiwVH1IGc0= X-Google-Smtp-Source: ABdhPJx7/BGymrMOLUr07mbUK2E9ZBmYjNRQNYrVJTIjbzEn9QcDMTGFHGUfTC+tK+QLRuSS4ucJWw== X-Received: by 2002:a1c:28a:: with SMTP id 132mr14443220wmc.109.1595100431751; Sat, 18 Jul 2020 12:27:11 -0700 (PDT) Received: from localhost.localdomain (cpc110667-lewi19-2-0-cust284.2-4.cable.virginm.net. [80.7.253.29]) by smtp.gmail.com with ESMTPSA id g145sm27423531wmg.23.2020.07.18.12.27.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Jul 2020 12:27:11 -0700 (PDT) From: pudinha To: git@vger.kernel.org Cc: pudinha Subject: [PATCH] Support nvim as mergetool Date: Sat, 18 Jul 2020 20:20:02 +0100 Message-Id: <20200718192001.27434-1-rogi@skylittlesystem.org> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org --- Hello giters! Hope you are well! I made this little patch to support nvim as a merge tool. What do you think? Best regards, Pudinha <3 mergetools/nvimdiff | 1 + mergetools/nvimdiff2 | 1 + mergetools/nvimdiff3 | 1 + mergetools/vimdiff | 9 ++++++--- 4 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 mergetools/nvimdiff create mode 100644 mergetools/nvimdiff2 create mode 100644 mergetools/nvimdiff3 diff --git a/mergetools/nvimdiff b/mergetools/nvimdiff new file mode 100644 index 0000000000..04a5bb0ea8 --- /dev/null +++ b/mergetools/nvimdiff @@ -0,0 +1 @@ +. "$MERGE_TOOLS_DIR/vimdiff" diff --git a/mergetools/nvimdiff2 b/mergetools/nvimdiff2 new file mode 100644 index 0000000000..04a5bb0ea8 --- /dev/null +++ b/mergetools/nvimdiff2 @@ -0,0 +1 @@ +. "$MERGE_TOOLS_DIR/vimdiff" diff --git a/mergetools/nvimdiff3 b/mergetools/nvimdiff3 new file mode 100644 index 0000000000..04a5bb0ea8 --- /dev/null +++ b/mergetools/nvimdiff3 @@ -0,0 +1 @@ +. "$MERGE_TOOLS_DIR/vimdiff" diff --git a/mergetools/vimdiff b/mergetools/vimdiff index 10d86f3e19..be559062ee 100644 --- a/mergetools/vimdiff +++ b/mergetools/vimdiff @@ -5,7 +5,7 @@ diff_cmd () { merge_cmd () { case "$1" in - gvimdiff|vimdiff) + nvimdiff|gvimdiff|vimdiff) if $base_present then "$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \ @@ -15,11 +15,11 @@ merge_cmd () { "$LOCAL" "$MERGED" "$REMOTE" fi ;; - gvimdiff2|vimdiff2) + nvimdiff2|gvimdiff2|vimdiff2) "$merge_tool_path" -f -d -c 'wincmd l' \ "$LOCAL" "$MERGED" "$REMOTE" ;; - gvimdiff3|vimdiff3) + nvimdiff3|gvimdiff3|vimdiff3) if $base_present then "$merge_tool_path" -f -d -c 'hid | hid | hid' \ @@ -34,6 +34,9 @@ merge_cmd () { translate_merge_tool_path() { case "$1" in + nvimdiff|nvimdiff2|nvimdiff3) + echo nvim + ;; gvimdiff|gvimdiff2|gvimdiff3) echo gvim ;; From patchwork Sun Jul 19 04:23:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: pudinha X-Patchwork-Id: 11672139 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 60217913 for ; Sun, 19 Jul 2020 04:28:33 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3F96020724 for ; Sun, 19 Jul 2020 04:28:33 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=skylittlesystem-org.20150623.gappssmtp.com header.i=@skylittlesystem-org.20150623.gappssmtp.com header.b="iGiZgRsI" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726021AbgGSE0L (ORCPT ); Sun, 19 Jul 2020 00:26:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53798 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725272AbgGSE0L (ORCPT ); Sun, 19 Jul 2020 00:26:11 -0400 Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F538C0619D2 for ; Sat, 18 Jul 2020 21:26:11 -0700 (PDT) Received: by mail-wm1-x32a.google.com with SMTP id 22so19225098wmg.1 for ; Sat, 18 Jul 2020 21:26:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=skylittlesystem-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=dg2YAc9c4uqxa+eagwTGip8Taf/41hbI9Spn6qwvozM=; b=iGiZgRsIBcFdvfKBLNwmcb1JCR3JlE/KL+Zf7Fo3D21CJDtFuxtMMybKHJGgvBv7br BFWhLfpt2mzw84rem+HQctzEV/YrVvJkS7N1UTDQ7RmfXkn1mmEOg26zlUq7N2UdvPE8 hJSQd5u7p3E21cC+9ftRTbMrWhBcSz9JazKORapxX+W6eHru3OCS+VIj6R9n8s1Ga97j 4NHrIuzcfcxOe7n7Z4eyertV4st2pc9AAQrp5XmLV16xDCxnYRw6TQ9V4uwcdlUnC/OH bIEHPeVSNxcXMyp04sYxCXFiJsLhx7oAlrOhM6FK+mEVXNUoKWHoDfwRF2yInnH9dLIT Z1sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dg2YAc9c4uqxa+eagwTGip8Taf/41hbI9Spn6qwvozM=; b=Xu4OQ/i2tHGHIuo/qooPRT42skReosrE0quF3wa5xpEZ5G5a1gR4xDvsa/VX+MoNE5 AOHUrFZCZ5HMcN+NMDln252ULD1DBnLUAzxqCyaKs7hbds1OOcX5s5ku9FrgmHLU50ZE RCp9MR9JQcRrNaCiqwr6CRdGLs+URlCU4kw1plmyQLBHrPFU+4TLZ0bQ8hNe8ZLJ5oeF ylLZNtINNzIwhqBJTmOq/siuoLwkXVFkbwQ4AQfJZfTDRgRNznzhH/QF1kH8FiZypkyK 2fRR3AANGZE0sOkYMtR2Y3O91bMV5eWRNftHcEfXrrmMFplqzlIv/ySvKyhhSW2FTFoo uzyQ== X-Gm-Message-State: AOAM532vr5ePAap6vp3iM6MB7Xe4pegw2WNFWDz9wFr0ex7HVFQTEVsy VW3fS6SdJIBWVhIkXIKrrEll31P/WGs= X-Google-Smtp-Source: ABdhPJzCMsAhkedB7Z4nIwwwYs3gn2hHwnPV8YICZKMbtvHsrmck2lPCkIFc4jSv94WQEWZq2eLYuw== X-Received: by 2002:a1c:7fd7:: with SMTP id a206mr15910104wmd.104.1595132769599; Sat, 18 Jul 2020 21:26:09 -0700 (PDT) Received: from localhost.localdomain (cpc110667-lewi19-2-0-cust284.2-4.cable.virginm.net. [80.7.253.29]) by smtp.gmail.com with ESMTPSA id z16sm23571965wrr.35.2020.07.18.21.26.08 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 18 Jul 2020 21:26:09 -0700 (PDT) From: pudinha To: git@vger.kernel.org Cc: pudinha Subject: [PATCH v2 2/2] Support nvim as merge tool Date: Sun, 19 Jul 2020 05:23:38 +0100 Message-Id: <20200719042335.3913-3-rogi@skylittlesystem.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200718192001.27434-1-rogi@skylittlesystem.org> References: <20200718192001.27434-1-rogi@skylittlesystem.org> MIME-Version: 1.0 Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org --- contrib/completion/git-completion.bash | 4 ++-- git-mergetool--lib.sh | 7 +++++-- mergetools/nvimdiff | 1 + mergetools/vimdiff | 15 +++++++++------ 4 files changed, 17 insertions(+), 10 deletions(-) create mode 100644 mergetools/nvimdiff diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index ee468ea3b0..aed08f8df5 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1712,8 +1712,8 @@ _git_diff () } __git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff - tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc - codecompare smerge + tkdiff vimdiff nvimdiff gvimdiff xxdiff araxis p4merge + bc codecompare smerge " _git_difftool () diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 29fecc340f..2defef28cd 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -304,11 +304,14 @@ list_merge_tool_candidates () { tools="$tools smerge" fi case "${VISUAL:-$EDITOR}" in + *nvim*) + tools="$tools nvimdiff vimdiff emerge" + ;; *vim*) - tools="$tools vimdiff emerge" + tools="$tools vimdiff nvimdiff emerge" ;; *) - tools="$tools emerge vimdiff" + tools="$tools emerge vimdiff nvimdiff" ;; esac } diff --git a/mergetools/nvimdiff b/mergetools/nvimdiff new file mode 100644 index 0000000000..04a5bb0ea8 --- /dev/null +++ b/mergetools/nvimdiff @@ -0,0 +1 @@ +. "$MERGE_TOOLS_DIR/vimdiff" diff --git a/mergetools/vimdiff b/mergetools/vimdiff index 3925e1fc3e..abc8ce4ec4 100644 --- a/mergetools/vimdiff +++ b/mergetools/vimdiff @@ -5,7 +5,7 @@ diff_cmd () { merge_cmd () { case "$1" in - gvimdiff|vimdiff) + *vimdiff) if $base_present then "$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \ @@ -15,11 +15,11 @@ merge_cmd () { "$LOCAL" "$MERGED" "$REMOTE" fi ;; - gvimdiff2|vimdiff2) + *vimdiff2) "$merge_tool_path" -f -d -c 'wincmd l' \ "$LOCAL" "$MERGED" "$REMOTE" ;; - gvimdiff3|vimdiff3) + *vimdiff3) if $base_present then "$merge_tool_path" -f -d -c 'hid | hid | hid' \ @@ -34,10 +34,13 @@ merge_cmd () { translate_merge_tool_path() { case "$1" in - gvimdiff|gvimdiff2|gvimdiff3) + nvimdiff*) + echo nvim + ;; + gvimdiff*) echo gvim ;; - vimdiff|vimdiff2|vimdiff3) + vimdiff*) echo vim ;; esac @@ -48,7 +51,7 @@ exit_code_trustable () { } list_tool_variants () { - for prefix in '' g; do + for prefix in '' g n; do for suffix in '' 2 3; do echo "${prefix}vimdiff${suffix}" done