Commit Graph

5635 Commits

Author SHA1 Message Date
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
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
Antonio Scandurra
515ae7acb7 Use tile node as the reference for highlights width 2015-06-06 17:19:24 +02:00
Antonio Scandurra
c4503fc137 💚 2015-06-06 16:55:00 +02:00
Antonio Scandurra
fcb9653066 Start porting TextEditorComponent specs 2015-06-06 15:41:15 +02:00
Antonio Scandurra
047a405290 Merge branch 'master' into as-opaque-tiles 2015-06-06 11:16:31 +02:00
Antonio Scandurra
b68da1e19b 💚 Finish porting TextEditorPresenter specs 2015-06-06 10:51:35 +02:00
Antonio Scandurra
de766afee7 Start porting specs 2015-06-06 10:18:26 +02:00
Nathan Sobo
6bba381393 Merge pull request #7130 from atom/ns-large-file-mode
Load large files with fewer features but much better performance
2015-06-06 00:05:27 +02:00
Nathan Sobo
3ac9d539ce Add a super basic test for large file mode 2015-06-05 23:40:38 +02:00
Nathan Sobo
df733aa3de Add a basic test for opening an editor in largeFileMode if >= 2MB 2015-06-05 23:25:48 +02:00
Nathan Sobo
ffcebdad33 Remove outdated test 2015-06-05 23:14:11 +02:00
Max Brunsfeld
2337254afb Fix text-editor-component-spec failure
Grouping intervals are exclusive now. It shouldn't affect anybody
since it's a one-millisecond change to the meaning of
grouping-interval, but it required changing some time intervals
in this spec.
2015-06-05 12:05:05 -07:00
Kevin Sawicki
71f9c26418 Only migrate config when not including deprecated APIs 2015-06-05 08:47:00 -07:00
Kevin Sawicki
022d0cead3 Re-enable tree-view and tabs sublime-tabs is installed 2015-06-05 08:43:11 -07:00
Max Brunsfeld
688cc5ef9d Merge pull request #7023 from atom/mb-optimize-marker-observation
Optimize marker observation
2015-06-04 10:57:00 -07:00
Kevin Sawicki
91e3a76d17 Update spec for new deprecation data 2015-06-04 10:53:12 -07:00
Max Brunsfeld
f5895d8b0b presenter: use 'markers-updated' event for state updates
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-06-03 17:58:44 -07:00
Kevin Sawicki
c9eb9d71cc Setup deprecated packages in dev mode 2015-06-03 16:11:16 -07:00
Kevin Sawicki
2523e72e50 🎨 2015-06-03 09:49:03 -07:00
Kevin Sawicki
df2bd62327 Load deprecated packages when including deprecated APIs 2015-06-03 09:47:13 -07:00
Kevin Sawicki
4bb6728784 Add atom.packages.getDeprecatedPackageMetadata 2015-06-03 09:19:57 -07:00
Kevin Sawicki
d557e78847 Add spec for deprecated packages 2015-06-03 09:19:57 -07:00
Max Brunsfeld
76c696f1a2 Merge branch 'master' into mb-optimize-marker-observation
Conflicts:
	src/text-editor-component.coffee
	src/text-editor-presenter.coffee
2015-06-03 09:12:07 -07:00
Nathan Sobo
dac39bdcd5 Merge pull request #6733 from atom/as-tiled-rendering
Render lines via tiles
2015-06-03 00:18:41 +02:00
Kevin Sawicki
82eb01d13e Move deserialize spec to text-editor-spec 2015-06-01 18:01:34 -07:00
Kevin Sawicki
34591d3542 Catch read errors during deserialization
Prevents Atom from failing to open because of a read error with a
serialized editor.
2015-06-01 17:54:43 -07:00
Nathan Sobo
e723b26eb0 Add maximumLength schema enforcer for strings 2015-06-01 18:45:38 +02:00
Nathan Sobo
b68902dd83 🎨 2015-06-01 18:45:38 +02:00
Kevin Sawicki
eaaa6b15e5 🚱 Prevent stdout/stderr data listener leaks
Old listeners were not cleaned up before new ones were being added
causing the following console message:

warning: possible EventEmitter memory leak detected.

Refs #7033
2015-06-01 09:38:10 -07:00
Max Brunsfeld
6f553f234c Add TextEditor::observeMarkers, use it in presenter
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-05-29 17:21:23 -07:00
Max Brunsfeld
b59bec5f9d Add Set::isEqual method in specs
This allows us to use the .toEqual matcher to compare Set
objects.
2015-05-29 17:18:48 -07:00
Max Brunsfeld
686c72eebe Merge pull request #6978 from mostafaeweda/initial-paths-2
Initial paths shouldn't be normalized on save and restore [2]
2015-05-29 10:28:56 -07:00
Antonio Scandurra
9b4d62b687 🐛 Update cursors after model changes
/cc: @nathansobo
2015-05-29 15:21:00 +02:00
Antonio Scandurra
b4dfb2a31b Merge branch 'master' into as-tiled-rendering 2015-05-29 14:19:25 +02:00
Nathan Sobo
447dfd8bec If a keystroke is bound to ‘unset!’, omit it in the application menu
Fixes atom/atom-keymap#79

This is more general than I would like. If the keystroke is unset in
any context, we err on the side of caution and don’t add it to the
application menu for any command. Since our application menu isn’t
context aware, this should be good enough for now and solve the 80%
case. Someday we should make the application menu update / gray out
options when the focused element changes.
2015-05-28 22:59:10 +02:00
Nathan Sobo
31cf19a205 Use previous definition of scope selector match to fix API breakage
I switched to first-mate Selector because I didn’t want to replicate
the poorly-defined Token::matchesScopeSelector method now that tokens
are not stored on lines. However, the first-mate semantics are stricter
and that broke the API. Perhaps using selector-kit here would be better,
but I just wanted to put back exactly to how it was for now.

/cc @ypresto
2015-05-28 10:38:35 +02:00
Mostafa Eweda
4c9e6c5a27 Revert "Merge pull request #6977 from atom/revert-6813-local-initial-paths"
This reverts commit 0c66802278, reversing
changes made to bdce576ab9.
2015-05-27 11:18:15 -07:00