Skip to content

Commit aa21e4b

Browse files
committed
Add a "raw" mode to the search filters
This allows you to use the GUI with standard git-log based arguments
1 parent 9a99f1d commit aa21e4b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

Classes/Controllers/PBHistorySearchController.m

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ - (void)showSearchRewindPanelReverse:(BOOL)isReversed;
4040
#define kGitXPickaxeSearchLabel NSLocalizedString(@"Commit (pickaxe)", @"Option in Search menu to use the pickaxe search")
4141
#define kGitXRegexSearchLabel NSLocalizedString(@"Commit (pickaxe regex)", @"Option in Search menu to use the pickaxe search with regular expressions")
4242
#define kGitXPathSearchLabel NSLocalizedString(@"File path", @"Option in Search menu to search for file paths in the commit")
43+
#define kGitXRawSearchLabel NSLocalizedString(@"Raw", @"Option in Search menu to search for raw git log options")
4344

4445
@implementation PBHistorySearchController
4546

@@ -244,7 +245,12 @@ - (void)setupSearchMenuTemplate
244245
item = [[NSMenuItem alloc] initWithTitle:kGitXPathSearchLabel action:@selector(selectSearchMode:) keyEquivalent:@""];
245246
[item setTarget:self];
246247
[item setTag:PBHistorySearchModePath];
247-
[searchMenu addItem:item];
248+
[searchMenu addItem:item];
249+
250+
item = [[NSMenuItem alloc] initWithTitle:kGitXRawSearchLabel action:@selector(selectSearchMode:) keyEquivalent:@""];
251+
[item setTarget:self];
252+
[item setTag:PBHistorySearchModeRaw];
253+
[searchMenu addItem:item];
248254

249255
item = [NSMenuItem separatorItem];
250256
[searchMenu addItem:item];
@@ -282,6 +288,7 @@ - (void)updateSearchMenuState
282288
[self updateSearchModeMenuItemWithTag:PBHistorySearchModePickaxe inMenu:searchMenu];
283289
[self updateSearchModeMenuItemWithTag:PBHistorySearchModeRegex inMenu:searchMenu];
284290
[self updateSearchModeMenuItemWithTag:PBHistorySearchModePath inMenu:searchMenu];
291+
[self updateSearchModeMenuItemWithTag:PBHistorySearchModeRaw inMenu:searchMenu];
285292

286293
[[searchField cell] setSearchMenuTemplate:searchMenu];
287294

@@ -305,6 +312,9 @@ - (void)updateSearchPlaceholderString
305312
case PBHistorySearchModePath:
306313
[[searchField cell] setPlaceholderString:kGitXPathSearchLabel];
307314
break;
315+
case PBHistorySearchModeRaw:
316+
[[searchField cell] setPlaceholderString:kGitXRawSearchLabel];
317+
break;
308318
default:
309319
[[searchField cell] setPlaceholderString:kGitXBasicSearchLabel];
310320
break;
@@ -403,6 +413,9 @@ - (void)startBackgroundSearch
403413
[searchArguments addObject:@"--"];
404414
[searchArguments addObjectsFromArray:[searchString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
405415
break;
416+
case PBHistorySearchModeRaw:
417+
[searchArguments addObjectsFromArray:[searchString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
418+
break;
406419
default:
407420
return;
408421
}

Classes/Controllers/PBHistorySearchMode.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ typedef NS_ENUM(NSInteger, PBHistorySearchMode) {
1616
PBHistorySearchModePickaxe,
1717
PBHistorySearchModeRegex,
1818
PBHistorySearchModePath,
19+
PBHistorySearchModeRaw,
1920
PBHistorySearchModeMax // always keep this item last
2021
} ;
2122

0 commit comments

Comments
 (0)