Commit Graph

67 Commits

Author SHA1 Message Date
Kevin Sawicki & Nathan Sobo
1d1ba5f6d1 Use node's require instead of internal require 2013-03-12 10:38:05 -07:00
Kevin Sawicki
115b960ce7 Handle reading and writing in cson.coffee
Moves helpers from fs.coffee to cson.coffee
2013-03-11 22:40:00 -07:00
Kevin Sawicki
03b32ec29c Use coffee-script node module
This required upgrading underscore which to fix issues
with _.isEqual working across objects created from different
documents.

The upgrade required adding a custom _.isEqual extension that
added back support for object's having an isEqual method that
was removed in underscore 1.4.0.
2013-03-11 13:39:17 -07:00
Kevin Sawicki
2212222c47 Use underscore node module 2013-03-11 11:22:36 -07:00
Nathan Sobo
54fc9efdcb Eliminate fixturesProject global. Use project global instead. 2013-03-07 09:30:27 -08:00
Nathan Sobo
8dc3afbcce Fix snippets spec 2013-03-07 09:30:26 -08:00
Kevin Sawicki
932f2c4603 Use RootView.eachEditor to attach snippet commands
Previously the 'editor:attached' was used which would not
fire for editors already attached and so any editors
opened before the snippets package was loaded would not
have snippets enabled.
2013-02-20 12:06:03 -08:00
Corey Johnson & Nathan Sobo
47aa74133f Remove unneeded calls to rootView.deactivate 2013-02-19 18:26:51 -07:00
Corey Johnson & Nathan Sobo
9e8831f710 RootView.initialize no longer assigns window.rootView or calls open 2013-02-19 18:26:50 -07:00
Nathan Sobo
7f2747ead0 Make project a global and refactor startup process 2013-02-19 18:26:50 -07:00
Corey Johnson & Kevin Sawicki
e4f87d522f Rename Task.terminate to Task.abort 2013-02-19 10:57:04 -08:00
Corey Johnson & Kevin Sawicki
7db83662b5 Only terminate worker after the worker completes work 2013-02-19 10:57:04 -08:00
Corey Johnson
958bc2bfab Moved atom.loadPackage to a spec-only helper function 2013-02-13 16:37:59 -08:00
Kevin Sawicki
9e39a382e8 DRY up checking if path is .cson or .json 2013-02-12 11:02:07 -08:00
Kevin Sawicki
4c4b57abc7 Support .json snippets 2013-02-12 09:50:13 -08:00
Kevin Sawicki
76a6ab9f03 Support loading CSON snippets from TextMate bundles 2013-02-11 09:29:48 -08:00
Kevin Sawicki
1b85e131e1 Modernize snippets package with package.cson 2013-02-08 17:28:06 -08:00
Corey Johnson & Kevin Sawicki
c18abc154a Verify logged warning parsing invalid.plist 2013-02-08 17:28:05 -08:00
Corey Johnson & Kevin Sawicki
ef02f237cb Terminate load task when package is deactivated 2013-02-08 17:28:05 -08:00
Corey Johnson & Kevin Sawicki
3b4f07701b Build packages using paths instead of filenames 2013-02-08 17:28:04 -08:00
Corey Johnson
66d618a41c Fix snippet specs 2013-02-08 17:28:03 -08:00
Kevin Sawicki & Nathan Sobo
59d0742c17 Remove Anchor and AnchorRange. They're fully replaced by markers.
We're still leaking markers for selections and cursors. We need to
clean that up before merging.
2013-02-05 18:15:48 -07:00
Kevin Sawicki & Nathan Sobo
aaf22a9433 Nuke commented code 2013-02-05 16:47:21 -07:00
Kevin Sawicki & Nathan Sobo
3dab8e92ee Convert snippets to use markers instead of anchor ranges 2013-02-05 15:54:41 -07:00
Nathan Sobo
60304b76b1 Don't cancel a snippet if the cursor moves due to a buffer change 2013-02-02 18:01:18 -07:00
Corey Johnson
a7531c1341 💩 2013-01-31 15:54:36 -08:00
Corey Johnson
5d95d8bc4e Remove log noise while running tests 2013-01-31 15:16:03 -08:00
Corey Johnson
30c7e8e2a5 require 'Task' uses correct case 2013-01-31 15:16:03 -08:00
Kevin Sawicki
45d5e714fa Make snippets keymaps valid CSON
Closes #209
2013-01-30 15:25:03 -08:00
Corey Johnson & Nathan Sobo
262703618d Eat interpolated variables in TextMate snippets
Someday we'll actually shell out to fill in their values, but for now,
we just replace them with an empty string.
2013-01-28 17:55:51 -07:00
Kevin Sawicki
4fe021bb61 Memoize built packages
Packages that successfully built are now stored internally
so they can be quickly accessed on future calls instead of
returning an array of newly built packages on each call.
2013-01-28 15:47:17 -08:00
Corey Johnson & Nathan Sobo
fa8ca1193f Correctly place tab stop anchor ranges in snippets with blank lines 2013-01-28 16:36:16 -07:00
Corey Johnson & Nathan Sobo
47ca7f81c1 💄 2013-01-28 16:36:16 -07:00
Corey Johnson & Nathan Sobo
c13b45df99 Hard tabs in snippets are translated to soft-tabs if necessary 2013-01-28 16:36:15 -07:00
Kevin Sawicki
75da205b0a Terminate worker when all snippets have been loaded 2013-01-27 22:26:45 -08:00
Nathan Sobo
c27de89327 Eliminate warning messages from snippets-spec
Mock loading of TextMate snippets or Atom snippets and only enable
loading for the type of snippet being currently tested. This limits
logging of warning to the single warning we expect for each type, which
allows us to not call through on the mocking of `console.warn` and
explicitly check for the single expected call.
2013-01-27 13:25:59 -07:00
Nathan Sobo
a83b8583f0 Perform body parsing in the worker thread (without failing specs)
Since `snippets.add` can still be called from the window thread, we need
to retain the ability to parse the body without relying on the loading
task. But this commit only loads the parser in the window if it's actually
needed, instead of always loading it when the snippets extension is
loaded. This avoids the loading performance hit while still allowing
specs to pass and letting us call `snippets.add` manually in the window
if we want to.
2013-01-27 12:07:36 -07:00
Nathan Sobo
5bfb9feeda Revert "Move snippet body parsing to web worker"
This reverts commit 5b541ccc2b.
It caused the snippets spec to break. I'll try to achieve the same
thing without that happening.
2013-01-27 11:40:01 -07:00
Kevin Sawicki
19a7c04b8f Shadow require name in class name 2013-01-24 17:41:06 -08:00
Kevin Sawicki
5b541ccc2b Move snippet body parsing to web worker 2013-01-24 17:22:51 -08:00
Nathan Sobo
0d63d6459d Make TextMate snippets loading immune to hidden files & invalid plist
closes #143
2013-01-24 17:22:51 -08:00
Nathan Sobo
59ac9de8c3 💄 2013-01-24 17:22:50 -08:00
Nathan Sobo
ea65c63862 Translate TextMate snippets in the worker thread
Might as well do as much work there as possible.
2013-01-24 17:22:50 -08:00
Nathan Sobo
0726987896 Give Task an RPC-style interaction with its Worker
This commit makes all interactions between Task and Worker look
like method calls. The worker now has a global `callTaskMethod`
function that it can use to call methods on the Task object. And the
Task can use `callWorkerMethod` to call methods on a global `handler`
object in the worker. The worker's initial `handler` actually contains
the `start` method, which the Task initially calls to kick things off.
Then the global `handler` gets replaced with whatever `handlerPath`
is specified by the Task. The worker then calls `workerStarted` on its
parent Task object.

This commit also gets rid of the `onProgress` method with the reply
semantics, favoring a more explicit interaction. When `snippetsLoaded`
finishes adding the snippet data, we call `loadNextPackageSnippets`
explicitly rather than returning a reply message.
2013-01-24 17:22:50 -08:00
Corey Johnson & Kevin Sawicki
c628a88409 Lower case Task in require 2013-01-24 17:22:50 -08:00
Kevin Sawicki
8c4a21ee5d Remove unused requires 2013-01-24 17:22:50 -08:00
Kevin Sawicki
2393bd0e9e Create task shell that bootstraps worker 2013-01-24 17:22:50 -08:00
Kevin Sawicki
9ab730b3d0 Load snippets in a web worker
A single web worker is now used to load
snippets one bundle at a time.
2013-01-24 17:22:50 -08:00
Kevin Sawicki
ca596db310 Extend AtomPackage directly in packages index.coffee 2013-01-22 18:26:48 -08:00
Kevin Sawicki
9d3751052a Support hitting tab in snippets with no tab stops
Closes #149
2013-01-22 16:44:45 -08:00