Commit Graph

5771 Commits

Author SHA1 Message Date
Antonio Scandurra
26b1d166fd Merge pull request #7320 from atom/as-remove-gutter-from-view-registry
Fix TextEditorComponent Race Condition
2015-06-19 09:01:59 +02:00
Antonio Scandurra
a3a8d8417b Merge branch 'as-remove-gutter-from-view-registry' into as-tiled-gutter 2015-06-18 19:58:33 +02:00
Antonio Scandurra
c8f24d2358 Revert "🐛 Remove Gutter from ViewRegistry"
This reverts commit b0d93accf7.
2015-06-18 19:54:37 +02:00
Max Brunsfeld
64dfda572d Use raw buffer text (w/o invisibles) when testing decreaseIndentRegex 2015-06-17 12:07:42 -07:00
Max Brunsfeld
3cdeaa8b51 Don't auto-indent when pasting text w/ no line breaks 2015-06-17 10:57:21 -07:00
Antonio Scandurra
b04b0a8dc4 🐛 Fix race condition as well 2015-06-17 13:48:31 +02:00
Antonio Scandurra
b0d93accf7 🐛 Remove Gutter from ViewRegistry
Closes #7306

We started noticing that when a `TextEditor` pane got split, the same view for
`Gutter` was being shared amongst several models, thereby making the same DOM
element accessible simultaneously by more than one object. This made us
experience *orphaned line numbers*, caused by two instances of
`LineNumberGutterComponent` mutating `.line-numbers` at the same time.

This is a typical race condition which I would normally address by understanding
and possibly locking the correct order in which operations should happen.
However, I believe in this situation we shouldn’t actually care about ordering
at all, since I think views should be kept “local”, thus avoiding to expose them
to the world and/or reusing them across other views (either accidentally as in
this case or on purpose).
2015-06-17 12:28:10 +02:00
aki
449c03cb35 Fix destroy listeners 2015-06-16 18:05:45 +09:00
Max Brunsfeld
c43233892b Merge pull request #7225 from lpommers/add-remove-cursor-when-there-are-multiple-cursors-if-cmd-clicking-on-it
Add remove cursor when there are multiple cursors and cmd clicking on it
2015-06-12 10:41:17 -07:00
Luke Pommersheim
8521b81051 spec - getCursorAtScreenPosition checks cursors instead of cursor.marker 2015-06-12 19:21:37 +02:00
Antonio Scandurra
ce3304b788 🔥 Delete redundant specs 2015-06-12 18:41:19 +02:00
Antonio Scandurra
57350b7492 Finish porting TextEditorComponent specs 2015-06-12 18:22:43 +02:00
Antonio Scandurra
7ac0cdcbf5 Start porting TextEditorComponent spec 2015-06-12 18:22:33 +02:00
Antonio Scandurra
605f584d2e Extract tiles specs into tiledContentContract 2015-06-12 12:53:29 +02:00
Antonio Scandurra
d45fc8a41f Port TextEditorPresenter specs 2015-06-12 12:10:55 +02:00
Luke Pommersheim
63e491affa spec now checks if the cursors are the same, not their markers 2015-06-12 08:37:40 +02:00
Kevin Sawicki
a0778217df Merge pull request #7145 from FoldingText/Item-provides-save-panel-options
Item provides save panel options
2015-06-11 15:28:24 -07:00
Luke Pommersheim
2765b54374 fix of coffeelint errors in spec tests 2015-06-11 13:33:46 +02:00
Luke Pommersheim
c67f98febb if there are multiple cursors and you click a cursor, it is removed, otherwise new cursor is added. Cannot remove if there is only one cursor and you click on it 2015-06-11 13:26:09 +02:00
Luke Pommersheim
5822eb11f1 function that returns the first matched Cursor at a given screen position Point if it exists in that location 2015-06-11 13:02:14 +02:00
Kevin Sawicki
33accdf1f3 Match directory name to package.json name 2015-06-10 17:06:08 -07:00
Kevin Sawicki
0edce07446 Use folder name when metadata name is empty string or non-string 2015-06-10 16:46:35 -07:00
Max Brunsfeld
48ca93261f Merge pull request #7219 from atom/bf-revert-the-revert-of-pr-7022
Re-introduce atom.directory-searcher service v0.1.0.
2015-06-10 15:51:19 -07:00
Kevin Sawicki
3b6015954b Merge pull request #7176 from atom/mq-package-name-metadata
Only use package directory name as fallback
2015-06-10 15:38:31 -07:00
Michael Bolin
ad46b37cfe In workspace-spec.coffee, updated FakeSearch to match the spec, which
helped uncover a bug.
2015-06-10 23:30:42 +01:00
Michael Bolin
3c44bc06f4 Revert "Revert "Introduce atom.directory-searcher service v0.1.0.""
This reverts commit 262d41c306.
2015-06-10 23:30:25 +01:00
Max Brunsfeld
f2851ac11d Merge pull request #7192 from atom/as-fix-empty-partially-off-screen-markers
Delete partially off-screen markers which are empty
2015-06-09 15:04:52 -07:00
Antonio Scandurra
f73435e053 🐛 Delete partially off-screen markers which are empty
* 🔥 Delete old code which was used to support some non-batched
methods in a previous version;
*  Cover “partially off-screen markers which are
empty” scenario, since that code path was not hit by previous specs

Fixes #7183
2015-06-09 21:35:01 +02:00
Max Brunsfeld
262d41c306 Revert "Introduce atom.directory-searcher service v0.1.0." 2015-06-09 11:51:30 -07:00
Max Brunsfeld
f830623512 Merge pull request #7022 from atom/bf-directory-searcher
Introduce atom.directory-searcher service v0.1.0.
2015-06-09 09:40:06 -07:00
Kevin Sawicki
fb48b38aa7 Guard against no resizing with no siblings
Closes #7091
2015-06-09 09:36:58 -07:00
Michael Bolin
0630bce95c Two things:
* Removed the `Directory` argument to `didSearchPaths`.
Now each searcher gets its own instance of `didSearchPaths` that is parameterized by provider.
* Simplified `DefaultDirectorySearcher.search()` so it creates one `DirectorySearch`
rather than one per `Directory` passed to `search()`.
2015-06-09 15:34:10 +01:00
Michael Bolin
028ac79836 Changed the behavior so that if a searcher rejects,
then the thenable returned by `atom.workspace.scan()` rejects.
2015-06-09 15:34:09 +01:00
Michael Bolin
7dc3d07f8a Changed the contract of DefaultDirectorySearcher in two significant ways:
* `search()` takes an array of `Directory` objects rather than an individual object.
* `options.didSearchPaths` now takes the `Directory` in addition to the `count` as an argument.
2015-06-09 15:34:09 +01:00
Michael Bolin
318498464a Responded to all of @maxbrunsfeld's comments except for:
* The effect of a failed search.
* Letting `DirectorySearcher::search` take multiple directories.

I'm working on those now.
2015-06-09 15:34:09 +01:00
Michael Bolin
5fc9d9e01a Document and test the cancel() method on the object returned by atom.workspace.scan(). 2015-06-09 15:34:09 +01:00
Michael Bolin
10d9111f68 Clean up test to verify that an individual failed search fails the overall search. 2015-06-09 15:34:09 +01:00
Michael Bolin
898f7b87e8 remove require for Disposable that is no longer needed 2015-06-09 15:34:09 +01:00
Michael Bolin
f7e822d41f Make delegate method names more delegate-like. 2015-06-09 15:34:09 +01:00
Michael Bolin
4eb30f3925 Switch to the delegate pattern,
eliminating a nasty race condition and deleting a lot of code.
2015-06-09 15:34:09 +01:00
Michael Bolin
4330c3a181 Fix some nits I found during my self-review. 2015-06-09 15:34:08 +01:00
Michael Bolin
7294e0cda4 Change DirectorySearcher to return a DirectorySearch. 2015-06-09 15:34:08 +01:00
Michael Bolin
7781e34ba2 Introduce atom.directory-searcher service v0.1.0.
The contract for a provider for the `atom.directory-searcher` service
is defined by the spec of the `DefaultDirectorySearcher`.

This modifies `Workspace::scan()` to use the appropriate `DirectorySearcher`
for each member of `atom.project.getDirectories()` when scanning the workspace
for files that match the specified regex.
2015-06-09 15:34:08 +01:00
Machiste Quintana
659ddb67ad Add Package.loadMetadata() specs 2015-06-08 20:57:35 -04:00
Nathan Sobo
5c57cb0cfe Show a warning prompt when opening files over 20MB
We still have some trouble on files this large. I want to show a
progress bar, but for now this is better than freezing without any
warning at all.
2015-06-09 00:02:36 +02:00
Nathan Sobo
36d55c9384 Don’t break out soft tabs that are interrupted by a scope boundary 2015-06-08 22:56:32 +02:00
Antonio Scandurra
cec6959e08 Extend highlights to the full editor width 2015-06-08 18:58:04 +02:00
Jesse Grosjean
05e6d9e55d Stop focusing specs on "Pane" 2015-06-06 22:22:47 -04:00
Jesse Grosjean
f88e21cbb0 Allow items to provide savePanel options. 2015-06-06 22:21:51 -04:00
Antonio Scandurra
515ae7acb7 Use tile node as the reference for highlights width 2015-06-06 17:19:24 +02:00