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) {