Commit Graph

53 Commits

Author SHA1 Message Date
Allan Odgaard
60388c325c Add preliminary bundle install support. 2012-12-20 18:53:53 +01:00
Allan Odgaard
05357539d0 fixup! Rename method: scope → scopeContext
Missed one case causing “Current Scope” in bundle item chooser to not have any effect.
2012-12-19 19:42:34 +01:00
Allan Odgaard
92c77ece36 Change long → int32_t for 68K struct
When building as 64 bit the ‘long’ type is 8 bytes which broke the “jump to selection” part of the ODBEditor protocol support (issue #499).
2012-12-16 21:27:06 +01:00
Robert Hencke
1ebe9d9373 Fix typo in comment (NSMneu → NSMenu) 2012-10-24 20:48:59 +07:00
Allan Odgaard
e1b3f71a69 Let about window show license (if any)
There is currently no way to add a TextMate (1.x) license to the key chain, but those who used TextMate r9147 or earlier should have one stored already.
2012-09-30 23:06:57 +02:00
Allan Odgaard
e97efb3f67 Use dispatch queues for signal actions 2012-09-30 15:25:44 +02:00
Allan Odgaard
456374342a Remove use of openssl constants 2012-09-30 15:25:44 +02:00
Allan Odgaard
ffbcd192ef Fix ⌘1-⌘n for about window
We have to go via OakSubmenuController because the menu item may not exist. The reason for this is related to not having old menu items exist after a delegate has disappeared, though it might be possible to improve.
2012-09-29 00:46:26 +02:00
Allan Odgaard
7af2a71de0 Conditionally show release notes during startup 2012-09-29 00:39:14 +02:00
Allan Odgaard
fcfec66214 Hookup About TextMate to about window 2012-09-29 00:39:14 +02:00
Rasmus Abrahamsen
eb248eb579 Combine about, changes, and credits window
This includes bundle changes.
2012-09-29 00:39:14 +02:00
Allan Odgaard
a29479bca7 Remove Credits / License menu item 2012-09-29 00:21:53 +02:00
Allan Odgaard
a0c4af64bd Remove trailing whitespace
Only removed from non-empty lines.
2012-09-25 14:16:50 +02:00
Allan Odgaard
983bce86aa Use @autoreleasepool blocks 2012-09-25 12:30:12 +02:00
Allan Odgaard
b5c8e3e247 Recent menu ignores files opened via mate
You can still create an alias for ‘mate’ that calls ‘mate --recent’.

The motivation for this change is that stuff you open via mate is generally SCM commit messages, the cron tab, included files (opened from within TextMate via bundle commands), and other such things. Additionally I think that if you open files via ‘mate’ you would just repeat the line in your shell, though I know not all users feel this way.

Folders opened via mate does go into the recent menu.
2012-09-21 16:23:35 +02:00
Allan Odgaard
8fd7b82cbd Remove CocoaSTL.h include 2012-09-20 12:22:20 +02:00
Allan Odgaard
848d197f7a Use DocumentController over document_t 2012-09-18 17:33:01 +02:00
Allan Odgaard
c26e5c2d36 Scope attributes are now given to editor_t
While presently it works the same, it allows us to provide better scope attributes e.g. for untitled documents (which lack SCM attributes).
2012-09-18 17:33:01 +02:00
Allan Odgaard
b49e35ab6a Harmonize “perform bundle item” method naming
We now have:

 - performBundleItem:
 - performBundleItemWithUUIDString:
 - performBundleItemWithUUIDStringFrom:

I’m leaning toward changing the prefix, as ‘perform’ is mainly action methods invoked as a direct response to some user action (with that action part of the name), but haven’t found a better prefix yet.
2012-09-10 22:47:58 +02:00
Allan Odgaard
b2acb02a7f Use std::function with cf::callback_t 2012-09-09 16:22:19 +02:00
Allan Odgaard
8f5ddc672f Move bundles pop-up menu to BundleMenu library 2012-09-06 23:10:56 +02:00
Allan Odgaard
cf5e9f1530 Leave autoenablesItems at its default value 2012-09-06 23:10:56 +02:00
Allan Odgaard
f57d35362e Rename method: scope → scopeContext
This is to avoid a clash as there is also another method called scope (WebKit / DOM).
2012-09-06 23:10:56 +02:00
Allan Odgaard
73d586c2ba Use helper for bundle item’s key equivalent
This is to allow a bundle item to display another key than the one assigned to the item, e.g. when the bundle item is matched by a proxy item it should show that item’s key equivalent.
2012-09-06 23:10:56 +02:00
Allan Odgaard
81de007bd4 Use new API for better bundle item display names 2012-09-04 20:34:54 +02:00
Allan Odgaard
c61977ea57 Use outlet for bundles menu item
This way we don’t rely on the menu item title (which could be localized).
2012-09-04 19:22:52 +02:00
Allan Odgaard
049611064d Handle bundle item keys in OakMainMenu
This is an attempt of simplifying the arcane key equivalent handling.
2012-09-04 19:22:52 +02:00
Allan Odgaard
18175e455a Position filter lists relative to parent window
I am not sure if this is desired for the Go to Symbol as some people prefer to keep this open at all time.
2012-09-04 19:22:51 +02:00
Allan Odgaard
8b65acf393 Reverse menu search order
This is specifically to find the actions bound to modifier + [, {, }, and ] before finding the actions bound to modifier + numbers, since on some keyboards, modifier + number results in one of the brace characters.

This should address issue #374 (although this isn’t a fix per se for the underlying problem of having some key maps result in duplicate keys in the menus).
2012-09-03 22:00:23 +02:00
Allan Odgaard
b2bb89c150 Disable main menu’s key equivalent handling
This is done by overloading performKeyEquivalent: for the main menu (by setting it to OakMainMenu in MainMenu.xib).

The default implementation of performKeyEquivalent: does not know about scope selectors so it will sometimes call the wrong actions. For example a bundle overloading ⌘X for “-dyn.selection” may still see the item fire with a selection.

This wasn’t a problem previously, as we set the key equivalents via (deprecated) Carbon API (so presumably Cocoa didn’t know about the keys).

This is a preliminary implementation, I just want it out there to have it tested for edge-cases. Long-term we can probably remove the overload of performKeyEquivalent: on OakTextView, which sort of does similar (stops Cocoa from executing the wrong menu actions or interfering with multi-stroke key bindings).
2012-09-01 14:17:47 +02:00
Allan Odgaard
73ff758a52 Coerce keyFileCustomPath to UTF-8
The text encoding (or even field type) can be practically anything, so we need to either handle everything or coerce to UTF-8.

This is a quick fix for an issue with QuickCursor, a more thorough review of encoding used with AppleEvents is to follow.
2012-08-31 14:58:26 +02:00
Allan Odgaard
0e96a04d76 Remove compatibility checks
Since we now require 10.7 we don’t need all of this. Keeping it around is just noise that can lead to confusion about code paths.
2012-08-29 16:02:29 +02:00
Jacob Bandes-Storch
34d65bbb26 Use 64-bit: alignment pragma change 2012-08-28 21:32:46 +02:00
Jacob Bandes-Storch
9584afba16 Use 64-bit: replace SELNAME with sel_getName 2012-08-28 21:32:46 +02:00
Jacob Bandes-Storch
e3aa997b06 Use libc++: replace std::tr1 with std 2012-08-28 13:30:20 +02:00
Jacob Bandes-Storch
6aeb27f02f Use Cocoa instead of Carbon for popup menus 2012-08-27 01:03:16 +02:00
Jacob Bandes-Storch
1aec57762c Bring back the dock menu 2012-08-27 01:03:16 +02:00
Allan Odgaard
92b3c9e2c5 Remove hardcoded paths from settings_t
Mainly this is because when we run tests, we do not want global or default settings from TextMate, so now TextMate.app explicitly sets the path to the default and global settings (unlike when running tests).
2012-08-26 01:26:16 +02:00
Allan Odgaard
3415d775c5 Use symbolic name for FD_CLOEXEC
Unsure why I was using ‘1’ — perhaps the symbolic name was missing in the older SDK.
2012-08-24 16:52:45 +02:00
Allan Odgaard
d38308f6c8 Move ‘mate’ socket (back) to /tmp
We moved it to TMPDIR so that multiple instances of TextMate could run (for different users) but have since gotten a lot of reports about problems with this location. The short version is that ‘ls’ shows the socket exists (in TMPDIR), but stat’ing it or similar will fail.

To still allow different users to use mate side-by-side we add the user ID to the socket name.

Hopefully this closes issue #183.
2012-08-21 21:54:18 +02:00
Allan Odgaard
53bcc664b3 Update installed mate if required 2012-08-21 21:23:41 +02:00
Allan Odgaard
c7f267cd12 Show error if failing to unlink old socket
This is in response to issue #183.
2012-08-18 15:30:24 +02:00
Allan Odgaard
fee36aaec9 Favorites prefixed with ‘[DIR]’ show folders within
For example if you have all your projects under ~/Projects then you can do:

    mkdir -p ~/Library/Application\ Support/TextMate/Favorites
    cd ~/Library/Application\ Support/TextMate/Favorites
    ln -s ~/Projects "[DIR] My Projects"

This will then have all the folders inside ~/Projects show when you choose Open Favorites… (⇧⌘O).

Long-term it might be useful to store actual property lists in the favorites folder, akin to smart folders (i.e. describe a query for what to show) and/or allow descending into the folders shown in the ⇧⌘O window.
2012-08-18 15:30:23 +02:00
Allan Odgaard
d1a31f6bff Test if bind or listen fails
This is motivated by issue #165 where someone reports the named socket does not exist.
2012-08-15 20:48:36 +02:00
Allan Odgaard
ea88c5a713 Handle txmt: URLs without a file argument 2012-08-14 18:43:37 +02:00
Allan Odgaard
e5c2daa05a Revert "Use current document when no URL given in txmt URL"
Pending improved implementation which also handle the case where frontmost document is untitled.

This reverts commit 2beac7080b.
2012-08-14 18:43:37 +02:00
Allan Odgaard
6c35a3314a Fix leaking bundle menu delegates 2012-08-13 00:39:10 +02:00
Elia Schito
b0018c2099 Extract Bundle menu to a framework 2012-08-12 23:56:19 +02:00
jtbandes
0112532e64 Stop using deprecated NSSavePanel/NSOpenPanel methods 2012-08-12 12:59:43 +02:00
Allan Odgaard
5d0682d317 Use user-specific temp directory for mate’s socket
We have TextMate create a named socket that ‘mate’ can use to contact the main application. Previously it was hardcoded to ‘/tmp/avian.sock’ which is bad on a multi-user system.

Placing it in the user’s temporary directory should ensure it doesn’t clash, yet still give us a predictable path (for mate to use).

Presently we maintain the old socket path as a link to the new location so that old versions of mate will still work.
2012-08-11 21:01:40 +02:00