Commit Graph

1019 Commits

Author SHA1 Message Date
Allan Odgaard
c4323efbb7 Use path::is_child instead of custom code 2013-02-25 15:25:17 +01:00
Allan Odgaard
6d6c3e4de6 Use path::is_absolute instead of custom code 2013-02-25 15:25:17 +01:00
Allan Odgaard
a3ec258912 Update settings tests to new system 2013-02-25 15:25:17 +01:00
Allan Odgaard
10ebd31ad9 Let SCM tests use same executable as driver
The was previously only done for the svn tests and the code had some flaws, like modifying the PATH environment variable.
2013-02-23 11:24:57 +01:00
Allan Odgaard
b4ee927fdf Expose scm::find_executable (for testing)
This is so that tests can use the exact same executable to create the repository, as is used to obtain status (svn repositories created with newer executables are often not backwards compatible).
2013-02-23 11:24:56 +01:00
Allan Odgaard
b9ebb6068f Remove unused private field
Basically to avoid a clang warning.
2013-02-23 11:24:56 +01:00
Allan Odgaard
b718106ff8 Make semi-internal API private
This was previously public so that we could write tests for it, but since the test runner is linked with the object files, it can access symbols that has visibility set to hidden.
2013-02-23 11:24:56 +01:00
Allan Odgaard
104ed0e325 Treat ‘nil’ as empty string
With bindings, clearing a text field results in its value being set to nil.
2013-02-22 18:15:11 +01:00
Allan Odgaard
ca0c72e0c0 Fix potential retain loop via document SCM callback
If we closed a window with a document SCM callback for the current document, but that document was untitled (so it wouldn’t be cleared during shutdown), we would keep ‘self’ retained.
2013-02-22 17:59:42 +01:00
Allan Odgaard
e033b7031f Avoid non-POD static data in thread
The issue here is that the thread can outlive the data.
2013-02-22 16:07:35 +01:00
Allan Odgaard
cd2b0882f0 Use new test system for a few frameworks 2013-02-22 15:55:28 +01:00
Allan Odgaard
972348687c Make fs-events wrapper thread safe
Previously this wasn’t used from multiple threads, but with the new testing system it can be.
2013-02-22 15:51:51 +01:00
Allan Odgaard
8041b71d98 fixup! Exclude file browser width from new windows’ width 2013-02-22 15:51:03 +01:00
Allan Odgaard
455ecafdb5 Make debug logging thread safe 2013-02-22 15:50:37 +01:00
Allan Odgaard
7c8ad2df66 Show key equivalents in file browser action menu
Also change New Document → New File. Such title makes more sense when shown in the main menu.
2013-02-21 22:36:23 +01:00
Allan Odgaard
e974f165a2 Add newFolder: forwarding to document controller 2013-02-21 22:08:52 +01:00
Allan Odgaard
5e24b8554c Remove ‘InSelectedFolder’ suffix from action method
This makes it more suitable as action for a menu item in the File menu.
2013-02-21 22:00:15 +01:00
Allan Odgaard
1f0a558adc Add performCloseAllTabs: action method
Closes #808.
2013-02-21 21:58:32 +01:00
Allan Odgaard
2190b14ee2 Disable swipes if not at min/max X 2013-02-21 21:46:58 +01:00
Allan Odgaard
cbb0a7864d Drop ‘ng’ namespace for scm 2013-02-21 17:39:55 +01:00
Allan Odgaard
af4f1e16a1 Remove old SCM API 2013-02-21 17:01:24 +01:00
Allan Odgaard
c3e9fafb2d Include scm.h instead of scm_ng.h
Since scm.h includes scm_ng.h this is effectively the same.
2013-02-21 16:58:22 +01:00
Allan Odgaard
3f4f09dcd8 Update SCM tests to new API
This is both the new test system and the new (non-blocking) SCM API.
2013-02-21 16:54:00 +01:00
Allan Odgaard
15f922a148 Let to_s(fs::snapshot_t) return std::string
Previously it would dump the datatype to stderr.
2013-02-21 16:52:22 +01:00
Allan Odgaard
8e0e35bf3b Add API to wait for SCM status
This is only meant for tests where we wish to block execution until SCM status has been collected.
2013-02-21 16:43:43 +01:00
Allan Odgaard
e2ee734fd6 SCM background workers enabled by default
Normally we enable these on application launch when we receive an ‘application did become active’ notification, for tests though, this notification is lacking, but we do want it enabled for tests, and while we could do a constructor in the tests to enable it, it seems better to just enable it by default.

One issue is that if TextMate is launched “in the background” then it will still do SCM status gathering. Though long-term I may actually want to always have it enabled, even when TextMate is not active.
2013-02-21 16:39:26 +01:00
Allan Odgaard
acd3bdf234 Convert leading em-spaces in symbol menu to item indent
By using the menu item’s indentation level property it is possible to “type to select” items, which previously would not work for items that had leading em-space as a prefix.

Closes #806.
2013-02-20 18:08:24 +01:00
Allan Odgaard
7a45f6949a Don’t use NSFileManager to trash symlinks
NSFileManager will resolve the link and move the original file to trash, which is generally not desired (or expected).
2013-02-20 13:04:20 +01:00
Allan Odgaard
a7c33be67e Remove cf::color_t
This wrapper is no longer used.
2013-02-20 12:54:52 +01:00
Allan Odgaard
4bae908d49 Move CGColorRef helper functions
These only have one user, so let’s make them private helper functions instead.
2013-02-20 12:54:26 +01:00
Allan Odgaard
0d8ccd17f0 Exclude file browser width from new windows’ width
Closes #679.
2013-02-19 22:08:13 +01:00
Allan Odgaard
0bf5a85a1c Resize window when toggling file browser
If you dislike this it can be disabled using:

    defaults write com.macromates.TextMate.preview disableFileBrowserWindowResize -bool YES
2013-02-19 21:13:53 +01:00
Michael Sheets
40f728ff8f Correct height of header when tabs above document is enabled
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.
2013-02-18 20:46:55 -06:00
Allan Odgaard
6c48d1d9d7 Always set variable for commands with requirements
Previously we would only set the variable if the command couldn’t be found via PATH. By always setting the variable, we remove redundancy from commands, as they can now rely on the variable instead of needing fallback code (to load via PATH).

The downside is that there are cases where a command may wish to know if the user explicitly set the variable, for example the Run command for Python will ignore the script’s shebang if the user explicitly set TM_PYTHON. As this command doesn’t use the requirement system, it’s not an actual problem. Should it want to specify the requirement, it can do so by using a variable like TM_PYTHON_AUTO and then in the locations array, set TM_PYTHON, this would allow the command to test if TM_PYTHON is set and if not, still have ‘python’ available via the TM_PYTHON_AUTO variable — although, should python not be found, the error dialog will tell the user to set TM_PYTHON_AUTO.

Issue #767
2013-02-18 21:55:59 +01:00
Allan Odgaard
06b60dc04e Show colorSpaceName entry in bundle editor
Also add this to the template for new themes (set to sRGB) and a default semantic class.
2013-02-18 15:38:27 +01:00
Allan Odgaard
d70ccc7cdf Allow theme colors to use the sRGB color profile
This is enabled by adding the following to your theme:

    colorSpaceName = sRGB;

The default color space used for themes is “Apple Generic RGB” which is a bad choice for interoperability with other software (e.g. exporting a theme to CSS, creating theme colors in Photoshop, and similar).

Related to issue #768.
2013-02-18 15:38:27 +01:00
Allan Odgaard
08534e737f Change gutter colors to CGColorRef 2013-02-18 15:38:27 +01:00
Allan Odgaard
77f53c3e3e Use a const reference for gutter colors 2013-02-18 15:38:27 +01:00
Allan Odgaard
75f3a0bfa2 Add cf::to_s for CGColorRef 2013-02-18 15:38:27 +01:00
Allan Odgaard
deeff330ee Change cf::color_t → CGColorRef
This change is required to introduce support for different color profiles.
2013-02-18 15:38:27 +01:00
Allan Odgaard
461756bc09 Avoid typecasts 2013-02-18 15:38:27 +01:00
Allan Odgaard
274a658f6f Make encoding “hex view” wider
Since switching to Menlo the lines were being wrapped.
2013-02-18 15:38:26 +01:00
Allan Odgaard
d2035f1a79 Remove commented code 2013-02-18 15:38:26 +01:00
Allan Odgaard
248c9efd03 Use CGColorRef instead of cf::color_t
This is mainly to encapsulate cf::color_t creation in the theme framework, though this code change is at worst a run-time optimization.
2013-02-18 15:38:26 +01:00
Allan Odgaard
22b00f2848 Remove unused ‘textColor’ parameter 2013-02-18 15:38:26 +01:00
Allan Odgaard
01f39b77a6 HTML view status bar divider now match the others 2013-02-18 15:38:26 +01:00
Allan Odgaard
c26a61a749 Remove “grammar changed” callback
This would cause a crash if grammar changed on disk for a document which was closed but not disposed.
2013-02-18 15:38:26 +01:00
Allan Odgaard
63beedc6f4 Handle ⌥⌘⇠ / ⌥⌘⇢ in main menu subclass
This means they work (as alternatives for ⌘[ / ⌘]) in all windows with tabs.

We now also trigger menu-flashing for when pressing the keys.
2013-02-18 15:38:26 +01:00
Allan Odgaard
f0523c3b43 Only update Go To Tab on ⌘1-n
It’s expensive to update this menu since we use (uncached) file icons. Always updating it had a noticeable performance effect on caret movement.
2013-02-18 15:38:26 +01:00
Allan Odgaard
72e54020e6 Add menu validation for Select Next / Previous Tab 2013-02-18 15:38:25 +01:00