Commit Graph

292 Commits

Author SHA1 Message Date
Max Brunsfeld
027ebc78c4 Respect service{Provisions,Dependencies} in packages' metadata 2015-02-02 10:00:53 -08:00
Nathan Sobo
49699bddf2 Fix styleSheets manifest key in package.json of fixtures 2015-01-14 19:52:26 -07:00
Nathan Sobo
fb4956dde6 Fix deprecated styleSheets manifest key 2015-01-14 18:48:27 -07:00
Nathan Sobo
e60a9e45f7 Display package name correctly for ::getUri deprecation warnings
We capture the package name during the call to ::addOpener and use it
if any open items have the deprecated ::getUri method.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-01-14 14:23:17 -07:00
Max Brunsfeld
174b7072b7 Add specs for Task events
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-01-09 16:59:13 -08:00
Nathan Sobo
0a5b4f9b33 Make “style sheet” two words in package.json metadata
Rename `stylesheets` -> `styleSheets`
Rename `stylesheetsMain` -> `mainStyleSheet`
2015-01-09 09:04:04 -08:00
Nathan Sobo
932d3755ce Rename stylesheets/ directory in fixture packages 2015-01-09 08:56:12 -08:00
Kevin Sawicki
6fe7eb086f Gracefully handle empty keymaps and menus
Closes atom/settings-view#310
2015-01-07 09:18:57 -08:00
Nathan Sobo
b4246a2f07 Load package settings from settings and deprecate scoped-properties 2014-12-29 15:46:10 -06:00
Max Brunsfeld
aecd689593 Call Workspace::getActiveTextEditor, not ::getActiveEditor 2014-12-04 08:57:33 -08:00
Ben Ogle
2d885496a3 Update to new menu format 2014-11-26 14:55:39 -08:00
Ben Ogle
fb223db958 Remove workspaceView from PackageManager specs 2014-11-19 17:46:32 -08:00
Nathan Sobo
481e444ffe Reassign context to undefined because CoffeeScript needs a var keyword
Fixes #4100
2014-11-07 18:00:38 -07:00
Nathan Sobo
d060ecdc24 Assign package stylesheet context based on double-extension in file name
If stylesheet files are named with 2 extensions, the first extension is
used as the context argument when the package’s stylesheets are loaded.
This allows people to target the text editor by naming their stylesheet
`index.atom-text-editor.less`.
2014-11-04 16:37:26 -07:00
Kevin Sawicki
6e827434fd Log a warning when a enabled theme isn't installed 2014-10-30 10:04:38 -07:00
Kevin Sawicki
826681b6c2 Add relative path cache spec 2014-10-15 13:09:46 -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
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
Ben Ogle
fc3ba775c8 Support schemas in packages 2014-09-29 16:08:03 -07: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
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
Kevin Sawicki
8c2bcf3943 Catch and log deactivate errors
Closes #3538
2014-09-15 08:34:54 -07:00
Kevin Sawicki
56df7bdbe3 Add version to package 2014-07-25 15:23:36 -07:00
Kevin Sawicki
1ea909d4db Check installed packages for working native modules
Test require each native module in each installed package to make sure
it can be required successfully in Atom.
2014-07-25 15:19:16 -07:00
Kevin Sawicki
adaee84933 Remove unused fixtures 2014-07-23 10:11:02 -07:00
Kevin Sawicki
84ff28ee69 Remove unused package fixtures 2014-07-23 10:11:01 -07:00
Kevin Sawicki
cfb1501720 Remove unused replication fixture 2014-07-23 10:11:01 -07:00
Ben Ogle
e620121953 Add spec for loading theme with incomplete variable file 2014-07-11 14:04:54 -07:00
Kevin Sawicki
0524a724e1 Move fixtures into repo 2014-06-02 10:17:13 -07:00
probablycorey
7f57a094f6 Determine softTab state after the buffer is tokenized. 2014-05-28 16:31:00 -07:00
probablycorey
6bb260140b Don't use comment lines to determine soft/hard tabs.
Closes atom/language-php#24
Closes #1733
2014-05-07 12:18:05 -07:00
Kevin Sawicki
8cb66895f0 Check that activations events are present
Having an empty array, object, or string will now be treated
as no activation events.

This was reported as being confusing since people were just clearing
the array generated by the package generator but their packages weren't
activating.
2014-03-11 16:15:30 -07:00
Kevin Sawicki
3571d1e60e Remove unused .tmbundle fixture 2014-02-17 14:47:05 -08:00
Kevin Sawicki
e439847b59 Remove preferences folder spec 2014-02-17 14:24:26 -08:00
probablycorey
c6baed045d Merge remote-tracking branch 'origin/master' into ks-remove-immediate-and-sync-activate-calls
Conflicts:
	package.json
2014-02-11 12:29:02 -08:00
probablycorey
3592ec19df Don't use activation events on fixture package with serialization error 2014-02-10 15:52:33 -08:00
probablycorey
f10e55b4d5 Remove deferred package deserializers 2014-02-05 14:46:49 -08:00
Kevin Sawicki
c225d180ba Set fixture theme types to "ui" 2014-02-03 11:15:31 -08:00
Nathan Sobo
ed93695d64 Add a foldable indicator for multi-line comments 2014-01-18 12:08:37 -07:00
Kevin Sawicki
6f5d85edb9 Use grammar registry from first-mate 2013-12-31 15:15:39 -08:00
Kevin Sawicki
3ce6176313 Rename rootView to workspaceView 2013-11-26 11:02:53 -08:00
Kevin Sawicki
d0b380e535 Add atom prefix to rootView and project references 2013-11-20 17:23:47 -08:00
Kevin Sawicki
5ec6a4a189 Use atom.deserializers directly 2013-11-20 14:18:38 -08:00
Matt Colyer
5541875965 Don't append duplicate menu items
Fixes #995
2013-10-18 10:20:03 -07:00
Kevin Sawicki
caadec6e62 jquery 2.0 can't be required in tasks 2013-10-16 13:35:12 -07:00
Kevin Sawicki
a7bd04de36 Remove package fixtures from core fixtures dir 2013-10-14 11:25:35 -07:00
Kevin Sawicki
a55847b03b Add dir/b.txt to working-dir fixture repo 2013-10-14 10:34:08 -07:00
Kevin Sawicki
714a1327ce Add a.txt to working-dir fixtures 2013-10-14 10:33:38 -07:00
Matt Colyer
4d415d3ca9 Generate evil file fixtures depending on platform 2013-10-11 14:09:17 -07:00
Matt Colyer
6a37f9dad4 Merge branch 'master' into some-files-are-just-too-evil 2013-10-11 13:43:12 -07:00
Matt Colyer
12b42bf459 Initialize AtomPackage attributes earlier
This should make our package loading process a bit more robust.
2013-10-11 12:49:31 -07:00
Matt Colyer
abd8bd1253 Handle errors in package.json gracefully 2013-10-11 12:49:31 -07:00
Kevin Sawicki
0ac683284d Revert "Remove fixture file"
This reverts commit 818fc10ba5.

Bring back this file until archive-view is published with
fixtures included locally.
2013-10-10 15:48:24 -07:00
probablycorey
818fc10ba5 Remove fixture file
The Archive View apm maintains nested.tar in its fixtures directory
2013-10-10 11:57:13 -07:00
Matt Colyer
ffdfe63a4e Add specs 2013-10-08 16:23:34 -07:00
Paul Betts
3e933ee81b Nuke these from the repo, they break cloning on Win32 2013-09-25 17:50:40 -07:00
probablycorey
861adf6692 Start using scandal and make the specs pass 2013-09-25 11:03:28 -07:00
Ben Ogle
347b1924cd Add font-family to ui-variables 2013-09-23 16:27:49 -07:00
Ben Ogle
78176da861 Add a theme fixture 2013-09-20 18:03:21 -07:00
Matt Colyer
c39ced381d Implement declarative context menu loading 2013-09-19 14:21:31 -07:00
Matt Colyer
134510dfe1 Move old Theme specs and apply them to AtomPackage. 2013-09-16 12:15:09 -07:00
Matt Colyer
658c106349 Convert fixture themes to packages 2013-09-13 16:20:05 -07:00
Ben Ogle
a94a1924a0 Add selected var to the ui variables 2013-09-10 12:01:15 -07:00
Ben Ogle
d39651a69d Add new vars to all ui-variables files. 2013-09-10 12:01:15 -07:00
Ben Ogle
1267ac57fc Add new variables to the fixture theme 2013-09-10 11:59:48 -07:00
Ben Ogle
d1c1ecc9a4 Add ability to override ui-variables in theme
This required moving the importable less files to a `less-imports` 
directory and adding that directory to the less path. Otherwise, 
atom.less would import ui-variables from its current directory 
(/static/ui-variables) as less searches the current directory before 
any other directories on the path.
2013-09-04 12:25:27 -07:00
Kevin Sawicki
fd9f3d6543 Don't serialize packages unless the main module was activated
The settings-view activates the config for each package before it renders
causing the main module to be required in order to call activateConfig().
This was causing serialize to be called when the window state was being
saved which was incorrect since activate hadn't actually been called even
though the main module was required.
2013-08-29 14:48:42 -07:00
Kevin Sawicki
c6d1409151 Merge branch 'master' into summit
Conflicts:
	.pairs
	package.json
	spec/app/tokenized-buffer-spec.coffee
	src/app/edit-session.coffee
	src/app/project.coffee
	src/app/window.coffee
	src/atom-application.coffee
	static/root-view.less
2013-08-14 14:05:35 -07:00
probablycorey
69eace6292 Remove references to windowed config panel 2013-08-05 13:54:37 -07:00
Ben Ogle
519c514092 add a new sample with some comments 2013-07-24 12:05:15 -07:00
Kevin Sawicki & Nathan Sobo
fa59aafffb Relativize buffer paths for replication
TextBuffers now maintain a reference to their containing project to
make it easier to test replication of buffers between environments
without worrying about the value of the `project` global.

We're also starting the process of moving the `git` global into Project
as the `Project.repository` property.
2013-07-22 18:13:01 -06:00
Kevin Sawicki
2826d50cbb Remove logging of pid 2013-06-17 12:11:26 -07:00
Corey Johnson & Kevin Sawicki
8c4bddac9f Add spec for Task.once() 2013-06-17 12:11:26 -07:00
Kevin Sawicki
a1d6ae010e 💄 2013-06-17 12:11:25 -07:00
Kevin Sawicki
15f6a33c4b Rename path variables to prevent collisions 2013-06-12 17:27:23 -07:00
Corey Johnson & Kevin Sawicki
0c8f200d45 Always load bundle preferences
Previously the scoped properties would not load if there weren't
any grammars in the bundle or if listing the grammars directory
failed.

Closes #570
2013-06-11 13:52:40 -07:00
Kevin Sawicki
68074be9d6 Add initial archive viewer spec 2013-06-10 14:11:19 -07:00
Corey Johnson & Kevin Sawicki
f8f059d3fe Use correct textmate package names 2013-05-29 11:01:59 -07:00
Garen Torikian
dd041945d2 Transform specs to something useful 2013-05-03 16:57:41 -07:00
Nathan Sobo
8980a97895 Add atom.activatePackageConfig, which is called in config windows
This calls an optional `activateConfig` method on the package's main
module, which allows it to add a configuration interface to the
`configView`.
2013-04-26 15:32:47 -07:00
Nathan Sobo
9c7ff78fc8 Move language-specific integration tests to text-mate-grammar-spec 2013-04-25 17:15:27 -06:00
Kevin Sawicki
62c94959e1 Move injections spec to TextMateGrammar spec
This spec was previously in the TokenizeBuffer spec which
required having a PHP fixture and setting up an edit session
to verify a line could be tokenized which was unnecessary.
2013-04-19 10:58:35 -07:00
Kevin Sawicki & Nathan Sobo
1dffb9237a Use the earliest result when both injection and non-injection patterns match 2013-04-19 10:58:34 -07:00
Kevin Sawicki
c2eca1ff99 Add initial support for injection grammars
Build scope selectors and patterns when setting up the grammar
for all entries under the grammar's injection object.

Include the injection patterns in the scanner when the injection's
scope selector matches the current rule stack.
2013-04-19 10:58:34 -07:00
Nathan Sobo
40aa81e9c1 Add required activate method to avoid logging during specs 2013-04-03 12:34:56 -06:00
Nathan Sobo
5d22cff6ad 🙊 2013-04-03 12:33:40 -06:00
Nathan Sobo
930cd9551b 💄 add eof newlines 2013-04-03 12:01:37 -06:00
Nathan Sobo
e32d7b1ff1 Remove unused test.tmbundle 2013-03-26 17:35:44 -06:00
Nathan Sobo
1f74b5ccb4 Rename textmate package w/ invalid snippets 2013-03-26 17:35:44 -06:00
Nathan Sobo
2fe057bd9b Move deferred activation specs to atom-spec 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
c8b9622bf4 Move specs for loading config defaults to atom-spec 2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
d37fbd43f1 Test that atom packages load their grammars 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
de7d9bfcb1 Get deactivatePackage specs passing w/ new fixture data 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
8c1f5658be Allow packages to have stylesheet manifests 2013-03-26 17:35:43 -06:00
Corey Johnson & Nathan Sobo
b846a4db98 wip: cleanup package lifecycle specs 2013-03-26 17:35:43 -06:00
Nathan Sobo
f5774972e9 Add atom.deactivatePackage(id)
It serializes the package state to the atom.packageStates hash when
the package is deactivated, which means we will be able to test 
package serialization independent of the overall window lifecycle by
just deactivating and re-activating the package.
2013-03-26 17:35:42 -06:00
Kevin Sawicki
513ed3b4b1 Show symlink file icon in tree view 2013-03-25 16:51:39 -04:00
Kevin Sawicki
7756f8e86d Show ignored icon in status bar 2013-03-25 12:00:11 -04:00
Corey Johnson & Nathan Sobo
84fe0a384d Pop grammar rules that result in infinite loops 2013-03-22 11:42:47 -07:00
Corey Johnson & Nathan Sobo
2f3b4b9e5f Move scoped properties out of the grammar file and into a directory
Closes #435
2013-03-21 14:07:32 -07:00
Corey Johnson & Nathan Sobo
0b719bfecf Atom packages can load cson grammars and TextMate packages can't 2013-03-21 13:26:56 -07:00
Corey Johnson
06b63c24dc Merge remote-tracking branch 'origin/dev' into md-preview-redux
Conflicts:
	src/packages/markdown-preview/stylesheets/markdown-preview.css
	static/atom.css
	static/command-panel.css
2013-03-11 17:02:36 -07:00
Nathan Sobo
50b61f3a00 Test requiring of package main module via deferred deserializer 2013-03-11 15:20:51 -06:00
Corey Johnson & Nathan Sobo
478a376c97 Less files work in atom themes 2013-03-11 10:02:19 -07:00
probablycorey
0b674978db Require will parse .less files into css 2013-03-11 10:02:18 -07:00
Corey Johnson & Nathan Sobo
7e33bd17e0 Make markdown preview views fit into panes and work w/ a single buffer 2013-03-07 15:49:33 -08:00
Kevin Sawicki
a6bf7f876d Replace RootView.getActiveEditor() with getActiveView() 2013-03-07 09:30:23 -08:00
Kevin Sawicki
9b231e8c4e Add increase indent pattern for GFM scope 2013-02-25 08:58:47 -08:00
Nathan Sobo
9cd6fda3e1 💄 add trailing newlines 2013-02-19 10:02:09 -07:00
Kevin Sawicki
43d46f0705 Load all .css files when theme has no package file
Closes #263
2013-02-14 09:04:32 -08:00
Corey Johnson
8375c8df38 Use previous package state when the wasn't activated 2013-02-13 16:37:59 -08:00
Kevin Sawicki
76a6ab9f03 Support loading CSON snippets from TextMate bundles 2013-02-11 09:29:48 -08:00
Kevin Sawicki
75a9bce848 Support packages with CSON grammars 2013-02-09 12:41:51 -08:00
Corey Johnson & Kevin Sawicki
4619e1847f Manage package lifecycle in Atom instead of in RootView 2013-02-08 17:28:08 -08:00
Corey Johnson & Kevin Sawicki
8434bdfe91 Load package's configDefaults in AtomPackage
This was previously loaded in RootView.
2013-02-08 17:28:08 -08:00
Kevin Sawicki
e419ec1848 Migrate fixtures package to not extend AtomPackage 2013-02-08 17:28:07 -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
cd07ec841d Add more window globals and shims in task shell
This allows jQuery to be successfully loaded from a web worker
since it does not have a document or window object by default.

Previously it would log about missing methods and properties.

Closes #228
2013-02-04 11:43:58 -08:00
Kevin Sawicki
379a4a4d8d Only auto-load .cson and .json keymap files
This now prevents files such as .DS_Store from being loaded as a
keymap where previously all paths were loaded regardless of extension.

Closes #205
2013-01-31 12:03:21 -08:00
Nathan Sobo
0d63d6459d Make TextMate snippets loading immune to hidden files & invalid plist
closes #143
2013-01-24 17:22:51 -08:00
Kevin Sawicki
ca596db310 Extend AtomPackage directly in packages index.coffee 2013-01-22 18:26:48 -08:00
Nathan Sobo
2389893799 Absorb parse errors and ignore hidden files when loading atom snippets 2013-01-21 13:49:24 -07:00
Nathan Sobo
2c4da1b8dd Merge branch 'snippets' into dev
Conflicts:
	src/app/package.coffee
	src/packages/snippets/src/snippets.coffee
2013-01-09 13:10:11 -07:00
Corey Johnson & Nathan Sobo
c56788fd04 Catch packing loading exceptions in Package@load
Instead of in AtomPackage.load
2013-01-09 10:43:41 -08:00
Kevin Sawicki
0f71848b2b Add spec for semicolon at end of line 2013-01-07 14:22:39 -08:00
Kevin Sawicki
15d7b2f159 Add failing spec 2013-01-07 14:22:39 -08:00
Corey Johnson & Nathan Sobo
f008ff52e8 Load snippets from any atom package with a snippets directory 2013-01-07 14:28:47 -07:00
Nathan Sobo
a9bb4ea163 When loading a package, honor the 'keymaps' manifest in package.json
Also, add a spec to cover the loading of keymaps in `atom-spec` and
reset the `keymap`'s internal data after each spec gets run to prevent
test pollution with keymaps.
2013-01-03 15:17:09 -07:00
Kevin Sawicki & Nathan Sobo
c765ec80a1 Load stylesheets from package stylesheets directory 2013-01-02 16:40:30 -08:00
Corey Johnson
4a6d336763 Theme.load can take multiple theme names 2012-12-27 16:13:53 -08:00
Corey Johnson
0d946078c9 Atom Themes can be loaded 2012-12-27 14:31:13 -08:00
Corey Johnson
d77fc88ff4 Merge remote-tracking branch 'origin/master' into config 2012-12-27 10:38:24 -08:00
Corey Johnson
5eb16d8304 Add window.removeStylesheet 2012-12-26 17:41:49 -08:00
Corey Johnson
b08422bc6b TextMateTheme@load will load absolute paths 2012-12-26 17:41:49 -08:00
Kevin Sawicki
f592242737 Terminate when no more tokens and at end of line
This corrects a regression when pattern matching
to the newline was added.

If the newline is never matched the loop still needs to
terminated so now when the position is before the newline
and the last match had no tokens the loop is broken out of.
2012-12-26 11:44:15 -08:00
Nathan Sobo
bbd2e384c5 Merge branch 'master' into config 2012-12-23 12:52:02 -07:00
Kevin Sawicki
559b9132f9 Parse until position equals line length including trailing newline 2012-12-21 13:22:13 -08:00
Kevin Sawicki
9f6d1f987f Add initial support for replacing anchors 2012-12-21 13:22:08 -08:00
Nathan Sobo
7dcb12ada2 RootView talks about packages and packageModules, not extensions
Now you call `rootView.activatePackage`, etc
2012-12-19 19:24:44 -07:00
Nathan Sobo
acc0503684 Merge remote-tracking branch 'origin/master' into config
Conflicts:
	src/app/keymap.coffee
	src/extensions/outline-view/src/keymap.coffee
	src/extensions/outline-view/src/tag-reader.coffee
	src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee
	src/packages/fuzzy-finder/src/fuzzy-finder.coffee
2012-12-18 20:32:05 -07:00
Nathan Sobo
37f0aa3f90 Replace window.requireExtension with atom.loadPackage
The goal is that `loadPackage` will be the go-to place for loading all kinds of resources out of directories. `requireExtension` was only designed to load and activate extension modules.
2012-12-18 19:47:20 -07:00
Corey Johnson & Nathan Sobo
9f8547a8da Add config.fuzzy-finder.ignoredNames 2012-12-17 16:37:27 -08:00
Kevin Sawicki
d8461641b9 Display matches when more than one tag is found 2012-12-13 17:12:42 -08:00
Kevin Sawicki
1686c97244 Add initial support for jump to declaration 2012-12-13 15:22:23 -08:00
Corey Johnson
02c441e937 If $native.read fails to open a file as UTF8, it opens it as ascii
This is a temporary solution to allow Atom to open binary files. The ultimate goal would be to have a hex-editor built into atom.
2012-11-29 10:34:22 -08:00
Kevin Sawicki
69ae56a4f3 Add back spec file contents 2012-11-19 13:32:22 -08:00
Kevin Sawicki
5da44b9eef Merge branch 'master' into ignore_git_ignored_paths_in_file_finder 2012-11-19 11:07:30 -08:00
Corey Johnson & Nathan Sobo
bfb1742285 ctrl-a on an empty line stays on that same line.
Fixes #95
2012-11-19 10:02:31 -08:00