Commit Graph

1570 Commits

Author SHA1 Message Date
Allan Odgaard
f02a68893d Don’t pass base environment to bundle_variables 2013-05-12 11:09:16 +07:00
Allan Odgaard
58cfa20a1b Add operator<< for std::map
This is to allow chaining inserts and to avoid temporary variables when inserting maps returned from functions.
2013-05-12 11:09:16 +07:00
Allan Odgaard
92192341d4 Let OakTextView pass an environment to document::run()
We no longer pass the bundle item by const-reference because it is now used (delayed) in a block and const-references are not captured by blocks (i.e. the lifespan is not extended).
2013-05-12 11:09:16 +07:00
Allan Odgaard
a6cf964e9f Remove callback support from document::run 2013-05-12 11:09:16 +07:00
Allan Odgaard
421a46d116 Rework setup/execution of drop commands
We now collect all variables (and working directory) prior to calling document::run() to remove the need for a callback.
2013-05-12 11:09:16 +07:00
Allan Odgaard
964b56898f Consult text view delegate when setting up variables
The delegate provides file browser variables.
2013-05-12 11:09:16 +07:00
Allan Odgaard
ccf2414768 Add pwd argument to command runner
Previously this was only possible to change by setting PWD in the passed-in environment.
2013-05-12 11:09:15 +07:00
Allan Odgaard
b66e58c4f8 Disambiguate function name 2013-05-12 11:09:15 +07:00
Allan Odgaard
7f4649ba32 Factor out deprecated variable collecting 2013-05-12 11:09:15 +07:00
Allan Odgaard
428739352c Obtain variables and scope context via ‘self’
This is instead of direct instance variable access.
2013-05-12 11:09:15 +07:00
Allan Odgaard
88ae04572c Handle “did-save” bundle item callback in OakTextView
While it’s easier to execute bundle items from a text view, it doesn’t work when saving documents that are not in the current text view.

This is an intermediate refactoring step — handling should (likely) end up in the DocumentSaveHelper class, but we need to improve dealing with command execution first, and by having the callback piggyback on the normal performBundleItem: method, we (temporarily) limit the code which use the command execution API, making refactoring easier.
2013-05-09 15:16:33 +07:00
Allan Odgaard
0fd03842b7 Move bundle requirement checking to bundles framework
This also generalizes it to being applicable to all bundle items (not just commands).
2013-05-09 15:16:33 +07:00
Allan Odgaard
4c24bd9c00 Avoid ref to static data when returning non-POD from Objective-C
Apparently clang (now?) support transferring non-POD types from and to Objective-C++ methods, eliminating the need for doing this by passing a (const) reference.
2013-05-09 15:16:33 +07:00
Allan Odgaard
5fd188531a Change naming of functions for obtaining variables
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.
2013-05-09 15:16:32 +07:00
Allan Odgaard
e49504a644 Remove unused member data 2013-05-06 14:51:32 +07:00
Allan Odgaard
135c6c79b7 Remove redundant instance variable 2013-05-06 14:51:31 +07:00
Allan Odgaard
b489687403 Disable AuthorizationExecuteWithPrivileges deprecation warning
The “proper” replacement for this API is to use the ServiceManagement framework’s SMJobBless() to bless our helper tool. In two of the three use-cases our helper tool is however regular shell commands, so it seems redundant to wrap these shell tools as helper tools we can install as launchd jobs.
2013-05-06 14:51:31 +07:00
Allan Odgaard
4188c486fb Ensure height of find/replace fields are >= 22 points
Fixes #972.
2013-05-06 14:51:31 +07:00
Allan Odgaard
7796e18e59 Limit exposed stuff in OTV headers 2013-05-03 14:41:52 +07:00
Allan Odgaard
f68a1cd280 Fix non-working link arrows in bundle item chooser
Since we released sender (via aliased pointer) before querying it, we would fail to obtain the item clicked.
2013-05-02 16:38:56 +07:00
Allan Odgaard
6e4b305587 fixup! Cleanup a failed GitHub upload 2013-05-02 16:13:33 +07:00
Allan Odgaard
799ebd12e4 Checkin release notes v2.0-alpha.9419 2013-05-02 15:11:03 +07:00
Allan Odgaard
5f1cdb947a Clicking link arrows should not select rows 2013-05-02 15:07:10 +07:00
Allan Odgaard
ded37a128c Add link arrows to Preferences → Bundles
This takes the user to the bundle’s home (generally a GitHub page) which should make it easier to clone the source repository or report issues via the bundle’s issue tracker.
2013-05-02 15:07:10 +07:00
Allan Odgaard
13af5d8604 Make click-sorting non-content columns a no-op 2013-05-02 15:07:10 +07:00
Joachim Mårtensson
35227b48ea Injected rules rank higher if they match against the left scope
This allows overriding “native” rules via injecting.

This commit drops support for using ‘.’ as (injection) scope selector to match everywhere. Instead use ‘*’.
2013-05-02 15:07:10 +07:00
Allan Odgaard
715624b952 Handle failure to create folding dots image
Based on crash reports this appears to happen for some users, though only reason I can imagine is if the images are not found in the application bundle (which would happen if the application is moved after launch, but that normally cause many things to fail).
2013-04-28 11:46:35 +07:00
Allan Odgaard
acaff3e352 Add expiration date to TextMate
The user will get daily reminders when the application is more than a month old, and it will stop working when it’s two months old.

Normally not a fan of expiring software but a significant amount of the requests sent to api.textmate.org (posting crash reports, updating bundles) are from versions more than a month old. Adding to that, the expiration date serves as a fallback for potentially broken software update checking.
2013-04-28 11:46:35 +07:00
Allan Odgaard
e1ff0ceaff Move already open find/HTML windows to active space
This is only when invoking the “order front” action and the window is already showing on another space.
2013-04-28 11:46:35 +07:00
Allan Odgaard
fda19c565d Only clear find status string for non-folder search
I find myself often closing folder search results and later re-opening (via ⇧⌘F) which would previously have the status string cleared, yet the results still showing.

Status should probably be stored together with the folder search results, so when toggling between document and folder search, the status string would follow as well.
2013-04-28 11:46:35 +07:00
AJ Acevedo
1df2eb42c8 Corrected some Help typos 2013-04-28 00:34:12 -04:00
Allan Odgaard
28306cb048 Disable “smart tab” for discontinuous/column selections 2013-04-27 13:21:32 +07:00
Allan Odgaard
6f8d82f507 Change Replace All and Full Screen key bindings
Apple uses ⌃⌘F for toggling full screen mode and explicitly mentions this key in the 10.7 release notes. It therefore makes sense to switch to this key, also see issue #860.

Previously ⌃⌘F was Replace All. This has been moved to ⌃⌘G and Replace All in Selection is ⌃⇧⌘G. This binds all the (3) replace actions to modifier + ⌘G.
2013-04-26 21:12:07 +07:00
Allan Odgaard
d7e54f88ea Use trackSwipeEventWithOptions:… for swipe gestures 2013-04-26 20:45:52 +07:00
Allan Odgaard
90ba9c15ea Checkin release notes v2.0-alpha.9417 2013-04-25 19:06:56 +07:00
Allan Odgaard
bcc3e4c1fb Fix refresh/undo for commands causing document saving
Since saving is asynchronous the scoped refresh/undo helper would do “cleanup” before the command ran and potentially made document changes.

Commands executed at a lower level (i.e. by editor_t via macros) presently still has this issue. This should be fixed when macros are refactored (this isn’t the only issue related to macros).

Closes #450.
2013-04-25 16:38:33 +07:00
Allan Odgaard
29aa65d5d9 Use blocks for document save callback 2013-04-25 15:33:32 +07:00
Allan Odgaard
f81292aa51 Only disable font smoothing on high-DPI displays
The fontSmoothing defaults key can now be set to:

 0: Always disabled
 1: Always enabled
 2: Disabled for dark themes
 3: Disabled for dark themes on high-DPI displays (default)

/cc issue #958.
2013-04-24 21:54:27 +07:00
Allan Odgaard
508c29e2bf Checkin release notes v2.0-alpha.9415 2013-04-23 19:07:43 +07:00
Allan Odgaard
9083ca8206 Close bundle install sheet on error
Previously incase of error the sheet would keep showing effectively locking up the document window.

This is related to issue #85 although the reason why installing bundles fails for some users is still unanswered.
2013-04-23 18:57:25 +07:00
Allan Odgaard
cdb75619ca Add completion callback to installBundle: 2013-04-23 18:52:08 +07:00
Allan Odgaard
93a1c37e47 Restore field editor’s value after reloading file browser
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).
2013-04-23 14:38:18 +07:00
Allan Odgaard
fe400c1487 Disable font smoothing for dark themes
If you wish to always have font smoothing enabled you can run:

    defaults write com.macromates.TextMate.preview fontSmoothing 1

Setting the value to 0 causes it to always be disabled and deleting the key (or setting it to 2) has it disabled only for dark themes.
2013-04-21 19:17:06 +07:00
Allan Odgaard
ced23336de Harmonize a few properties
This is just implementation detail.
2013-04-21 19:15:05 +07:00
Allan Odgaard
974e263588 Remove instance data from OakTextView.h 2013-04-21 19:15:05 +07:00
Allan Odgaard
8fc7567e2e Use new focus ring API (10.7) 2013-04-21 18:27:25 +07:00
Allan Odgaard
97c9a20f6e Use localizedStandardCompare:
This is instead of our custom displayNameCompare: which has now been removed.
2013-04-21 12:20:07 +07:00
Allan Odgaard
49235210ca Use NSNumberFormatter class method
Once we drop 10.7 support we can avoid NSNumberFormatter entirely by using ‘localizedStringWithFormat:’ with ‘%lu’.
2013-04-21 12:20:07 +07:00
Allan Odgaard
0e290fd599 Use NSHost to obtain computer’s name 2013-04-21 12:20:07 +07:00
Sergey Chikuyonok
72dd8e2047 Extended OakTextView API
Added `scopeAsString` method to retrieve current scope as NSString
2013-04-21 12:20:07 +07:00