Commit Graph

4835 Commits

Author SHA1 Message Date
Ben Ogle
299710f08a Integrate the pane containers into the workspace 2014-10-16 16:17:44 -07:00
Ben Ogle
83e5873f3b Panel containers have the orientation 2014-10-16 16:16:49 -07:00
Kevin Sawicki
8e3d8eda31 Removed added newline 2014-10-16 16:13:37 -07:00
Kevin Sawicki
afd1fa995f 💄 2014-10-16 16:13:37 -07:00
Kevin Sawicki
a03c9b6d68 Add trailing whitespace to line 2014-10-16 16:13:37 -07:00
Kevin Sawicki
cdd31d69a8 Add spec for joining from empty line 2014-10-16 16:13:37 -07:00
Kevin Sawicki
f94983d4d9 Scan buffer to remove trailing whitespace 2014-10-16 16:13:37 -07:00
Ben Ogle
5c2e55861c Add panel containers 2014-10-16 15:33:28 -07:00
Ben Ogle
734a79b7ec Add initial panel API.
It can only add things to the left right now.
2014-10-16 13:44:03 -07:00
Ben Ogle
50a5609c6b Merge pull request #3847 from atom/bo-scoped-defaults
Add scoped defaults
2014-10-16 11:04:15 -07:00
Ben Ogle
a42b3ff171 Support a scopeSelector in getSettings() 2014-10-15 16:26:03 -07:00
Ben Ogle
757abfe3db Config::restoreDefaults handles scopes 2014-10-15 15:33:38 -07:00
Ben Ogle
ae857203fd Support scoped settings in getDefault 2014-10-15 15:11:19 -07:00
Ben Ogle
62c1972c95 isDefault supports scoped settings 2014-10-15 14:44:16 -07:00
Nathan Sobo
04b3eef768 Fix theme-manager-specs 2014-10-15 15:14:13 -06:00
Nathan Sobo
a8b9e1b790 Handle style element updates in StylesElement 2014-10-15 15:14:13 -06:00
Nathan Sobo
be51ccf786 Add StylesElement::onDidAdd/RemoveStyleElement 2014-10-15 15:14:13 -06:00
Nathan Sobo
65e077abd1 Use StyleManager and StylesElement to manage all stylesheet elements
For now, loading remains in the theme manager, but all application of
stylesheets is routed through atom.styles.
2014-10-15 15:14:13 -06:00
Nathan Sobo
79598aaae9 Add StyleElement
This will be used to handle stylesheet rendering when we move management
of loading stylesheets to the StyleManager instead of the theme manager.
This sets us up for being able to render specific stylesheets in shadow
roots in addition to just having global stylesheets.
2014-10-15 15:14:13 -06:00
Nathan Sobo
62a43c6fb9 Revise StyleManager API 2014-10-15 15:14:12 -06:00
Nathan Sobo
1fe1147901 Add group parameter to StyleManager::addStyleSheet
This can be used to sequence style elements at the correct location in
the cascade even if they are loaded later than elements in a subsequent
group.
2014-10-15 15:14:12 -06:00
Nathan Sobo
1c97dcd195 Add sourcePath parameter to StyleManager::addStyleSheet 2014-10-15 15:14:12 -06:00
Nathan Sobo
d3371dbcd2 Start on StyleManager
This will take over raw stylesheet management from the theme manager
now that it’s becoming more complex with the need to target specific
host elements. Instead of actually adding nodes to the head of the
document, it will instead simply manage a set of stylesheets we want to
apply and leave actual DOM manipulation to <atom-styles> custom elements
that can render the set of active stylesheets in the appropriate
locations.
2014-10-15 15:14:12 -06:00
Kevin Sawicki
57fc3deaed Assert that resolved atom shell module paths exist 2014-10-15 13:12:42 -07:00
Kevin Sawicki
677949d61c Check that all builtins resolve without hitting fs 2014-10-15 13:09:47 -07:00
Kevin Sawicki
e09d7159bc Add spec for no compatible module version available 2014-10-15 13:09:47 -07:00
Kevin Sawicki
739a629552 💄 2014-10-15 13:09:47 -07:00
Kevin Sawicki
7f01a163e5 💄 2014-10-15 13:09:47 -07:00
Kevin Sawicki
fc44662ba3 Add spec for resolving compatible module paths 2014-10-15 13:09:47 -07:00
Kevin Sawicki
826681b6c2 Add relative path cache spec 2014-10-15 13:09:46 -07:00
Kevin Sawicki
8334bba484 Add initial ModuleCache spec 2014-10-15 13:09:46 -07:00
Ben Ogle
c16d84527d fix specs related to title 2014-10-13 17:48:06 -07:00
Ben Ogle
c0091b4601 scopes -> scopeDescriptor
!!!
2014-10-13 16:30:41 -07:00
Ben Ogle
0588e14850 Only notify when changed key path is really sub path of observed path
Closes #3775
2014-10-13 14:25:55 -07:00
Nathan Sobo
d3512514d8 Merge pull request #3746 from atom/ns-custom-tag-names
Use custom tag names in core
2014-10-09 07:58:54 -07:00
Nathan Sobo
1eb3d8bf99 Use ‘atom-text-editor’ custom tag name for TextEditorElement 2014-10-09 07:39:14 -07:00
Nathan Sobo
8941b97ed2 Use ‘atom-workspace’ custom tag name for WorkspaceElement 2014-10-09 07:39:14 -07:00
Nathan Sobo
ddf36a013c Use ‘atom-pane-axis’ custom tag name for PaneAxisElement 2014-10-09 07:39:14 -07:00
Nathan Sobo
ee9284e228 Use ‘atom-pane’ custom tag name for PaneElement 2014-10-09 07:39:13 -07:00
Ben Ogle
c154b8f4ec 💄 edit spec descriptions 2014-10-08 16:01:42 -07:00
Ben Ogle
c2081fa569 💄 test 2014-10-08 16:01:42 -07:00
Ben Ogle
841412bd01 Fix spec 2014-10-08 16:01:42 -07:00
Ben Ogle
8910dd1a11 Update to not new format from propertiesForSource 2014-10-08 16:01:42 -07:00
Ben Ogle
26524e87b0 💄 tests 2014-10-08 16:01:42 -07:00
Ben Ogle
2a73d7052d 💄 Clean up spec names 2014-10-08 16:01:42 -07:00
Ben Ogle
a3bbbc19b5 Read and write scoped settings from the user’s config 2014-10-08 16:01:42 -07:00
Ben Ogle
d3b00f67f2 Fix spec 2014-10-08 16:01:41 -07:00
Ben Ogle
2605044f19 Scope editor.showIndentGuide 2014-10-08 16:01:41 -07:00
Ben Ogle
ca4c40936a Scope editor.autoIndent 2014-10-08 16:01:41 -07:00
Ben Ogle
6958e0af10 Scope editor.normalizeIndentOnPaste 2014-10-08 16:01:41 -07:00
Ben Ogle
237c668ef0 Scope editor.invisibles and editor.showInvisibles 2014-10-08 16:01:41 -07:00
Ben Ogle
938f216cab Scope softWrap, softWrapAtPreferredLineLength, preferredLineLength
`editor.*` config settings
2014-10-08 16:01:41 -07:00
Ben Ogle
fbcaabacab Fix weird spec 2014-10-08 16:01:41 -07:00
Ben Ogle
857fd5eaf4 Retokenize when setTabLength() was called. 2014-10-08 16:01:40 -07:00
Ben Ogle
8cd217e50a Handle changes to the tabLength setting 2014-10-08 16:01:40 -07:00
Ben Ogle
339cb02269 Scope editor.tabLength 2014-10-08 16:01:40 -07:00
Ben Ogle
416898e278 Scope usage of editor.nonWordCharacters 2014-10-08 16:01:40 -07:00
Nathan Sobo
eaa3a27328 Add text-editor-element-spec and fix handling of focus and attributes 2014-10-08 12:13:13 -07:00
Nathan Sobo
2d7aa2efda Forward .abortKeyBinding() on CommandRegistry events to original event 2014-10-08 12:13:13 -07:00
Nathan Sobo
5d538fb1b0 💄 spec 2014-10-08 11:56:50 -07:00
Nathan Sobo
cdb4ed1327 Integrate jQuery::on and ::trigger with command registry dispatch 2014-10-08 11:56:50 -07:00
Nathan Sobo
0d55a377fb Support inline listeners
This extends the command registry to support listeners registered on
individual elements in addition to selectors. The analogy is inline
styles vs selector-based styles. I’m hoping this will be the foundation
of integrating cleanly with legacy commands registered via our
jQuery::command extension.
2014-10-08 11:56:50 -07:00
Nathan Sobo
2084c45404 💄 spec description 2014-10-08 11:56:50 -07:00
Kevin Sawicki
d12a2cf284 Unfocus spec 2014-10-03 15:23:54 -07:00
Nathan Sobo
e3245ec4b8 Remove logging from spec 2014-10-03 15:56:12 -06:00
Ben Ogle
a711e908d5 💄 2014-10-03 10:46:57 -07:00
Ben Ogle
f724c7fca8 Implement observing on scoped properties 2014-10-03 10:46:57 -07:00
Ben Ogle
899929a1ce addScopedDefaults -> addScopedSettings 2014-10-03 10:46:57 -07:00
Ben Ogle
e5d67bb2ff Can remove the clearing of scoped properties
Config is being created on each spec run!
2014-10-03 10:46:57 -07:00
Ben Ogle
d47dbede29 Fix specs 2014-10-03 10:46:57 -07:00
Ben Ogle
a8fad6a0fb Use disposables for removing properties 2014-10-03 10:46:13 -07:00
Ben Ogle
e2ac19c17f Use config rather than syntax for scoped properties 2014-10-03 10:46:13 -07:00
Ben Ogle
d72b179b3b Use config in spec helper 2014-10-03 10:46:13 -07:00
Ben Ogle
356f4bec7c Basic scoped settings in Config works 2014-10-03 10:46:13 -07:00
Nathan Sobo
4c124b8174 Merge pull request #3633 from atom/ns-workspace-custom-elements
Use custom elements for workspace views
2014-10-02 16:00:31 -06:00
Nathan Sobo
6ce5356505 Fix handling of submenus in conversion of legacy context menu format 2014-10-02 10:47:03 -06:00
Nathan Sobo
b24e1fa405 Merge branch 'master' into ns-workspace-custom-elements 2014-10-01 17:15:09 -06:00
Ben Ogle
28ee1f3598 Fix spec 2014-10-01 14:53:31 -07:00
Nathan Sobo
f004f8c45d Merge branch 'master' into ns-workspace-custom-elements
Conflicts:
	spec/pane-view-spec.coffee
	spec/workspace-view-spec.coffee
	src/workspace-view.coffee
	src/workspace.coffee
2014-10-01 11:49:23 -06:00
Nathan Sobo
33c1ce863e Pluralize Project API
This changes all APIs concerning paths and repositories on the project
to be plural, preparing us to switch to multi-folder projects. It
doesn’t make any changes to actually support multiple folders. Instead
we just wrap the previous return values in singleton arrays.

* constructor ‘path’ params -> ‘paths’
* getRootDirectory -> getDirectories
* getPath -> getPaths
* setPath -> setPaths
* getRepo -> getRepositories
2014-10-01 10:48:39 -06:00
Ben Ogle
57603b3a00 Fix config resetting all values when one changes.
Closes atom/settings-view#257
2014-10-01 09:37:25 -07:00
Nathan Sobo
70a804bdb4 Rename Workspace::registerOpener to ::addOpener for consistency 2014-09-30 17:09:35 -06:00
Nathan Sobo
72538891dd Merge remote-tracking branch 'origin/master' into ns-context-menu-cleanup
Conflicts:
	src/menu-manager.coffee
2014-09-30 14:53:10 -06:00
Nathan Sobo
211a1c75e2 Return a disposable from ThemeManager::requireStylesheet 2014-09-30 14:02:04 -06:00
Nathan Sobo
fd3cb1a232 💄 theme-manager-spec 2014-09-30 14:01:41 -06:00
Ben Ogle
54af7eced1 Handle empty config files + reset settings before applying user config
Closes #3664
2014-09-30 12:39:07 -07:00
Nathan Sobo
10f7a671c8 Merge pull request #3667 from atom/ns-deserializer-manager-disposables
Return disposables from DeserializerManager::add
2014-09-30 13:10:35 -06:00
Nathan Sobo
33a5ca30dc Use DeserializerManager::add disposable instead of ::remove in specs 2014-09-30 12:58:10 -06:00
Nathan Sobo
8cb8f09803 Return a Disposable instance from DeserializerManager::add 2014-09-30 12:58:10 -06:00
Nathan Sobo
4a0c5aaa70 Prevent adjacent menu separators 2014-09-30 12:06:27 -06:00
Nathan Sobo
eb929cb7a2 Honor item specificity while still preserving addition order
Rather than using order to specify item precedence, we now construct
a set of menu items for each element traversing upward from the target.
When merging items for a given element, we pass the specificity to the
merge function, which uses it to decide whether or not to clobber
existing items. When assembling the overall menu, we don’t ever clobber
to ensure that items added for elements closer to the target always win
over items matching further up the tree.
2014-09-30 12:06:27 -06:00
Nathan Sobo
36d5359ef4 Restore original context menu ordering
Previously I used CSS specificity to order the most specific / recently
added menu items for a given element *first* when building up the
context menu. When a duplicate label was found for a given menu I would
refrain from inserting it. Now instead I order things the opposite way.
The most specific / recently added items come later and items with the
same label are clobbered by later items.
2014-09-30 12:06:26 -06:00
Nathan Sobo
915cfe15f5 Clear context menus between specs 2014-09-30 12:06:26 -06:00
Nathan Sobo
f082f93ead Update specs for new ContextMenuManager API/behavior
When selectors have the same specificity, menu items added *later*
appear higher in the list.
2014-09-30 12:06:26 -06:00
Nathan Sobo
782f9c609e Add shouldDisplay hook for context menu items
If present, if a falsy value is returned from this function for a given
context menu invocation, the item will not be displayed.
2014-09-30 12:06:09 -06:00
Nathan Sobo
3a567b3c5b Call context menu item ::created hooks with the click event 2014-09-30 12:06:08 -06:00
Nathan Sobo
c5b395579b Add devMode flag to individual items 2014-09-30 12:06:08 -06:00
Nathan Sobo
f8225a6441 Make arguments atom.contextMenu.add consistent with atom.menu.add 2014-09-30 12:06:08 -06:00
Nathan Sobo
5e6e3c8d72 Merge pull request #3655 from atom/ns-menu-disposables
Return disposables from MenuManager::add and add specs
2014-09-30 12:05:11 -06:00
Ben Ogle
a8d93f9cf4 Spec for unsubscribing from commands 2014-09-30 09:45:55 -07:00
Ben Ogle
b54deccfae String type must be strict.
It makes sense to coerce from more general -> more specific data types.
eg. string -> int, etc. But coercing the other way is problematic
in the case of chaining because the more general type will swallow the
specific type. eg. Setting `false` on type: [‘string’, ‘boolean’] will 
coerce the boolean to a string, and will never allow the value to be
a boolean.
2014-09-29 16:09:49 -07:00
Ben Ogle
a7185a894f Fix specs 2014-09-29 16:09:49 -07:00
Ben Ogle
16c7fd3d70 Add spec for update event on load 2014-09-29 16:09:49 -07:00
Ben Ogle
08b138997d Change the onDidChange / observe arguments
Support passing no keypath
2014-09-29 16:09:48 -07:00
Ben Ogle
ef19e925e9 Strings accept numbers too 2014-09-29 16:09:48 -07:00
Ben Ogle
2c1fa19e27 Update spec strings 2014-09-29 16:09:48 -07:00
Ben Ogle
22fb5adda9 Remove deprecated calls for config.observe .. callNow: false in core 2014-09-29 16:09:47 -07:00
Ben Ogle
800dee09ba Make boolean schema validator a little tighter 2014-09-29 16:09:47 -07:00
Ben Ogle
6b4ce902ba Undefined in Config::set always unsets the value 2014-09-29 16:09:46 -07:00
Ben Ogle
03a9a67ba8 Move spec 2014-09-29 16:08:04 -07:00
Ben Ogle
ae76bd6c96 Do not allow infinity in number types 2014-09-29 16:08:04 -07:00
Ben Ogle
662fc443dc Fix specs 2014-09-29 16:08:04 -07:00
Ben Ogle
0fc773c1fc Warn when loading bogus values from the user's config 2014-09-29 16:08:03 -07:00
Ben Ogle
832b4ae4d8 Fix specs 2014-09-29 16:08:03 -07:00
Ben Ogle
af1bdaf901 Dont fail when there are thigns to set with array and object types 2014-09-29 16:08:03 -07:00
Ben Ogle
969ca048e8 Fix specs 2014-09-29 16:08:03 -07:00
Ben Ogle
0d2fdec326 Fix specs in config 2014-09-29 16:08:03 -07:00
Ben Ogle
fc3ba775c8 Support schemas in packages 2014-09-29 16:08:03 -07:00
Ben Ogle
0bb8821644 Editor config uses a schema 2014-09-29 16:08:03 -07:00
Ben Ogle
5fdf3f894c Load the config from Atom class so as not to duplicate 2014-09-29 16:07:02 -07:00
Ben Ogle
5bf09716ef convert the workspace config to use a schema 2014-09-29 16:06:27 -07:00
Ben Ogle
9fff544955 Fix specs 2014-09-29 16:05:24 -07:00
Ben Ogle
9fbbd1e59b Back to getSchema 2014-09-29 16:05:24 -07:00
Ben Ogle
2c1190b552 Validate enum keywords 2014-09-29 16:05:24 -07:00
Ben Ogle
5e9a269278 getSchema -> schemaForKeyPath 2014-09-29 16:05:24 -07:00
Ben Ogle
f7f28e7995 Handle minimum and maximum keywords on number types 2014-09-29 16:05:24 -07:00
Ben Ogle
ac67430926 Handle bad values in number type 2014-09-29 16:05:23 -07:00
Ben Ogle
409b5536e1 Support arrays 2014-09-29 16:05:23 -07:00
Ben Ogle
2526ba0efb Add an object filter 2014-09-29 16:05:23 -07:00
Ben Ogle
1a8c5ba551 Handle validation of schema types 2014-09-29 16:05:23 -07:00
Ben Ogle
f909d32826 Support more types 2014-09-29 16:05:23 -07:00
Ben Ogle
d0bb49dea0 Add type filter system to config 2014-09-29 16:05:23 -07:00
Ben Ogle
02e87555f4 Handle schema loading 2014-09-29 16:05:23 -07:00
Ben Ogle
a79c015774 Update ::observe and add ::onDidChange 2014-09-29 16:05:23 -07:00
Nathan Sobo
f6f891fa14 Construct test instance of MenuManager in spec 2014-09-29 11:45:01 -06:00
Nathan Sobo
be7d093a4a Merge remote-tracking branch 'origin/master' into ns-workspace-custom-elements
Conflicts:
	package.json
2014-09-29 11:13:45 -06:00
Nathan Sobo
2f93032a37 Don’t add duplicate items to the same menu 2014-09-29 11:11:36 -06:00
Nathan Sobo
c058b44a1b 💄 spec description 2014-09-29 11:11:10 -06:00
Nathan Sobo
bbeb0b5919 Return disposables from MenuManager which can be used to remove menus 2014-09-29 10:34:50 -06:00
Ben Ogle
b958286d22 Click to expand stack traces 2014-09-26 17:31:09 -07:00
Nathan Sobo
b5fc4aec84 Re-render component when EditorView is reattached
Fixes #3640
2014-09-26 15:15:23 -06:00
Nathan Sobo
0ebedeec3a Merge remote-tracking branch 'origin/master' into ns-workspace-custom-elements
Conflicts:
	package.json
	src/workspace.coffee
2014-09-26 14:49:28 -06:00
Ben Ogle
1f2fc4bf00 Merge pull request #3619 from lee-dohm/scroll-past-end
Add ability to scroll past the end of the file
2014-09-26 11:47:58 -07:00
Ben Ogle
3601d113ad Deactivate and unload all packages 2014-09-26 11:21:42 -07:00
Lee Dohm
00baedbdf9 Add specs for editor.scrollPastEnd behavior 2014-09-25 23:05:47 -07:00
Nathan Sobo
aa1eb94fa7 Ignore redundant calls to $::attachToDom 2014-09-25 22:17:26 -06:00
Nathan Sobo
5a72d12026 Don’t use jQuery to attach window listeners in spec-helper
This prevents the command palette spec from failing because it’s
explicitly asserting that no listener registered on the window without
a description should show up in the palette, but core:close is also
registered on the workspace.
2014-09-25 20:57:09 -06:00
Nathan Sobo
3442157e16 Fix command-installer-spec 2014-09-25 20:39:04 -06:00
Ben Ogle
c5fa8fdf11 Fix spec 2014-09-25 15:15:50 -07:00
Ben Ogle
e060e08f93 Deactivate and unload lang packages after use 2014-09-25 15:14:30 -07:00
Ben Ogle
039afff1de Unload the coffee grammar after using 2014-09-25 15:14:29 -07:00
Ben Ogle
d33bd291dd Deactivate / unload packages after use
This was messing with other specs!
2014-09-25 15:14:29 -07:00
Ben Ogle
0bc2b45200 Rename spec files 2014-09-25 15:14:29 -07:00
Ben Ogle
683d0d1b16 Editor -> TextEditor 2014-09-25 15:14:29 -07:00
Ben Ogle
82c53b539a editor.coffee -> text-editor.coffee 2014-09-25 15:14:29 -07:00
Ben Ogle
c2f44efe31 editor-view -> text-editor-view 2014-09-25 15:14:29 -07:00
Ben Ogle
b3038eb968 editor-component -> text-editor-component 2014-09-25 15:14:29 -07:00
Nathan Sobo
442223f97b 💄 spec language 2014-09-25 12:44:53 -06:00
Nathan Sobo
eaa90e6158 Clean up debugging 2014-09-25 12:33:05 -06:00
Nathan Sobo
670f3e4946 Add WorkspaceElement 2014-09-25 11:41:09 -06:00
Nathan Sobo
ae488fc7fe Update document edited status in workspace model
This also fixes a previous oversight where the status wasn’t updated
when switching between pane items with different modified status.
2014-09-24 17:00:25 -06:00
Nathan Sobo
28deb9dec5 Maintain document.title in the workspace model, not the view 2014-09-24 16:26:54 -06:00
Nathan Sobo
186335d619 Mock out document.title with Object.defineProperty
Previously the WorkspaceView::setTitle was mocked in specs to prevent
the title from changing. But I would like to move the title update logic
without breaking assertions, so now we can assert directly on
document.title.
2014-09-24 15:56:50 -06:00
Nathan Sobo
1c58438124 Move PaneContainerView::confirmClose to the model layer 2014-09-24 15:46:01 -06:00
Nathan Sobo
465d2afd95 Remove the old root view properly 2014-09-24 15:28:34 -06:00
Nathan Sobo
47f8f7eb11 Switch specs to use activationCommands instead of activationEvents
The activationEvents are converted to the same format as
activationCommands, and that property will be deprecated.
2014-09-24 14:34:29 -06:00
Nathan Sobo
63181a17c8 Support activationCommands field in package.json
This field mandates selectors in its structure and closely matches the
API of `atom.commands.add`. It will supplant `activationEvents` moving
forward.
2014-09-24 14:34:28 -06:00
Nathan Sobo
7d31b17273 Use the CommandRegistry to register activation event listeners
Commands registered with the command registry will always be handled
first, so as long as we disable any listeners in the registry that were
already invoked for the current command, we don’t need to disable jQuery
methods before replaying the command after activating the package.

This commit adds the ability to call .disableInvokedListeners on the
event passed to the command listeners. This returns a function which
can be called to reenable them.
2014-09-24 14:34:28 -06:00
Nathan Sobo
066f6bf03c Forward stop[Immediate]Propagation to original event in CommandRegistry
Previously, stopping propagation would work on the synthetic bubbling
phase of the command registry itself, but the original event would
continue to propagate which is counterintuitive.
2014-09-24 14:34:28 -06:00
Nathan Sobo
a492596f7f Allow atom.commands to participate in activationEvents
* Activation events can be handled via atom.commands
* Pre-existing listeners registered via atom.commands are disabled when
  replaying events for the activated package.
2014-09-24 14:34:28 -06:00
Nathan Sobo
2df5957f9b Restore commands after each spec
This commit adds the ability to get and restore snapshots of command
listeners. Whatever commands are installed before specs begin are
preserved, but commands added during specs are always cleared away.
2014-09-24 14:34:28 -06:00
Nathan Sobo
a7196ec906 Dispatch activation commands with native DOM apis in specs 2014-09-24 14:34:28 -06:00
Nathan Sobo
c094b7a0ef Extract package-manager-specs from atom-specs 2014-09-24 14:34:28 -06:00
Nathan Sobo
09b5ac887a Return whether a dispatched command matched a listener 2014-09-24 14:34:28 -06:00
Nathan Sobo
67ff8f4382 Don’t clear commands after specs
Commands are typically registered once at eval time. Clearing them
means that commands aren’t available except in the first spec.
2014-09-24 14:34:27 -06:00
Nathan Sobo
0c9fd46030 Add CommandRegistry::dispatch for tests 2014-09-24 14:34:27 -06:00
Nathan Sobo
3dbaa0679b Merge pull request #3587 from atom/ns-workspace-view-providers
Add view provider API to Workspace
2014-09-23 13:08:00 -06:00
Ben Ogle
3bc115a7a0 Merge pull request #3606 from atom/bo-model-placeholder-text
Model EditorView::setPlaceholderText
2014-09-23 11:20:23 -07:00
Ben Ogle
169a5de6a3 not.toBeDefined -> toBeUndefined 2014-09-23 10:38:38 -07:00
Ben Ogle
4606ce2d50 Model setPlaceholderText
Less dependence on the editorView!
2014-09-22 17:21:42 -07:00
Ben Ogle
c62fb26001 onDidChangeSelectionRange emits object with ranges + selection 2014-09-22 16:08:12 -07:00
Ben Ogle
5083c18c84 Add cursor to onDidChangeCursorPosition event object 2014-09-22 15:37:41 -07:00
Kevin Sawicki
dc3a3225b3 Remove logging from specs 2014-09-22 15:00:06 -07:00
Ben Ogle
6e8cfba440 nof 2014-09-22 11:07:53 -07:00
Ben Ogle
7a429b024e Use GitRepository rather than Git 2014-09-22 11:07:41 -07:00
Nathan Sobo
ddb85abe77 Don’t add the same editor to two different panes in spec 2014-09-19 16:30:37 -06:00
Nathan Sobo
55cce48af1 Throw an exception if the same pane item is added twice in the workspace 2014-09-19 16:24:13 -06:00
Nathan Sobo
d344adc21e Allow view providers to specify a createView factory method
If present, it will be called with the model object instead of
instantiating the view constructor directly and assigning a model on it.
This gives users more flexibility when constructing views.
2014-09-19 16:24:13 -06:00
Nathan Sobo
74d772f069 Rename view/modelClass to view/modelConstructor in view provider specs
It’s a more technically correct term. You use a class keyword to declare
these things, but the actual objects you pass around to talk about them
are constructor functions.
2014-09-19 16:24:13 -06:00
Nathan Sobo
e2e804483f Return disposable from ViewRegistry::addViewProvider 2014-09-19 16:24:13 -06:00
Nathan Sobo
b5499247b3 Use view providers to build views if a matching provider is available 2014-09-19 16:24:13 -06:00
Nathan Sobo
54378b11d4 Isolate ViewRegistry specs 2014-09-19 16:24:12 -06:00
Nathan Sobo
0877721ce9 Construct PaneAxisViews and PaneViews via ViewRegistry 2014-09-19 16:24:12 -06:00
Nathan Sobo
7f41be3103 Use atom.workspace.getView to construct WorkspaceViews
It returns the root DOM node of the workspace. Eventually this will
be a custom element but for now it’s just a DOM node with a
__spacePenView reference on it.
2014-09-19 16:24:12 -06:00
Nathan Sobo
7baa3b6f09 Start on Workspace::getView 2014-09-19 16:24:12 -06:00
Kevin Sawicki
ee093d1709 Merge pull request #3582 from atom/ks-dont-allow-focused-specs-on-ci
Fail focused specs on CI
2014-09-18 16:16:17 -07:00
Ben Ogle
155d4ce733 Merge pull request #3569 from atom/bo-proper-doc-marker
Rename DisplayBufferMarker to Marker
2014-09-18 16:14:35 -07:00
Kevin Sawicki
021278e902 Always auto indent at least one hard tab
Previously when the delta between the suggested and current indent level
was greater than zero but less than one, no text would be inserted since
Editor::buildIndentString returns an empty string for levels less than one
when using hard tabs.

Closes #3575
2014-09-18 15:36:31 -07:00
Kevin Sawicki
597942c4ac Fail focused specs on CI
This ensures focused specs never end up as green builds
2014-09-18 15:18:42 -07:00
Kevin Sawicki
7f3279e789 Unfocus spec 2014-09-18 14:50:36 -07:00
Ben Ogle
9af2325f17 Rename DisplayBufferMarker -> Marker
Gnar!! 😎
2014-09-18 13:53:12 -07:00
Ben Ogle
cef8b95ef3 Deprecate s|getAttributes for s|getProperties 2014-09-18 13:53:12 -07:00
Kevin Sawicki
31dd109343 Add Editor::onDidDestroy 2014-09-18 11:51:44 -07:00
Kevin Sawicki
c37e4649b5 Only call replace on string arguments
Prevents errors being thrown when trying to call replace on non-string
arguments.
2014-09-18 11:31:29 -07:00
Kevin Sawicki
3fb22f123a Don't throw errors when folding comments
Previously trying to fold single line comments at the start/end
of files would throw errors since the +1 and -1 used in the
index ranges would cause the loop to advance past the last row
or before the first row.
2014-09-18 11:06:25 -07:00
Ben Ogle
8448b265d5 Merge pull request #3549 from atom/bo-visibility-split
Add sections and split methods into essential / extended API
2014-09-17 16:51:50 -07:00
Nathan Sobo
d36c738b07 Merge pull request #3469 from atom/ns-command-registry
Add command registry
2014-09-17 14:55:19 -06:00
Kevin Sawicki
f1fd13b0b2 Return as soon as first paired character is found
Previously the character count of the entire string was taken even
though it was only checking for the presence of a paired character.

Now hasPairedCharacter returns as early as possible and the now
unused getCharacterCount has been removed.
2014-09-17 10:35:33 -07:00
Kevin Sawicki
e343b0e0fc Don't treat consecutive variation selectors as a sequence 2014-09-17 10:17:27 -07:00
Kevin Sawicki
3acddf3e71 📝 Drop text 2014-09-17 10:17:26 -07:00
Kevin Sawicki
df68ae26a2 Add specs for variation sequences 2014-09-17 10:17:26 -07:00
Kevin Sawicki
fb7061f500 📝 Mention variation sequence in specs 2014-09-17 10:17:26 -07:00
Kevin Sawicki
878da262d2 Add support for Unicode variation sequences
These are character pairs that should be treated as tokens with a
buffer delta of 2 and a screen delta of 1.
2014-09-17 10:17:26 -07:00
Kevin Sawicki
36f60c517e Assert other whitespace class is not present 2014-09-17 09:50:55 -07:00
Kevin Sawicki
348f865cab Add spec for all whitespace lines 2014-09-17 09:47:49 -07:00
Kevin Sawicki
18f54e6780 💄 Put leading spec first 2014-09-17 09:42:31 -07:00
Kevin Sawicki
b281737838 Add leading/trailing classes to hard tab tokens
Previously the leading-whitespace and trailing-whitespace classes
were never added to tokens that were hard tabs.
2014-09-17 09:42:31 -07:00
Ben Ogle
c0dd53104a Make a managing the atom window section
de-public the get/setWindowDimensions in favor of 
the (get|set)(Size|Position)
2014-09-16 11:37:11 -07:00
Ben Ogle
f12b70e3b7 Editor::onDidChangeScreenLines -> onDidChange 2014-09-16 10:51:32 -07:00
Nathan Sobo
eb97154c94 Merge remote-tracking branch 'origin/master' into ns-command-registry 2014-09-16 10:27:00 -06:00
Nathan Sobo
a069f34ad6 Fix CommandRegistry::findCommands spec
Don’t assert against commands registered on the window with jQuery
2014-09-16 09:23:52 -06:00
Nathan Sobo
a0edb92e16 Rename editor.softWrapped config option back to editor.softWrap 2014-09-15 14:34:35 -06:00
Kevin Sawicki
8c2bcf3943 Catch and log deactivate errors
Closes #3538
2014-09-15 08:34:54 -07:00
Kevin Sawicki
e6252546c4 Set initialLoadComplete to true in specs 2014-09-11 15:49:44 -07:00
Nathan Sobo
8f9cf3c790 Set the atom.commands root node to document.body in beforeEach 2014-09-11 14:17:45 -06:00
Nathan Sobo
99cf8fabc0 Clear atom.commands after each spec 2014-09-11 14:13:48 -06:00
Nathan Sobo
3e0e19d51b Add CommandRegistry::findCommands 2014-09-11 13:48:35 -06:00
Nathan Sobo
155fb675ec 💄 group dispatch specs 2014-09-11 13:48:35 -06:00
Nathan Sobo
43d3082d4e Allow multiple commands to be registered by passing an object 2014-09-11 13:48:35 -06:00
Nathan Sobo
aee33fc126 Pass selector first to CommandRegistry::add 2014-09-11 13:48:35 -06:00
Nathan Sobo
4de0865d28 Allow listeners to be removed via a Disposable returned from ::add 2014-09-11 13:48:34 -06:00
Nathan Sobo
fe27ebec1b Handle .stopImmediatePropagation() being called on command events 2014-09-11 13:48:34 -06:00
Nathan Sobo
fbaf956e1f Handle .stopPropagation() being called on command events 2014-09-11 13:48:34 -06:00
Nathan Sobo
5eb22520f1 Order multiple matching listeners by selector specificity 2014-09-11 13:48:34 -06:00
Nathan Sobo
a075aa2b07 Perform synthetic bubbling through event target ancestors 2014-09-11 13:48:34 -06:00
Nathan Sobo
decc983420 Start on CommandRegistry 2014-09-11 13:48:34 -06:00
Ben Ogle
04c0824822 Fix / clean up specs 2014-09-11 11:28:21 -07:00
Ben Ogle
f38fb2a924 nof 2014-09-11 11:11:15 -07:00
Ben Ogle
f39114a95c Subscribe to items via event methods.
Add deprecation warnings when they don’t return a disposable
2014-09-11 10:48:03 -07:00
Ben Ogle
c1f8065caf Use the new split*() methods on Pane model in WorkspaceView specs 2014-09-10 17:41:38 -07:00
Ben Ogle
6e3c945fa2 Use event methods for theme subscriptions 2014-09-10 17:26:08 -07:00
Nathan Sobo
d55f5cba78 Upgrade first-mate for event subscription methods 2014-09-10 17:24:55 -06:00
Ben Ogle
d3b3fdefc9 Merge pull request #3507 from atom/bo-rename-events
Rename the rest of the internal events to the onDid* pattern
2014-09-10 12:11:26 -07:00
Ben Ogle
40b32930cf Revert "Add Project::onDidCreateBuffer"
This reverts commit 4070e5fb25.
2014-09-10 11:55:41 -07:00
Ben Ogle
61fa1c4230 Revert "Add Project::observeBuffers"
This reverts commit b6fe72ef9e.

Conflicts:
	src/project.coffee
2014-09-10 11:55:26 -07:00
Kevin Sawicki
883f7e1f5a Use cross-platform path in specs 2014-09-10 10:22:48 -07:00
Ben Ogle
5ba5215f5d Add event subscription methods to ThemeManager 2014-09-09 15:35:00 -07:00
Ben Ogle
3bf348e51f Add ThemeManager::onDidReloadAll 2014-09-09 15:24:55 -07:00
Ben Ogle
0afd8a1392 Add Package::onDidDeactivate 2014-09-09 15:09:18 -07:00
Ben Ogle
ae4f92cc52 Add onDidChangeStatuses 2014-09-09 14:45:31 -07:00