From e2e62000370dca11dd9b03b5260f18dce41b8540 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Wed, 16 Nov 2016 23:33:05 +0300 Subject: [PATCH] [hg] partially support regular expressions and matching case options in hg log Case-insensitive regular expressions do not work. --- .../src/org/zmlx/hg4idea/log/HgLogProvider.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/plugins/hg4idea/src/org/zmlx/hg4idea/log/HgLogProvider.java b/plugins/hg4idea/src/org/zmlx/hg4idea/log/HgLogProvider.java index 36b0f8226d4d..5cba891ac3cf 100644 --- a/plugins/hg4idea/src/org/zmlx/hg4idea/log/HgLogProvider.java +++ b/plugins/hg4idea/src/org/zmlx/hg4idea/log/HgLogProvider.java @@ -275,7 +275,17 @@ public class HgLogProvider implements VcsLogProvider { if (filterCollection.getTextFilter() != null) { String textFilter = filterCollection.getTextFilter().getText(); - filterParameters.add(HgHistoryUtil.prepareParameter("keyword", textFilter)); + if (filterCollection.getTextFilter().isRegex()) { + filterParameters.add("-r"); + filterParameters.add("grep(r'" + textFilter + "')"); + } + else if (filterCollection.getTextFilter().matchesCase()) { + filterParameters.add("-r"); + filterParameters.add("grep(r'" + StringUtil.escapeChars(textFilter, UserNameRegex.EXTENDED_REGEX_CHARS) + "')"); + } + else { + filterParameters.add(HgHistoryUtil.prepareParameter("keyword", textFilter)); + } } if (filterCollection.getStructureFilter() != null) {