Nathan Sobo
bf9a7cc9a1
Fix exception when moving to the end of word when there *is* no word
2012-11-26 15:12:32 -07:00
Nathan Sobo
cc2e1c1381
Merge pull request #99 from github/async-tokenization
...
Tokenize asynchronously
2012-11-23 12:05:20 -08:00
Nathan Sobo
a1ae819908
Only tokenize in background if when a buffer is visible in an editor
...
This will prevent running a bunch of background tokenization when Atom is reloaded. We only perform tokenization to support content that is actually on screen.
2012-11-23 12:41:08 -07:00
Nathan Sobo
39863e4ebe
💄
2012-11-23 10:48:00 -07:00
Nathan Sobo
f466a2eede
Un-F
2012-11-23 10:46:26 -07:00
Nathan Sobo
bcab21709b
Handle changes that straddle or are inside of the invalid regions
2012-11-22 11:02:14 -07:00
Nathan Sobo
48f9f70dd2
Handle changes in the valid region of a partially tokenized buffer
2012-11-22 10:07:24 -07:00
Nathan Sobo
893e7428c6
💄
2012-11-21 18:44:42 -07:00
Nathan Sobo
0fd921bb40
💄 and update specs for async tokenization of invalidated rows
2012-11-21 18:38:39 -07:00
Nathan Sobo
5acd1b6ee3
When a change invalidates subsequent lines, re-tokenize asynchronously
...
This can happen when inserting a quote at the top of the file. It switches all the strings to source and vice versa, throughout the file. This can be very laggy, so it's good to do it asynchronously.
2012-11-21 10:02:52 -07:00
Nathan Sobo
e92d9c5c9d
Reorganize TokenizedBuffer spec
...
It's going to have to cover edge cases in the async tokenization, and the previous structure wasn't going to cut it.
2012-11-21 09:09:08 -07:00
Nathan Sobo
5aba8596a9
Make tokenization synchronous in all specs
...
Disabled some specs that need to make it asynchronous again… will deal with those soon.
2012-11-21 08:22:13 -07:00
Nathan Sobo
69ec6b5441
Add the 'editor:edit-session-removed' event to Editor
2012-11-20 16:03:11 -07:00
Nathan Sobo
e508d73dd4
Always provide the EditSession and its index on EditSession events
2012-11-20 15:49:52 -07:00
Nathan Sobo
4a373a9173
Add 'editor:edit-session-added' event to Editor
2012-11-20 15:43:57 -07:00
Nathan Sobo
056c6c5af2
Add 'editor:active-edit-session-changed' events to Editor
2012-11-20 15:23:30 -07:00
Corey Johnson & Nathan Sobo
53c7ccb297
WIP: Fleshing out specs for async tokenization
2012-11-19 17:11:20 -07:00
Corey Johnson & Nathan Sobo
e52dbb682e
WIP: Perform tokenization in chunks when edit session is shown
2012-11-19 16:50:49 -07:00
Corey Johnson & Nathan Sobo
79036f60bc
Fix bug when setTimeout is called from within a timeout in specs
2012-11-19 16:50:07 -07:00
Corey Johnson & Nathan Sobo
1cc43adddb
Break out atomic tokens in ScreenLine instead of TextMateGrammar
...
This paves the way for creating untokenized screen lines that still have leading whitespace and tab characters broken out appropriately.
2012-11-19 15:44:24 -07:00
Kevin Sawicki
69ae56a4f3
Add back spec file contents
2012-11-19 13:32:22 -08:00
Corey Johnson & Nathan Sobo
f9563f5e55
Fix PathWatcher failures
...
Now when a file is removed, we always remove its subscriptions and its kevent.
2012-11-19 13:16:14 -07: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
Kevin Sawicki
9ebcf5a848
💄
2012-11-19 09:49:57 -08:00
Kevin Sawicki
36bf1b0be1
Explicitly set ignored files hidden in spec
2012-11-19 09:46:35 -08:00
Kevin Sawicki
34e5e4a65b
Merge branch 'master' into ignore_git_ignored_paths_in_file_finder
2012-11-19 09:17:09 -08:00
Corey Johnson
5841eba1bc
Handle file resurrection :cross:
2012-11-16 16:13:34 -08:00
Corey Johnson
726345d93d
Use spyOn for window.setTimeout and window.clearTimeout in SpecHelper
2012-11-16 16:13:08 -08:00
Corey Johnson
e57cd48c54
Add jasmine.unspy
2012-11-16 16:12:04 -08:00
Corey Johnson
61aecfa58f
Backfill specs for SelectList
2012-11-16 11:34:52 -08:00
Nathan Sobo
a441ddec7c
Make TokenizedBuffer emit row-oriented change events
2012-11-16 08:57:59 -07:00
Nathan Sobo
f7b1f0521a
Emit row-oriented events from DisplayBuffer
2012-11-16 07:36:36 -07:00
Nathan Sobo
ea2e025400
Simplify DisplayBuffer's change event handling
2012-11-16 07:36:35 -07:00
Corey Johnson
5bdfc49f3f
Window's title matches TextMate pattern of "#{basename} – #{project.path}"
2012-11-15 17:08:37 -08:00
Corey Johnson
7f999f4a96
Store the RootView's title as a member var instead of on document.title.
...
Now the window title is mocked to remain static when the spec suite is run.
2012-11-15 15:55:37 -08:00
Corey Johnson
d9a3fbd910
BufferSpec doesn't double release buffers
2012-11-15 13:16:12 -08:00
Nathan Sobo
5803332501
Allow specs results to be scrolled
...
I added overflow hidden on the html and body tags in a previous commit to prevent rubber banding when scrolling the editor. But it broke the ability to scroll specs. This fixes that.
2012-11-15 13:52:29 -07:00
Nathan Sobo
a1cff240b6
Use 'blink-off' css class to blink the cursor when editor is focused
...
Rather than managing the visibility directly, a class makes it easy. The cursors will always be toggling this class on and off in the background, but only on the focused editor will it actually have an effect.
2012-11-14 21:43:06 -07:00
Nathan Sobo
0af952fc13
💄
2012-11-14 21:42:03 -07:00
Nathan Sobo
23ab4c193c
Merge remote-tracking branch 'origin/master' into batch-screen-updates
2012-11-14 20:54:22 -07:00
Nathan Sobo
185ca22488
Make cursor blink by changing CSS visibility with setInterval
...
This is actually more efficient than the CSS animation we were doing previously, because it doesn't force the cursor to be sampled at 60 FPS for something that changes around twice a second.
2012-11-14 20:43:34 -07:00
Nathan Sobo
5dea68bb4c
Status bar only updates modified flag after buffer *stops* changing
2012-11-14 15:34:11 -07:00
Nathan Sobo
4a84c5f8f9
Add 'stopped-changing' event to buffer. Fires 300ms after last change.
...
This will be used by the status bar and other expensive code that needs to respond to the buffer changing, but that we don't want running on every single keystroke when the user is typing quickly.
2012-11-14 15:33:44 -07:00
Nathan Sobo
632bba5609
Kill dead code in spec
2012-11-14 15:13:50 -07:00
Nathan Sobo
5a1a1da386
Make editor display updates synchronous in all specs
2012-11-14 13:13:57 -07:00
Nathan Sobo
3e11b38eaf
Disable spec for cursor idle class. We're going to blink it manually.
2012-11-14 13:13:39 -07:00
Corey Johnson & Nathan Sobo
041dc2b6b0
Replace calls to renderLines w/ resetDisplay in Editor
2012-11-13 17:21:27 -07:00
Corey Johnson & Nathan Sobo
cef9ce6ca7
Add needsUpdate and needsAutoscroll properties to cursor views
...
Then in the editor, we update and autoscroll only the views that need it. Autoscrolling is suppressed when resetting the display so that we honor the scroll positions of the active EditSession.
2012-11-13 17:20:48 -07:00
Nathan Sobo
55bab0fbe0
Un F
2012-11-13 14:18:12 -07:00