Without the ‘.png’ extension we would match the ‘Header Icons’ folder, and (recursively) copy that to our target, so the contents of the folder would exist in two places in the target (with and without the folder).
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.
Generally we should always provide a base environment, since the scoped variables are format strings. The filtering scope selector is however optional, and we do not have one when executing commands outside an fi;e/editor context.
Only the file browser and the ‘path_variables’ function (used for filters) made use of this method to set the working directory. Previously drop commands also used it, which is probably the only time we really need to set a working directory, as we provide the command with a relative file path.
We return a variables map instead of updating a map passed in by reference. The previous API was mainly done because we couldn’t previously return non-POD from Objective-C methods. Returning a map with variables makes the API more exact, e.g. how to handle existing entries is no longer an issue (that is, the caller will have to chose the appropriate duplicate strategy).
These are now all prefixed with what they are obtaining variables for (scope, document, bundle, …) which makes it easier to analyze/refactor the code.
Also change document_t’s settings function to document_settings.
If user was creating a new file or folder and immediately started to type in the field editor, his changes were lost during reload (which would likely happen when updating SCM badge for the newly created item).
Reload was suppressed because there is no good way to reload a table view when the field editor contains uncommitted changes. I decided it’s probably better to lose these changes than show stale content, as for example the change might remove the item being edited, as would be the case when undoing New Document or New Folder.
Closes#886.
Make available to accessibility the following information that file
browser displays visual indication for:
* file type (whether the file is a file, folder etc.)
* SCM status (whether the file is modified etc.)
* close button (whether the file is open)
Also, while we are at it, make available to accessibility the
tooltip, filename and URL.
For example a symbolic link like ~/.config (pointing to a folder) would previously get the custom icon for config files. Now it gets a folder icon (with a link badge).
We now clear the “hidden extension” flag if the user manually adds it.
We also ensure the hidden extension is not ignored by comparing base name with display name. The flag is ignored under certain circumstances.
Comparing base name with display name alone may give a false positive for localized file names.
The menu contains two (non-selectable) “actions”. If we use a pop-up, we have to change the selection after the user select one of these actions, which isn’t the case with a pull-down menu.
Previously this appeared correct because once you clicked the minimum height of the pop-up menu set it to the correct height. Corrects an issue noted by @fatiotus in #728.
This is important when we wish to select or edit the URL (in the file browser) as URLs with different values for this flag will not compare as equal, and URL objects created before there is a file on disk will always have this flag set to NO.
Since we retained the SCM info in an asynchronous block, we would potentially extend the lifetime of the SCM info and thus the associated callback, so the callback could be invoked after its owner had been disposed.
This create a new file on disk and brings up the “rename” text field.
You can control the type/extension either in Preferences → New document type or by setting it in .tm_properties, e.g.:
[ attr.untitled ]
fileType = 'source.objc++'
New Document can be undone, but it is handled by deleting the file on disk and losing potential edits you have made since creating it.
Closes#161.
I am not sure what Apple’s thinking is here. We have swipeWithEvent: which worked on 10.7 but seems to no longer work, yet there is a global preference for configuring a swipe gesture and Safari supports that config option, but it appears other apps have to role their own implementation.
This allows us to use the same key for more than just directories. The notification name itself should indicate if the ‘path’ refers only to directories or files.