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