This is both convenience, since we setup the TM_SCM variables in several places, but will also allow to register for changed variables (and thus, fetch branch name in a thread).
The file browser was still observing FSItemDidReloadNotification in its dealloc. Prior to ARC we used ‘self.outlineView = nil’ which removed us as observer, but after ARC we no longer execute that line.
Presently the ‘@symbol’ syntax is not implemented.
I have removed the glob text field (so fixes#601), if it comes back, it’ll likely be as a different control, but I think we can do without this extra filtering. You can set the various include/exclude patterns for the file browser.
The tabs are also gone, though you can still use Go → Go to Tab → [ Project Folder (⌘1) | Go → Open Documents (⌘2) ] and the “Open Documents” mode list all open documents from the current project window (so partial fix for #139).
It no longer waits for all items to be loaded when you hit return (fixes#672), though as all open documents from current window are preloaded, it shouldn’t cause a problem when pressing ⌘T + ↩ quickly to go to previous file.
The problem with this feature is that it includes all untitled documents including e.g. the current bundle item being edited. For things like ⌘T we only want to show untitled documents from the current window.
This is an attempt of satisfying issue #677 — not entirely sure what was intended by opening that issue (given that nothing is presently broken and I surely will figure out another place to upload the builds once GitHub’s service is shut down completely).
Issues remaining:
* VoiceOver for some reason cannot track keyboard focus
(i.e. moving down the list with just down arrow does not move
VoiceOver cursor). User has to move the VO cursor instead using VO-down
(and keyboard cursor follows in this case)
* the pasteboard window isn't focused automatically for VoiceOver, user
has to switch manually to it using VO-F2-F2
When you control-click the empty part of the file browser and select “Show in Finder” a Finder window will open showing the currently selected folder.
You can go about this other ways, but I find that this feature complements the already existing "New Folder" menu item in the no-items-selected context menu of the file browser.
This patch is public domain.
This is only if there are no other documents with unsaved changes and the user has ‘open documents from last session’ enabled in preferences.
The rationale behind only offering it for untitled documents is that we can be sure that these will not be modified by another program while TextMate is not running. It also seems to be less valuable to have TextMate keep unsaved changes to a file that exist on disk, in fact, it’s a pretty bad behavior IMHO (and dangerous if other programs may work on the file).
This will reset the document’s backup path but not delete the backup on disk (which can be found via the document’s identifier).
This is useful if we wish to dispose the document but reconstruct it later (e.g. during application termination).
These were set to ‘NSLayoutPriorityRequired-1’ which is higher than the window’s size constraints, meaning that resizing the window would not allow shrinking the file browser (or HTML output) views, furthermore, by making the views larger (when dragging the divider) the growth would not be constrained by the current window size, so it was possible to make the window grow with it.
The priority is now the proper NSLayoutPriorityDragThatCannotResizeWindow.
This is more than creating a glob_list_t containing just ‘*’, as the latter does not match hidden files, so it is more like ‘{*,.*}’, which is a bit arcane, so I think it’s better to allow using an empty list in cases where you wish to match everything (but the API accepts a glob list for filtering purposes).
Previously it was C++ — not sure if a setting like this belongs in the project or should be user-specific. Presently though the .tm_properties system lack a way to include user specific files, and while one can put the settings in ~/.tm_properties and make them target a (project) sub-folder, they would not override the settings set in the project.