Commit Graph

3146 Commits

Author SHA1 Message Date
Ben Ogle
35ffdb8bf9 Make changes from kevin for clarity 2013-09-24 10:19:15 -07:00
Ben Ogle
87fb07e657 Allow for more than one empty buffer to be open
Closes #679
2013-09-23 18:05:56 -07:00
Kevin Sawicki
869fe71f73 Accept timeout option to waitsForPromise 2013-09-23 16:44:59 -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
Kevin Sawicki
fa6e85a522 💄 Require Editor and Range from atom 2013-09-20 17:06:30 -07:00
Kevin Sawicki
5a9972b370 Update editor width is chars when soft wrap is toggled
Closes #858
2013-09-20 17:04:21 -07:00
Kevin Sawicki & Matt Colyer
de341a7f4c Use correct binding sets by first keystroke variable name 2013-09-20 16:24:25 -07:00
Matt Colyer
ca3f645301 Fix requires 2013-09-20 14:14:17 -07:00
Matt Colyer
25e49550cb Merge branch 'master' into context-menu
Conflicts:
	src/atom.coffee
2013-09-20 13:31:45 -07:00
Kevin Sawicki
6a0fcc9330 Verify style.theme instead of style.userTheme
This caused specs to fail locally but not on CI since CI has
not user theme
2013-09-20 10:03:02 -07:00
Kevin Sawicki
d46891caf0 Rename atom-api require to atom 2013-09-20 10:03:02 -07:00
Kevin Sawicki
5c8b1a1f11 Resolve CSON file using require 2013-09-20 10:03:01 -07:00
Kevin Sawicki
88ccafa164 Use path.join for fixtures packages path 2013-09-20 10:03:01 -07:00
Kevin Sawicki
3197273e21 Spy on node's fs 2013-09-20 10:02:23 -07:00
Kevin Sawicki
c2d5cd9b55 Use relative path for atom-package require 2013-09-20 10:02:23 -07:00
Kevin Sawicki
0d88104367 Store openers on instance instead of on class
This allows packages to not have require access to Project just to register
a custom opener and allows projects to have different sets of openers.
2013-09-20 10:02:21 -07:00
Kevin Sawicki
f95669c4bd Use relative require paths to src/ files 2013-09-20 10:02:21 -07:00
Kevin Sawicki
a52951712c Use fs from atom-api 2013-09-20 10:02:21 -07:00
Kevin Sawicki
38f0e24485 Pass absolute paths to requireStylesheet 2013-09-20 10:02:20 -07:00
Kevin Sawicki
3120ca7bec Require File from atom-api 2013-09-20 10:02:20 -07:00
Kevin Sawicki
200e91175a Use require.resolve to lookup stylesheet path 2013-09-20 10:02:20 -07:00
Kevin Sawicki
3c94ca4b9e Use relative paths in spec requires 2013-09-20 10:02:20 -07:00
Kevin Sawicki
fd85acd3eb Remove unused require 2013-09-20 10:02:20 -07:00
Kevin Sawicki
95673b390d Use relative paths when resolving 2013-09-20 10:02:20 -07:00
Kevin Sawicki
671c2750ef Don't resolve fixtures directories using load path 2013-09-20 10:02:19 -07:00
Kevin Sawicki
521a2b8636 Use relative paths for resolving fixture paths 2013-09-20 10:02:19 -07:00
Kevin Sawicki
96302e1e0d Add vendor prefix for jasmine path 2013-09-20 10:02:19 -07:00
Kevin Sawicki
c7a0a4bcd9 Use relative require paths in specs 2013-09-20 10:02:19 -07:00
Kevin Sawicki
71b74c466e Remove unused requires 2013-09-20 10:02:19 -07:00
Kevin Sawicki
b84df9ff29 Use relative require path to jasmine stylesheet 2013-09-20 10:02:19 -07:00
Kevin Sawicki
1547912e3f 💄 2013-09-20 10:02:18 -07:00
Kevin Sawicki
52abb4afc9 Remove nakedLoad and use standard require for jasmine 2013-09-20 10:02:18 -07:00
Matt Colyer
e8125defb9 Update specs to match latest changes 2013-09-19 14:55:17 -07:00
Matt Colyer
c39ced381d Implement declarative context menu loading 2013-09-19 14:21:31 -07:00
probablycorey
82de7009d5 Allow for case insensitive project.scan searches 2013-09-18 14:41:38 -07:00
Cheng Zhao
e509e23a0f Merge pull request #852 from atom/ime-support
Improve IME support
2013-09-17 23:09:18 -07:00
Kevin Sawicki
89204f9077 Spy on atom.hide in window specs 2013-09-17 11:11:01 -07:00
Cheng Zhao
faffc09f7a Merge pull request #844 from atom/custom-resource-loader
Add custom resource loader, fixes #197
2013-09-16 18:44:21 -07:00
Ben Ogle
1ba04cb58a Reverse the loading order of themes.
We want the first/top-most theme's css to be loaded after the others 
so its styles will override styles in the other themes.
2013-09-16 18:09:01 -07:00
Matt Colyer
134510dfe1 Move old Theme specs and apply them to AtomPackage. 2013-09-16 12:15:09 -07:00
Cheng Zhao
61f9cf059a 💄 Remove unused requires. 2013-09-17 00:05:09 +08:00
Cheng Zhao
666d202eb6 Add spec for syncing cursorView and hiddenInput's position. 2013-09-16 11:03:40 +08:00
Cheng Zhao
c682a964fa Add spec for the 'atom' protocol URLs. 2013-09-14 15:00:19 +08:00
Matt Colyer
382a7b8a7f Update specs to reflect new functionality 2013-09-13 16:21:07 -07:00
Matt Colyer
658c106349 Convert fixture themes to packages 2013-09-13 16:20:05 -07:00
Matt Colyer
a4fd23b645 Remove unused Theme class 2013-09-13 13:50:25 -07:00
Matt Colyer
a3069edec0 Add test for initialLine option to EditSession 2013-09-13 11:42:31 -07:00
probablycorey
ae6f0c40e6 Fix default project path in specs 2013-09-13 11:34:47 -07:00
Corey Johnson
2bba50bdd0 Use a packages fixtures directory as the default project directory 2013-09-13 09:01:22 -07:00
Corey Johnson
2152004883 Use the ACTUAL spec directory instead of the specs parent 2013-09-13 09:01:22 -07:00
Corey Johnson
e64119ade2 Rename specPath loadSetting to specDirectory 2013-09-13 09:01:22 -07:00
Ben Ogle
fe6732bcdb Remove theme.deactivate calls in afterEach 2013-09-12 14:02:55 -07:00
Ben Ogle
48f01c66e2 Change Theme load verbiage to activate
This is to be more consistent with packages.
2013-09-12 14:02:54 -07:00
Ben Ogle
c831898781 getLoadedStylesheetPaths -> getStylesheetPaths
To be consistent with Packages
2013-09-12 14:02:54 -07:00
Ben Ogle
a806f9c95c Add getPath() and getLoadedStylesheetPaths() 2013-09-12 14:02:54 -07:00
Ben Ogle
d8850c2c77 Use cachedContents when checking for an update.
Without this change, we would never get the initial file's change
without calling .read() first
2013-09-12 14:02:53 -07:00
Ben Ogle
261d386809 Add a theme-added event to the theme manager 2013-09-12 14:02:53 -07:00
Ben Ogle
d3eec2db05 deactivated event on themes + can reload stylesheet 2013-09-12 14:02:53 -07:00
Ben Ogle
3b2ff8adcf Unset the theme
This caused failures in the CommandPanel package.
2013-09-10 12:01:16 -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
Corey Johnson
c90eb7fc73 Add better errors to .toHaveLength spec exception
Returns a helpful error when the actual object does not have a length
var.
2013-09-09 09:28:36 -07:00
Kevin Sawicki
ca3fff8a94 💄 correct typo in method name 2013-09-04 14:01:46 -07:00
Kevin Sawicki
aba6958e55 Load base stylesheets in spec-helper
This fixes the editor specs not working when focused.
2013-09-04 13:33:39 -07:00
Kevin Sawicki
5852238cd8 Reload instead of unload in afterEach
This ensures the stylesheets with the fixtures variables
are unloaded and the default ones are reloaded.
2013-09-04 13:32:55 -07:00
Kevin Sawicki
3a5ad9b48d Unload base stylesheets in an after each
This prevents the blue background from bleeding over into other specs.
2013-09-04 12:56:54 -07:00
Kevin Sawicki
7b2429851c Load bootstrap stylsheets in spec helper 2013-09-04 12:48:58 -07:00
Kevin Sawicki
26ee4a065c Use space-ben to create editor div 2013-09-04 12:25:29 -07:00
Kevin Sawicki
d48df331b0 Use attachToDom instead of appending directly to #jasmine-content 2013-09-04 12:25:28 -07:00
Ben Ogle
c0ef23bc7d 💄 Update spec description 2013-09-04 12:25:28 -07:00
Ben Ogle
1d7f5845d0 remove duplicate spec 2013-09-04 12:25:28 -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
Ben Ogle
9c5c05ff41 Get the proper directories before themeManage load 2013-09-04 12:25:27 -07:00
Corey Johnson
653eaf4186 Rename spec 2013-09-03 14:48:42 -07:00
Corey Johnson
49e6e82d67 Add spec for when the active pane is changed 2013-09-03 14:48:42 -07:00
Corey Johnson
fc8a3f5e78 Rename pane-container:active-item-changed
To pane-container:active-pane-item-changed
2013-09-03 14:48:42 -07:00
Corey Johnson
915159d7a0 Fix pane:became-inactive and pane:became-active events 2013-09-03 14:48:42 -07:00
Corey Johnson
7fd0d934ef Add pane-container:active-item-changed event 2013-09-03 14:48:42 -07:00
Kevin Sawicki
68a50b196a Update spec counts when runner completes
This ensures 0/0 is displayed even when no specs were ran.
2013-09-03 14:25:42 -07:00
Kevin Sawicki
f9e95c273f Only run core specs when resource path is the Atom repo 2013-09-03 14:25:42 -07:00
Kevin Sawicki
aaea8bdb31 Trigger buffer-created from Project::addBufferAtIndex
This ensures that any listeners for this event will be notified when
a buffer is add via deserialization from a telepath document.
2013-09-02 11:46:32 -07:00
Kevin Sawicki
63a3d9de94 Pass project to Git.open in the options hash
Previously the project global was unavailable in the Git constructor
since it had not been set as a global yet and so the Git instance was never
configured to watch the project's buffers for save/reload events.  This caused
the status to be out of sync in places like the gutter and status bar.
2013-09-02 11:34:20 -07:00
Kevin Sawicki
fe725ec909 Display time in seconds instead of milliseconds 2013-08-29 21:33:21 -07:00
Kevin Sawicki
8fb10e35a9 🚱 Destroy current project in beforeEach
Previously the window specs were calling window::deserializeEditorWindow
without first destroying the spec project causing the global to be
reassigned over and leaking the initial project and repo.
2013-08-29 18:41:27 -07:00
Kevin Sawicki
2687fafca4 🚱 Destroy environments in an afterEach
These were leaking projects and therefore repos.
2013-08-29 18:37:03 -07:00
Kevin Sawicki
40860a59f5 Destroy deserialized project in an afterEach 2013-08-29 18:24:51 -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
57132f57bd Suppress deserialization warning during window spec 2013-08-29 09:18:52 -07:00
Kevin Sawicki
de5b2c5cf1 Suppress deserialization warning during pane spec 2013-08-29 09:15:31 -07:00
Kevin Sawicki
d12eed3f68 Don't build description string unless actually logging it 2013-08-28 22:19:18 -07:00
Kevin Sawicki
951b3253da Remove unused name field from tracked specs 2013-08-28 22:12:34 -07:00
Kevin Sawicki
e40d837b40 Log longest specs/suites during grunt test 2013-08-28 22:07:57 -07:00
Kevin Sawicki
3e626f28c4 Only require AtomReporter if actually being used 2013-08-28 21:20:31 -07:00
Kevin Sawicki
e0ccfc4788 Use terminal reporter from jasmine-node
This gives the same filtered stack traces and text output
as all our node modules that already use jasmine-node indirectly
through jasmine-focused.
2013-08-28 20:57:43 -07:00
Kevin Sawicki & Nathan Sobo
2bd4386090 Destroy unretained buffers when serializing project
Previously buffers could linger indefinitely if an error occurred
during startup between the deserialization of the project and the
original retaining edit session.
2013-08-28 18:37:40 -07:00
Kevin Sawicki
c8b7040144 🐎 Find elements by id in spec reporter
Previously classes containing the spec/suite id were used which
caused major amounts of time finding DOM nodes using class selectors
instead of id selectors.

This decreases the Editor spec from ~90s to ~30s.
2013-08-28 14:56:52 -07:00
Kevin Sawicki
6261124464 Update spec to use atom::close instead of window::close 2013-08-28 10:43:12 -07:00
Kevin Sawicki
b22e45b8a9 Call PaneContainer::itemAdded from PaneContainer::reopenItem
This ensures the active item in the new root is filtered out of
the reopen stack, preventing a duplicate item from being opened.
2013-08-26 13:36:55 -07:00
Kevin Sawicki
325d534d91 💄 spec description 2013-08-23 18:29:12 -07:00
Kevin Sawicki
eaf80a0194 Rename softWrapColumn to editorWidthInChars 2013-08-23 18:09:17 -07:00
Kevin Sawicki
3f848606ee Use setEditorWidthInChars to resize editor
This makes the comparisons for the soft wrap column more sane.
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
Kevin Sawicki
8b3b033b09 Add explicit call to setSoftWrap in specs
This is now required now that setting the soft wrap
column does not cause wrapping unless soft wrap is enabled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
e675fe73c8 Set soft wrap explicitly on the display buffer
This is required now that soft wrap column only takes affect
when soft wrap is enabled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
5001c6e84e Enable soft wrap explicitly in specs
This is required now that the soft wrap setting and soft wrap
column are decoupled.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
a4411ab2ca Update specs for resize handler changes 2013-08-23 18:09:16 -07:00
Kevin Sawicki
5ea8c6c27b Don't store soft wrap column on EditSession
This removes duplicate state between the edit session and
display buffer.
2013-08-23 18:09:16 -07:00
Kevin Sawicki
da1e5f5c10 Always update the soft wrap column when the window resizes
This allows the edit session and display buffer to always be
notified of soft wrap column changes regardless of their initial
soft wrap state.
2013-08-23 18:09:16 -07:00
probablycorey
78b9a99f86 Add window:run-package-specs command
This will only run specs found in the current projects spec directory
2013-08-23 09:02:22 -07:00
Kevin Sawicki
f32a289193 Store relative buffer path instead of id
This allows the tokenized buffer to be deserialized during reopening
from the pane container.

Closes #744
2013-08-22 14:42:08 -07:00
Kevin Sawicki
92a80208d3 Update the relative path when the buffer's file moves 2013-08-22 13:59:46 -07:00
Kevin Sawicki
a0db412140 Use editor.softTabs config value when creating edit sessions
This replaces the internal softWrap state and removes the previous
getter and setter for this value that was on Project.
2013-08-21 18:12:26 -07:00
Kevin Sawicki
147e75ad95 Use editor.softWrap config value when creating edit sessions
Closes #666
2013-08-21 17:17:06 -07:00
Kevin Sawicki
2f4db45320 Use editor.tabLength config value when creating edit sessions
Closes #708
2013-08-21 17:12:04 -07:00
Nathan Sobo
0192c57f46 Fix corner case in RowMap::mapBufferRowRange w/ 0-buffer-row regions
Fixes #688

The DisplayBuffer applies buffer and screen deltas to the row map as
rows are inserted/removed from the buffer/screen. This can leave some
of the regions in a weird state, such as mapping multiple screen rows
to zero buffer rows. But next the DisplayBuffer applies any new mappings
based on the replaced lines over the top of existing regions. These
weirdly shaped regions should be overwritten by newly inserted regions,
so at the end of the operation the row map makes sense again.

This fixes a corner case where regions spanning 0 buffer rows at the
very beginning of the row range were not being included in the set of
regions to replace. This was in turn causing the RowMap to get into a
bad state in certain situations involving soft-wrapped lines.
2013-08-20 19:30:29 -06:00
Kevin Sawicki
6e2fd18f62 Add back ability to open an arbitrary window
atom.open now takes an options has that can contain either pathsToOpen
or the complete settings of a new window.

This will be used by the collaboration package to open the window when a
session is being joined.
2013-08-20 15:30:53 -07:00
Corey Johnson & Nathan Sobo
0c9a1fdc80 Rename Keymap::toObject to Keymap::keystrokesByCommand
Also add spec for passing a selector
2013-08-20 12:23:15 -07:00
probablycorey
068e656627 Remove unused atom.getVersion method 2013-08-20 12:23:13 -07:00
probablycorey
37c17075ea Add keymap.toObject() 2013-08-20 12:23:12 -07:00
probablycorey
efb70e0562 Remove specs and methods that are no longer used 2013-08-20 12:23:12 -07:00
Kevin Sawicki
27cee3e19c Don't terminate tokenization if stack size changes
Previously Python import blocks were not tokenizing correctly since
the loop was prematurely terminating when a match at the end of the line
was reached and no tokens were generated for it.

This approach was incorrect since the tokenizer may have just popped a rule
and another loop could possibly pop more rules.

Now this early termination is only performed if the stack size hasn't changed.
2013-08-20 11:38:06 -07:00
Kevin Sawicki
77ed5324b1 Move specs from spec/app to spec/ 2013-08-19 21:23:00 -07:00
Kevin Sawicki
a7a1244599 Flatten spec directory 2013-08-19 20:13:58 -07:00
Kevin Sawicki
b6785d78e8 Reset themes in afterEach
This ensures they don't bleed over into other specs.
2013-08-19 19:49:52 -07:00
Ben Ogle
15085384b9 change name of event to reloaded 2013-08-19 15:55:16 -07:00
Ben Ogle
b89e58e551 ThemeManager emits a reload event when reloaded 2013-08-19 15:55:15 -07:00
Ben Ogle
8730638ade Add directory and ImportPaths paths to themes 2013-08-19 15:55:15 -07:00
Kevin Sawicki & Nathan Sobo
347801b074 Merge branch 'summit'
Conflicts:
	src/app/config.coffee
	src/atom-application.coffee
	src/main.coffee
2013-08-19 14:01:24 -07:00
Kevin Sawicki
7f9b057c52 💄 2013-08-16 21:20:47 -07:00
Kevin Sawicki
647b5881a8 Remove TextBuffer::lineEndingForRow spec covered in telepath 2013-08-16 21:16:34 -07:00
Kevin Sawicki
9c76214fe9 Expect undefined instead of null for invalid buffer rows 2013-08-16 21:03:04 -07:00
Kevin Sawicki
3d5516fad9 Default to empty arrays for user and bundled package paths 2013-08-16 20:52:20 -07:00
Kevin Sawicki & Nathan Sobo
fe2baa18ca Use atom.getAvailablePackageNames() to load package specs 2013-08-16 11:35:43 -07:00
Kevin Sawicki & Nathan Sobo
a147dc01d7 Clear undo stack after setting initial buffer text 2013-08-16 11:30:37 -07:00
Kevin Sawicki & Nathan Sobo
2f4555a16f Add config.userPackageDirPaths which includes dev packages in dev mode 2013-08-16 11:18:08 -07:00
Ben Ogle
eea38a696f add a pane:became-inactive event 2013-08-15 17:28:14 -07:00
Kevin Sawicki & Nathan Sobo
f00bb58932 TokenizedBuffer constructor now takes an object 2013-08-14 16:35:10 -07:00
Kevin Sawicki & Nathan Sobo
ad36b2c6a6 Allow user package specs to override bundled package specs 2013-08-14 15:36:45 -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
Kevin Sawicki
5235114eed Use fs.readdirSync() for listing package directories
Previously fsUtils.listTreeSync() was used which returns every path
in the tree, not just paths directly underneath the root path.

This speeds up the spec suite require time by not stat'ing the entire
node_modules directory.
2013-08-14 11:29:48 -07:00
Kevin Sawicki
b7a8e22d82 Set spec type after all specs in the category are required 2013-08-14 10:58:56 -07:00
Nathan Sobo
c6a0e385f7 Always include text in serialized buffer state; also include isModified
Previously, we were not including the text when serializing an
unmodified buffer. We would use the absence of the text field to
determine that the buffer was previously unmodified when deserializing.
The problem is that text now stores the markers associated with the
buffer, and we want to retain those across serialization regardless of
the modified status. So now I include the text always, along with an
isModified flag which if true, will tell to reload the buffer if it
has changed since we last serialized it. Reloading a buffer should
probably do a diff-and-patch in the future rather than replacing the
contents outright, so that we always preserve markers as best as we can.
2013-08-14 11:31:17 -06:00
Kevin Sawicki
41268c67d7 Remove internal packages section from spec reporter 2013-08-14 08:48:12 -07:00
Corey Johnson & Nathan Sobo
3c166edd26 Start switch to Telepath for undo/redo
Also, TextBuffer spec passes!
2013-08-13 17:34:31 -07:00
Kevin Sawicki
063d48c4ab Use ScopeSelector class from first-mate
Begin migrating TextMate helpers out of src/ and into the first-mate
package.
2013-08-12 16:22:18 -07:00
Kevin Sawicki
599a2ad021 Group specs into four sections
1. Core specs located in spec/
2. Internal package specs in src/packages
3. Bundled package specs in node_modules
4. User package specs in ~/.atom/packages
2013-08-09 17:24:07 -07:00
Kevin Sawicki
db649798ef Ignore missing symlinks in fsUtils.traverseTreeSync()
These were previously throwing an error from the call to
statSync().

Now statSync() is wrapped in a try block and only performed when
lstatSync() reports a symbolic link.
2013-08-09 17:23:29 -07:00
Kevin Sawicki
7e04d85e1e Log a warning when a theme fails to load
Previously Atom would fail to launch if a theme referenced in
the config was not found.
2013-08-09 11:25:07 -07:00
Nathan Sobo
0f14dd9420 Disable pane-splitting spec for now
We'll get it working once this branch gets merged to master.
2013-08-08 11:01:01 -06:00
Kevin Sawicki
de4e24582d Comma separate left and right matcher in or matcher 2013-08-07 18:20:41 -07:00
probablycorey
4629905b65 Remove all references to TextMate themes.
Let's not ship with TextMate theme support. Our .less theme files are
easier to read and write than TextMate themes. If we want to use
TextMate themes we should write a script that converts them to the 
Atom .less version.

Closes #629
2013-08-07 15:21:47 -07:00
Nathan Sobo
5f323cc67c Add TokenizedBuffer.bufferRangeForScopeAtPosition(selector, position)
You can call this method with a selector and a position and get the range
of any matching scope containing the given position, or a falsy value
if the scope does not match at that position.
2013-08-07 12:53:03 -06:00
Jason Rudolph & Nathan Sobo
39d15d6087 Add _.isSubset 2013-08-07 12:37:03 -06:00
Jason Rudolph & Nathan Sobo
6cc4cf87b9 💄 Add intention-revealing helper method 2013-08-07 12:36:05 -06:00
Kevin Sawicki
2698925d10 Reload stylesheets when core.themes config changes
Extracted a new ThemeManager class to encapsulate all the theme
work previously done directly in atom global.

Closes #642
2013-08-07 10:51:25 -07:00
Kevin Sawicki
def07344e9 Visually separate core and package specs in reporter 2013-08-07 09:32:29 -07:00
Kevin Sawicki
633306e6bf Fire edit-session-created event when deserializing
This event was previously not being fired when splitting panes
since the constructor pushing the edit session directly to the
project's array.

Closes #684
2013-08-06 19:07:24 -07:00
Kevin Sawicki
7d58008ed3 Show completions for current scope in autocomplete
Add the TextMate "completions" preferences available as "editor.completions"
and add all completions matching the current scope of the cursor position
when building the autocomplete word list.

Closes #676
2013-08-06 18:18:22 -07:00
Kevin Sawicki
a98791ebd0 Add filter support to selector grammar
Currently these are unimplemented but they can now be parsed
successfully since they are used by certain snippets.
2013-08-06 17:06:22 -07:00
Kevin Sawicki
a72e1813e9 Support stand-alone negation in selector grammar
Previously negation was only supported as the right hand side
of an composite.
2013-08-06 16:54:32 -07:00
Kevin Sawicki
fe9ffbeb12 Support selectors with a trailing comma 2013-08-06 15:55:50 -07:00
Kevin Sawicki
e61992c1f6 Allow _ characters in selector segments 2013-08-06 15:21:31 -07:00
Kevin Sawicki
612332cd9f Allow + characters in selector segments 2013-08-06 15:12:24 -07:00
Kevin Sawicki
faf02460f5 Add TextMateScopeSelector.toCssSelector() 2013-08-06 15:09:10 -07:00
probablycorey
712e9c7203 Add spec to test cutToEndOfLine when soft wrap is enabled 2013-08-06 14:02:30 -07:00
probablycorey
128a030880 Moving to the start or end of a line treats screen lines as real lines 2013-08-06 14:02:30 -07:00
Kevin Sawicki
da7cbeddc7 Support scope selectors with dashes in segments
Previously dashes were only interpreted as negation which
wasn't correct.

Segments should be able to contain a dash as long as it isn't at
the very beginning of the segment.
2013-08-06 12:18:36 -07:00
Kevin Sawicki
8b55c4981d Add assert for multi-segment prefix 2013-08-06 11:35:37 -07:00
probablycorey
c38edbfe0b Cursor.moveCursorToBeginningOfNextWord() behaves correctly on whitespace
Closes #669
2013-08-05 16:47:29 -07:00
probablycorey
8cc47a2069 Add _.deepExtend 2013-08-05 13:54:37 -07:00
probablycorey
69eace6292 Remove references to windowed config panel 2013-08-05 13:54:37 -07:00
probablycorey
2284435551 Move config view to a package 2013-08-05 13:54:37 -07:00
Kevin Sawicki
684dec4b24 Always suggest non-negative indent levels
Close #668
2013-07-31 18:01:38 -07:00
Kevin Sawicki
c723dd5406 Exclude remote markers from TextBuffer.serialize() 2013-07-27 10:31:11 -07:00
Kevin Sawicki & Nathan Sobo
a9edaaba51 Add failing spec for splitting edit sessions 2013-07-26 08:45:13 -07:00
Ben Ogle & Corey Johnson
16cce1efb1 nof 2013-07-24 14:55:43 -07:00
Ben Ogle
b3025a4dfc rename rowRangeForCommentFoldAtBufferRow -> rowRangeForCommentAtBufferRow 2013-07-24 13:09:00 -07:00
Ben Ogle
e76fe439ba Fix tests. Indent oops. 2013-07-24 12:18:27 -07:00
Ben Ogle
f7bb8aab9e Move rowRangeForParagraphAtBufferRow into LanguageMode 2013-07-24 12:18:27 -07:00
Ben Ogle
0a075c6934 remove fdescribe 2013-07-24 12:05:16 -07:00
Ben Ogle
cef3b7d634 move folding tests from EditSession -> LanguageMode 2013-07-24 12:05:16 -07:00
Ben Ogle
d4d3426b4e Add foldAllAtIndentLevel() 2013-07-24 12:05:16 -07:00
Ben Ogle
c2326d096b Fold comments in foldAll() 2013-07-24 12:05:15 -07:00
Ben Ogle
18146346f6 add failing comment fold tests 2013-07-24 12:05:15 -07:00
Ben Ogle
519c514092 add a new sample with some comments 2013-07-24 12:05:15 -07:00
Ben Ogle
4187615fa7 Fix test 2013-07-24 11:53:33 -07:00
Ben Ogle
d98ea0180c Proper handling of cursor up and down behavior when selection range 2013-07-24 11:53:33 -07:00
Ben Ogle
226a4bf391 Add tests for moving to end of selection 2013-07-24 11:53:33 -07:00
Kevin Sawicki
40d76d2db9 Replace git global with project.getRepo() 2013-07-23 19:31:32 -07:00
Kevin Sawicki & Nathan Sobo
1bd9a6bef3 Display cursors from all replicas 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo
1bf6307480 Display selections from all replicas 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo
b8b9653fc0 💄 2013-07-23 17:49:19 -07:00
Kevin Sawicki & Nathan Sobo
636f81703c Distinguish remote and local selections in EditSession
Also: Add an Environment spec helper class that swaps out global
variables to simulate running code in different environments for the
replication specs.
2013-07-23 17:49:14 -07:00
Ben Ogle
1465736974 Merge branch 'master' into bo-move-word-behavior
Conflicts:
	src/app/editor.coffee
2013-07-23 15:34:20 -07:00
Kevin Sawicki & Nathan Sobo
9c67aa105b Replace createSite with new Site 2013-07-23 11:58:41 -07:00