Commit Graph

117 Commits

Author SHA1 Message Date
Kevin Sawicki
e952a68c96 Support setting working directory of child process 2013-02-11 14:53:53 -08:00
Nathan Sobo
f22fedebcf Inject new instances of native objects into every JS context
This prevents concurrent access to the same state from different
worker threads. We needed to treat windowState specially because we
explicitly want it to last beyond the life-span of a single context.
So we store it as a static variable in `native.mm` and synchronize
access with a static `NSLock`. Good enough for now.
2013-01-24 17:22:50 -08:00
Corey Johnson & Nathan Sobo
9bff6f63df Delete lines that never should have been there 2013-01-24 17:22:50 -08:00
Corey Johnson & Nathan Sobo
1b228c75bc Convert Tags to context binding 2013-01-24 17:22:50 -08:00
Corey Johnson & Nathan Sobo
e5c96c7077 Convert OnigScanner to a context binding 2013-01-24 17:22:49 -08:00
Nathan Sobo
df2bb3f75c 💄 2013-01-24 17:22:49 -08:00
Nathan Sobo
2946ba7b9a Convert OnigRegExp from a v8 extension to a window binding 2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
f876071ff0 💄 2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
1e6e6c4411 Convert git v8 extension to a context binding 2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
faaaaec846 Convert atom global to a window binding 2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
a5f72c8a2d 💄 2013-01-24 17:22:49 -08:00
Corey Johnson & Nathan Sobo
5294cb6df1 Kill lines I forgot to delete 2013-01-24 17:22:49 -08:00
Nathan Sobo
87829043d4 Use window binding instead of v8 extension for $native object
This paves the way to inject `$native` into the context of a web worker
2013-01-24 17:22:49 -08:00
Kevin Sawicki & Nathan Sobo
2fb27bb2dd Store pathToOpen using new atom.set/getWindowState api
When you use `setWindowState`, your data is saved across refreshes.
You can only store state that can be serialized to JSON.
2013-01-10 18:04:22 -07:00
Kevin Sawicki & Nathan Sobo
caffda6027 Add Git.destroy() that frees native repository 2013-01-09 17:07:29 -08:00
Kevin Sawicki
ba614d5549 Throw error from GitRepository constructor 2013-01-09 11:53:13 -08:00
Kevin Sawicki
6f5e29d48e Throw exception when repository fails to open
Removes need to check if the repository is valid before
each native API call and also removes calling into the
native-side if no repository can be opened for the project
page.
2013-01-08 21:15:41 -08:00
Kevin Sawicki
c4f82c8db5 Update libgit2 to commit 11fccddcb5
Closes #122
2013-01-08 17:43:30 -08:00
Kevin Sawicki
fffba45b50 💄 2013-01-07 19:36:13 -08:00
Kevin Sawicki
146ae9d776 Refresh the Git index when the window gains focus
Closes #121
2013-01-07 17:29:48 -08:00
Kevin Sawicki
df309c80dc Use switch statement for line types 2013-01-06 11:04:59 -08:00
Kevin Sawicki
64afd51ca4 Use constant for submodule file mode 2013-01-06 09:59:57 -08:00
Kevin Sawicki
a300146f2a Display submodule icon in tree-view 2013-01-06 09:52:53 -08:00
Kevin Sawicki
b855799d96 Return null unless exactly 1 delta exists 2013-01-04 14:59:41 -08:00
Kevin Sawicki
f1efc9ce60 Upgrade to latest libgit2 development branch 2013-01-04 14:57:14 -08:00
Kevin Sawicki
d328db65f2 Free path after generating diff list 2012-12-27 10:54:06 -08:00
Kevin Sawicki
a561d5efab Only create diff options when necessary 2012-12-27 10:53:13 -08:00
Kevin Sawicki
d3ed0fca27 Free reference before returning result 2012-12-27 10:51:35 -08:00
Kevin Sawicki
219aaca0f5 Show diff stat in status bar
Include the number of lines added and removed for
new and modified files
2012-12-27 10:41:29 -08:00
Kevin Sawicki
9f6d1f987f Add initial support for replacing anchors 2012-12-21 13:22:08 -08:00
Kevin Sawicki
cdac5e0763 Read output for terminate handler off main thread
Follow on to commit 1bd0cc4152
2012-12-19 17:25:19 -08:00
Corey Johnson & Nathan Sobo
1bd0cc4152 ChildProcess can handle commands that return large amounts of data.
When a command returned a large amount of data, it was blocking on the stderr  callback when `[fileHandle availableData]` was called. From what I can tell, this is because stderr was being called with a zero-length string.

This was fixed when `[fileHandle availableData]` was moved to run inside the NSTask thread (instead of on the main thread). It now returns a zero-length string rather than blocking forever.

An unresolved question is why stderr is being called with zero-length strings.
2012-12-19 11:47:50 -08:00
Kevin Sawicki
025122d642 Add project outline view with all tags
Opened via meta-J and limited to a maximum
of 10 tags similar to fuzzy-finder.
2012-12-17 16:37:27 -08:00
Kevin Sawicki
5f400303ac Add ref counting to Git class 2012-12-13 15:23:55 -08:00
Kevin Sawicki
1686c97244 Add initial support for jump to declaration 2012-12-13 15:22:23 -08:00
Corey Johnson & Kevin Sawicki
a6a05b6ff4 Remove directories from fuzzy-finder 2012-12-12 17:25:45 -08:00
Corey Johnson & Kevin Sawicki
af49ab9c6c Add callback param to getAllPathsAsync signature 2012-12-12 13:41:15 -08:00
Corey Johnson & Kevin Sawicki
404f637101 Populate fuzzy-finder asynchronously 2012-12-12 12:26:39 -08:00
Kevin Sawicki
c78ccf3ede Read index before checking status 2012-12-10 11:47:26 -08:00
Corey Johnson & Nathan Sobo
702b8047e4 Unwatch all paths after each test 2012-11-29 15:31:05 -08:00
Corey Johnson
5c4079a2c8 Use NSASCIIStringEncoding instead of NSNonLossyASCIIStringEncoding 2012-11-29 10:36:16 -08:00
Corey Johnson
02c441e937 If $native.read fails to open a file as UTF8, it opens it as ascii
This is a temporary solution to allow Atom to open binary files. The ultimate goal would be to have a hex-editor built into atom.
2012-11-29 10:34:22 -08:00
Corey Johnson & Nathan Sobo
db78d6a7e5 Ensure PathWatcher isn't watching anything at the end of each spec
This replaces the old functionality of ensuring no files or directories have subscriptions in javascript. We allow this now, but we just don't allow leaked watches at the native layer.
2012-11-28 17:16:15 -07:00
Corey Johnson
608b7ee9e1 Throw an exception if OnigRegExp fails to create a regex from a pattern 2012-11-08 16:46:56 -08:00
Kevin Sawicki
1019154db6 Add Git.checkoutHead(path) 2012-11-03 15:09:52 -07:00
Corey Johnson & Kevin Sawicki
be533d4342 Add Git.isPathNew(path)
Renamed other method to Git.isPathModified
2012-11-02 15:36:35 -07:00
Corey Johnson
999a74ec2c Add $git.getStatus(path) 2012-11-02 15:35:21 -07:00
Corey Johnson
13be2ea607 💄 2012-11-02 15:35:21 -07:00
Kevin Sawicki
bb201f8e42 💄 2012-11-02 15:33:39 -07:00
Kevin Sawicki
a934c5502f Remove unneeded import 2012-11-02 15:33:39 -07:00