Previously we would try full path, relative path, and just the name. This was done to determine wether or not the display string should include full path details or be limited to the name. The problem is that an excluding glob may require the full path, and would thus not exclude items that did match when using just the item’s name.
Previously it was only available when doing folder searches, since the items are for folder search behavior and results.
However, with “Find All” in document, we get a similar result list from which we may want to copy matches.
For example the following glob will match C++/Objective-C++ source/header files, except those in the ‘vendor’ directory: *.{cc,mm,h}~vendor/**
It is possible to do multiple exclusions, e.g.: src/**~*.log~*.db
It is also possible to start with the exclude operator to negate the pattern (identical to the ! operator).
The exclude operator is not supported inside brace expansion, e.g.: {*.o,*~.nib} will treat it as a literal tilde. Furthermore, placing the tilde last will also treat it as a literal tilde, e.g.: *.txt~
In the exclude pattern, single/double asterisk (*/**) will match hidden files.
We override undo/redo for the file browser so that ⌘Z / ⇧⌘Z will only undo/redo file browser actions when it’s in the responder chain: b9fafd1495
This had the unfortunate side-effect of eclipsing the undo support of descendent views of the file browser, like the field editor used for renaming items.
I mainly dislike the trailing zeroes because CGFloat used to be a float but 1.0 is a double (1.0f would be a float). So better to under-specify and let the compiler figure out the proper type.
We now have four meta-names: outdated, installed, defaults, and mandatories. These can be used to list or update/install the respective group of bundles.
Ideally we would also return ‘false’ when failing to update an existing source, but not failing when we have a cache is better than failing when there is nothing new to download.
This is only when caret is at a word, when not on a word, we do not respond to the cancelOperation: method. This way, pressing escape in a window where another responder implements cancel:/cancelOperation: (e.g. commit window) the key will be handled by the other responder (and presumably close the window).
While ⌘. already triggers any cancelOperation:/cancel: method found in the responder chain, making it explicit gives visual feedback when user press the key, and ensures that another control doesn’t get the key (by responding to cancelOperation:/cancel:).
The text view itself will still dim the selection, but document tabs, status, and tool bars no longer change colors.
This seems consistent with how Apple’s controls act and is necessary for the status bar since it draws a transparent gradient over the window background, so only its borders got the dimmed look.
This is only meant for when the document reloads content because the file was changed on disk. Long-term though, I think reloading document because of disk changes should be handled at a higher level.
This fixes a regression. The previous commit window allowed a "--log" option to be specified that would pre-populate the text view with the given argument.
Presently the ‘TM_DISPLAYNAME’ is conditionally available, allowing the name to contain the file name which it will work with.
Also fix a potential “out of range” exception. The validateMenuItem: could be called for a cached menu item (e.g. when the system resolves key equivalents) where we had no selection (nor did click any item), so we would access the row at index -1.