Commit Graph

56 Commits

Author SHA1 Message Date
Nathan Sobo
f612a85599 Merge remote-tracking branch 'origin/master' into ns-modernize-doc-links 2014-02-20 16:35:16 -07:00
Corey Johnson & Nathan Sobo
6c5a5c49da Remove unused Point 2014-02-20 11:14:15 -08:00
Nathan Sobo
53fb36d0e2 Switch all documentation links to match CoffeeScript literal notation
Foo::bar for instance methods
Foo.bar for class methods
2014-02-19 17:23:47 -07:00
Nathan Sobo
d64fefd96c Merge branch 'master' into ns-fix-softwrap
Conflicts:
	src/row-map.coffee
2014-02-14 08:36:58 -07:00
Kevin Sawicki
ec4cf8b497 Remove ConfigObserver
This class offers little utility now that emissary exists with beefed
up Subscriber and Emitter classes.
2014-02-06 13:07:25 -08:00
Kevin Sawicki
5b453290ad Mark DisplayBuffer methods delegated to as public 2014-02-06 11:17:20 -08:00
Kevin Sawicki
227454e27e Remove ### style visibility comments 2014-02-06 10:40:45 -08:00
Kevin Sawicki
cee0b951fb Remove empty Private: comments 2014-02-06 10:11:32 -08:00
Nathan Sobo
5017f1473c 💄 2014-02-02 19:52:51 +06:00
Nathan Sobo
c3f995b165 Fix lurking soft-wrap bugs
This commit adds two important things:

1. An editor spec that randomly mutates a buffer and toggles soft wrap
on and off, then compares the screen lines to a simple reference
implementation to ensure everything stays in a correct state.

2. A new and radically simpler implementation of RowMap that eliminates
failures in the randomized test.
2014-01-30 00:52:17 -07:00
Nathan Sobo
aec9e75ecb Send more info on errors converting buffer positions to screen positions
We've gotten one rogue error but I have no idea how to reproduce it.
This will tell us if soft wrap is enabled and if any folds are present
so hopefully we can start narrowing these down.
2014-01-26 15:00:58 -07:00
Nathan Sobo
8ca8ac5efc Make ConfigObserver a proper mixin and export it 2014-01-21 20:56:23 -07:00
Nathan Sobo
3ab7836ab2 Upgrade to emissary 0.31.0 for implicit 'value' subscriptions on signals
Previously, when you always had to specify the event name of 'value'
when calling `::subscribe` with a signal. Now, if you don't specify an
event name, 'value' is assumed.
2014-01-11 11:22:31 -07:00
Nathan Sobo
25cc37bc86 Replace {StringMarker} references with {Marker} in API docs 2014-01-06 15:13:12 -07:00
Nathan Sobo
cbec03c158 Rename reactionary to theorist 2014-01-05 10:25:59 -07:00
Nathan Sobo
8da9e8ddc1 Rename nostalgia to serializable
This name was surprisingly available and better matches this module's
utilitarian nature.
2014-01-03 18:32:44 -07:00
Nathan Sobo
c6770aa83e Merge remote-tracking branch 'origin/master' into ns-remove-telepath-from-core
Conflicts:
	package.json
	src/pane.coffee
2014-01-03 17:46:45 -07:00
Nathan Sobo
e26d97d5ac Remove telepath as a core dependency 2014-01-03 17:42:11 -07:00
Nathan Sobo
821debcb85 Make Editor, DisplayBuffer, TokenizedBuffer to not use telepath
This commit introduces dependency on a new npm called
[reactionary](https://github.com/atom/reactionary). It will serve as a
*much* lighter weight model framework to provide the reactive features
of telepath without the replication logic.

Specs are still failing for panes and workspace. I plan to just roll
forward and remove the telepath dependency from them as well.
2013-12-31 18:19:53 -07:00
Kevin Sawicki
6f5d85edb9 Use grammar registry from first-mate 2013-12-31 15:15:39 -08:00
Nathan Sobo
c8253be1ae Use the softWrap property directly 2013-12-07 14:08:00 -08:00
Nathan Sobo
9ede5f85e3 Use the ::editorWidthInChars property directly 2013-12-07 14:07:46 -08:00
Nathan Sobo
1ccc93c50b Make DisplayBuffer a telepath model subclass 2013-12-07 03:07:15 -08:00
Nathan Sobo
a4d2b4d21a Make TokenizedBuffer a telepath.Model subclass
There's a bunch of improvised code to make this work right now because
of the circularity of this refactoring. It will stabilize over time.
2013-12-07 02:25:47 -08:00
probablycorey
a0ceb78627 Move snapshot code to package 2013-11-26 11:15:55 -08:00
Kevin Sawicki
5ec6a4a189 Use atom.deserializers directly 2013-11-20 14:18:38 -08:00
Kevin Sawicki
2eeb399cf1 Remove deserializer shims on window 2013-11-20 13:51:12 -08:00
Kevin Sawicki
ca96aa2804 📝 doc what DisplayBuffer::getGrammar returns 2013-11-18 09:30:56 -08:00
Kevin Sawicki
a377a49004 Use atom.config instead of window.config 2013-11-11 09:16:44 -08:00
Kevin Sawicki
d793d114d4 Use atom.site instead of window.site 2013-11-11 08:44:26 -08:00
Kevin Sawicki
287f1984db Update width in chars when editor's size changes
Register an overflowchanged event listener on the editor's scroll view
and update the width in chars when this event fires.

Closes #928
Closes #961
Closes #993
2013-11-04 18:12:17 -08:00
Nathan Sobo
62ccf92a5d Get core specs passing w/ Telepath v0.14.0. Delete replication specs.
Telepath v0.14.0 is a ground-up rewrite of the replication library,
which is principally designed to support moving document fragments
within the overall document. But it's also a lot better in a number of
ways. This commit does the minimal to get things working on the new
telepath. Standard package specs don't pass yet. Also, I deleted the
replication specs since they are extremely convoluted and will be able
to be replaced with much better versions once I complete the changes
enabled by the new Telepath.
2013-10-31 17:08:40 -06:00
Kevin Sawicki
216a5e61fd Update underscore-extensions requires 2013-10-15 13:50:16 -07:00
Kevin Sawicki
e5ac73e0db Use includeInto instead of _.extend 2013-10-14 17:28:26 -07:00
Kevin Sawicki
0b0c3229d3 EventEmitter is exported as Emitter 2013-10-14 17:28:26 -07:00
Kevin Sawicki
a0486bc9b0 Use emit instead of trigger 2013-10-14 17:28:26 -07:00
Kevin Sawicki
f9a0e038a5 Use emissary for EventEmitter and Subscriber 2013-10-14 17:28:26 -07:00
Kevin Sawicki
41fc4f7fe6 Use relative require paths in src/ files 2013-09-20 10:02:20 -07:00
Kevin Sawicki
6baaf404af 🚱 Use subscribe for tokenized buffer event listeners 2013-08-27 13:00:41 -07:00
Matt Colyer
e774b956e0 Fix visibility of classes. 2013-08-27 10:17:00 -07:00
Matt Colyer
0e8ec74662 Fix more TomDoc references 2013-08-27 10:16:59 -07:00
Matt Colyer
61e5e6ea28 Fix delegation references in comments 2013-08-27 10:16:58 -07:00
Kevin Sawicki
419be22b7b Use Subscriber::subscribe for telepath change listeners 2013-08-26 13:04:13 -07:00
Kevin Sawicki
eaf80a0194 Rename softWrapColumn to editorWidthInChars 2013-08-23 18:09:17 -07:00
Kevin Sawicki
c2b3c2e3aa Rename callbackImmediately option to callNow 2013-08-23 18:09:17 -07:00
Kevin Sawicki
51192bb3e9 Remove config listeners when DisplayBuffer is destroyed 2013-08-23 18:09:17 -07:00
Kevin Sawicki
32396a2a8b Update soft wrapped lines when config changes
DisplayBuffer now observes for config changes to the preferred line length
and the preference to soft wrap at the preferred line length to update
any wrapped screen lines.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
a45b93614e Add editor.softWrapAtPreferredLineLength config setting
This is used by the DisplayBuffer to use `editor.preferredLineLength`
as the soft wrap column instead of the editor size.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
8f193e4fb5 Remove default edit session options from Project
Instead read the config values directly where they are actually
used such as in EditSession, TokenizedBuffer, and DisplayBuffer.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
cbd4fab8f2 Emit event from display buffer when soft wrap changes
This allows the editor to be reactive to the edit session
and always respect the edit session's current value when
initially opened.
2013-08-23 18:09:16 -07:00