Commit Graph

1627 Commits

Author SHA1 Message Date
Corey Johnson & Kevin Sawicki
833321fa23 Modernize fuzzy-finder package to use package.cson 2013-02-08 17:28:05 -08:00
Kevin Sawicki
cdf29691d7 Use same noop function for all disabled handlers 2013-02-08 17:28:04 -08:00
Kevin Sawicki & Nathan Sobo
641a0d43cc Retrigger event after package module is activated
The event that triggers the package module to be activated is
now retriggered after the package module is initialized but without
any previously registered handlers. Instead only the handlers registered
by the package module will be triggered.  The prior event handlers are then
restored after the event is retriggered.

This allows package modules to bind event handlers during initialization
that will be triggered by the same event that caused the package module
intialization to occur.  This simplifies the common case of having the same
event cause a package module to initialize and attach.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
ed0de80af3 💄 2013-02-08 17:28:04 -08:00
Kevin Sawicki
7c41b15e00 Support activation events in package manifest
These events will load the package's main module
when first triggered.  The go-to-line package has been
migrated to use this new option.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
d884bf58e8 Support specifying main module in package.cson
Migrated strip-trailing-whitespace package to include
a package.cson with a main being a file in the lib directory
instead of the index.coffee at the root of the package.
2013-02-08 17:28:04 -08:00
Kevin Sawicki
856b378f54 Set metadata to empty hash when missing 2013-02-08 17:28:04 -08:00
Kevin Sawicki
cd56d0a1d2 Remove unneeded pack check 2013-02-08 17:28:04 -08:00
Kevin Sawicki
16ff07d319 Use paths when loading grammars from workers 2013-02-08 17:28:04 -08:00
Corey Johnson & Kevin Sawicki
3b4f07701b Build packages using paths instead of filenames 2013-02-08 17:28:04 -08:00
Corey Johnson & Kevin Sawicki
bdac42b188 Don't directly require packages with manifests 2013-02-08 17:28:03 -08:00
Corey Johnson
3078d74e5d Refactor atom.coffee's package methods 2013-02-08 17:28:03 -08:00
Corey Johnson
74ae4a6413 Remove getTextMatePackages 2013-02-08 17:28:03 -08:00
Kevin Sawicki
a52983928e Remove unused code now in bracket-matcher package 2013-02-08 09:51:31 -07:00
Nathan Sobo
6e191aba5b Move matching bracket insertion to bracket-matcher package 2013-02-08 09:51:31 -07:00
Nathan Sobo
6be72bac54 Guard against undefined marker ranges 2013-02-06 20:45:50 -07:00
Justin Palmer
eb7f4514e4 Merge pull request #244 from github/ui-polish
Ui polish
2013-02-06 18:33:50 -08:00
Nathan Sobo
9c6b658fe5 Merge branch 'dev' into markers 2013-02-06 18:10:42 -07:00
Nathan Sobo
5b3755a170 Fix errors in benchmarks
One notable change is that if the editor has a display update pending,
we wait until it completes before moving on to the next benchmark.
2013-02-06 18:01:32 -07:00
Nathan Sobo
56c81ccf0f Memoize head and tail screen positions in DisplayBufferMarker 2013-02-06 17:32:13 -07:00
Nathan Sobo
0bd98bf8f8 Do a better job cleaning up after Editors and EditSessions
- EditSessions destroy their Selections when they are destroyed
- Editors destroy their EditSessions when they are destroyed
- Editors unsubscribe from the document and window when they are
  removed from the DOM.
- When an EditSession is destroyed via any code path, the Editor with
  that EditSession removes it.
- Selections no longer trigger 'destroyed' events if their parent
  EditSession has already been destroyed.

These are all really intertwined, so I'm doing them as one commit
since that was the only way to keep the specs green.
2013-02-06 16:54:19 -07:00
Justin Palmer
124b2c0c07 lets do just mini on the grammar overlay since it originates from the middle 2013-02-06 14:48:33 -08:00
Justin Palmer
3675407ca7 use from-bottom overlay for grammar view 2013-02-06 13:51:40 -08:00
Nathan Sobo
28c31dc2e1 Merge branch 'dev' into markers 2013-02-06 14:27:30 -07:00
Kevin Sawicki
57484d0756 Remove unused requires 2013-02-05 18:01:31 -08:00
Kevin Sawicki
816ca6b8c0 Remove Native class
This class was only be used for two shims to the
$native object.
2013-02-05 17:22:08 -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
eee6903541 Use markers instead of anchors to track which close-brackets to skip 2013-02-05 17:21:24 -07:00
Kevin Sawicki & Nathan Sobo
13183639b6 Ensure the cursor becomes visible when the selection is emptied
(Even if the cursor doesn't move)
2013-02-05 17:06:56 -07:00
Kevin Sawicki & Nathan Sobo
0d6d89b209 Fix cursor autoscrolling when position doesn't change
When assigning the cursor's position, if we decide we want to autoscroll,
we should do so even if the cursor's position doesn't change.

The previous approach relied on a comparison of the position being
assigned, but this is before it has been clipped. Now we rely on a
boolean return value from the marker position assignment methods, which
tells us if the position has changed. If not, we need to emit our own
event to force autoscrolling.
2013-02-05 16:37:54 -07:00
Kevin Sawicki & Nathan Sobo
75e040b73b Merge remote-tracking branch 'origin/dev' into markers
Conflicts:
	src/app/editor.coffee
2013-02-05 16:07:05 -07:00
Kevin Sawicki & Nathan Sobo
3dab8e92ee Convert snippets to use markers instead of anchor ranges 2013-02-05 15:54:41 -07:00
Kevin Sawicki & Nathan Sobo
94d1edcc06 Add EditSession.selectMarker 2013-02-05 15:54:20 -07:00
Kevin Sawicki & Nathan Sobo
c893f0c338 Add Buffer.markersForPosition and coerce marker ids to strings 2013-02-05 15:50:54 -07:00
Kevin Sawicki & Nathan Sobo
240e893d33 Don't emit a cursor-moved event when only the tail of the marker moves 2013-02-05 15:19:10 -07:00
Kevin Sawicki
3e84e9886c Break out event handler setup into separate method
This mirrors the keymap setup method and allows specs
to reattach handlers after calling shutdown()
2013-02-05 13:17:53 -08:00
Kevin Sawicki
17825edf66 Use off() instead of unbind()
unbind() is so pre-jQuery 1.7
2013-02-05 13:13:01 -08:00
Nathan Sobo
1d30605f7f Convert selection and cursor fully over to markers. 2013-02-05 13:39:00 -07:00
Kevin Sawicki
8de45ccc21 Bind meta-D to duplicate line below
Refs #134
2013-02-05 12:16:50 -08:00
Kevin Sawicki
ad3c18077c Compare against EOF position when clipping
Previously the column could potentially be set to
zero since a Math.min comparison was used for the
length of an already adjusted row.
2013-02-05 12:08:17 -08:00
Kevin Sawicki
1b2c7faed9 Bind ctrl-meta-f to toggle full screen
Refs #134
2013-02-05 09:36:38 -08:00
Justin Palmer
dd7835faf4 merge dev, fix conflicts 2013-02-05 08:18:59 -08:00
Nathan Sobo
afe0a6570a Reduce observation to single observeMarker method on display buffer
It will call the observer callbacks with the buffer and screen positions
of the head and tell each time any of these values is changed.
2013-02-04 21:24:06 -07:00
Nathan Sobo
58450d6a65 Give Buffer only a single observeMarker method
It will fire the callback whenever the marker's head or tail position
changes, and it's up to the subscriber to use the information how they
want to.
2013-02-04 20:35:30 -07:00
Nathan Sobo
852b4c2f8a Merge remote-tracking branch 'origin/dev' into markers 2013-02-04 20:04:01 -07:00
Kevin Sawicki
0270ba3e1c Add bracket matcher that highlights pair
(), {}, and [] pairs are now highlighted when
after or before the cursor
2013-02-04 18:09:20 -08:00
Justin Palmer
022b5fb88c use is-focused for the editor because it needs it's own state independent of the window state 2013-02-04 16:42:46 -08:00
Justin Palmer
f8855ef2e3 the editor has it's own blurred state independent of the window 2013-02-04 16:20:07 -08:00
Justin Palmer
53bf6f5341 tag blurred state instead of focused state 2013-02-04 15:55:14 -08:00
Justin Palmer
7a2a02dacf Merge pull request #227 from github/cut-dat-fat
Reusable styles for common UI elements
2013-02-04 15:39:22 -08:00