Previously each file browser would have its own array of expanded items, read from user defaults, and written back during application termination.
This meant that the last file browser to write its array, would eclipse the other file browsers.
Now we have all but the first file browser append its list of expanded items. Additionally each file browser will only append items which are actually visible.
Fixes#873.
If the user does a folder search then ⌘G will step through all the matches, opening documents as required. Previously the user would have to do a new search, using a different search string, to stop ⌘G from moving to a new document. It is now possible to stop the behavior using ⌘F followed by ↩.
The reachability API does a DNS lookup on the literal string and prior to this commit, could stall for as long as it takes to lookup a non-existing host name via DNS.
Set this to ‘true’ if you want the file chooser (⌘T) to follow symbolic links.
The reason for making it a ‘.tm_properties’ setting is only because I am not yet sure how to best integrate this into the UI. The find dialog has an identical UI option which is global option — it would make sense to coalesce these two options, and while doing that, make the find dialog’s version a project/path setting rather than have it be global.
Closes#984.
The implementation is presently geared toward only setting various activation strings, as unsetting e.g. a key equivalent won’t restore a potential (previously set) tab trigger etc.
This is the action method sent by the Edit → Find → Find All (⌥⌘F) menu item, and is now treated as an alias to the existing findAll: action method (that the Find All button in the find dialog sends).
The creator code is obsolete and doesn’t serve much of a purpose, as we already mention TextMate in the service name.
When updating a keychain item we leave out kSecAttrLabel and kSecAttrComment, which may fix issue #1029.
The bundle item is causing ⌘Q to act subtlety different (issue #1031) but as we still see a lot of users on old versions, the item is still valuable to keep around.
The user may use ⇧⌘F either to bring existing results to front, or to start a new folder search for a potential different project.
If the dialog is not visible, we always initialize it fully. If already visible, we previously would not setup search folder since the current search folder might have been manually set by the user, which we do not want to overwrite.
Previously this would be selected if the user had a multi-line selection and was pressing ⌘F. The old behavior can be restored using:
defaults write findInSelectionByDefault -bool YES
The new (non-deprecated) API no longer allows us to target a specific keychain for add, remove, and lookup.
This wasn’t used by TextMate itself but was extremely useful for writing tests against the API (using temporary keychains).
Untitled documents have no path, so we were creating a dictionary with a nil object. The path isn’t actually used (we go via the identifier) so removing the potential path from the dictionary avoids the problem.
In commit 03aea09148 we switched to properties for the mapped instance variables which meant they all got an underscore prefix and wasn’t seen from JavaScript.
This is work in progress, the reason why the situation arise has not yet been found and there are likely other ways in which the index can be wrong/stale (based on user reports like issue #998).
We now convert the output to a hex-dump incase it is not valid UTF-8. Ideally we would present the user with a dialog, but for now a hex-dump will do and prevents a potential crash.
This will apply to all items in the bundle so it’s questionable if it’s something we want to use, as it would not allow the user to run a “Help” command from the bundle without first setting up the requirements. OTOH setting requiredCommands for all but a few items in e.g. the Git bundle seems redundant — perhaps items should be able to eclipse keys from the bundle’s info.plist to effectively unset the requiredCommands for a select few items.
The variable provided was ignored meaning that it would only work correctly if the executable was found via PATH, and if it wasn’t found, the error message would display a bogus character as the variable that the user should set.
We also add a time suffix to the old version so that if we fail to remove it, the user will not get (another) error when retrying the update.
Presumably fixes#991.