Commit Graph

772 Commits

Author SHA1 Message Date
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
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
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
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
Corey Johnson & Nathan Sobo
b5efec308a wip: updateDisplay 2012-11-13 12:08:41 -08:00
Corey Johnson & Nathan Sobo
9c0f1d428f Rename updateAppearance to updateDisplay 2012-11-13 11:21:46 -08:00
Corey Johnson
bb9c2e1bcb Handle exceptions thrown during do/undo/redo 2012-11-12 15:59:44 -08:00
Corey Johnson
1f7b92495a fix failing spec 2012-11-09 16:10:53 -08:00
Corey Johnson
f09a104524 Treat $base in textmate grammars as if it is $self
$base works as $self worked previously. $self will need to be fixed. If inside
a embedded grammar $self refers to the embedded grammar while $base refers to the
overall grammar.
2012-11-09 15:35:40 -08:00
Nathan Sobo
06204a40dd Un-F. 2 failures left in suite. 2012-11-09 14:27:19 -07:00
Nathan Sobo
3bc11ede77 Set the lines div height explicitly so it can be > 100% of parent
All editor specs pass
2012-11-09 14:25:59 -07:00
Nathan Sobo
c257a989be Account for 20 extra pixels on right of lines div in spec 2012-11-09 14:05:22 -07:00
Nathan Sobo
0b9e22483e Update spec to match stricter maintenance of lastRenderedScreenRow 2012-11-09 13:40:49 -07:00
Nathan Sobo
4a3dbedb71 Fix spec to allow for 20 extra pixels to right of the lines 2012-11-09 13:28:51 -07:00
Will Farrington
1ea8df6e60 Add hideIgnoredFiles option to projects 2012-11-09 11:51:00 -08:00
Will Farrington
e13270bcb3 Spike out specs 2012-11-09 11:35:45 -08:00
Corey Johnson & Nathan Sobo
7c16c48e2a Ensure underlayer and overlayer are always the same width as lines
Also… simplify CSS rules for lines element. No display table or padding, instead we just set the min width when typing.
2012-11-09 11:12:33 -07:00
Nathan Sobo
1f94b2aacc WIP: Handling display buffer changes. Cursor, selection specs failing
That's because the new CodeMirror-inspired line update code assumes that lines are the only thing in the rendered lines div.
2012-11-09 08:46:33 -07:00
Nathan Sobo
1d46da55da WIP: Borrowing from code mirror to update lines. Scrolling / resizing work, but not much else 2012-11-09 07:31:30 -07:00
Corey Johnson
00a26ae4da Fix how repositories work in TextMate grammars
Previously, we treated all grammar repositories as rules, but some
grammars have repositories that are a single pattern. If it is a single
pattern, transform it into a rule with one pattern.

Fix how repositories work in TextMate grammars

Previously, we treated all grammar repositories as rules, but some grammars have repositories that are a single pattern. If it is a single pattern, transform it into a rule with one pattern.
2012-11-08 16:47:36 -08:00
Nathan Sobo
312f64d200 Don't make hidden input a child of Editor's scrollView
If the input element is a child of the scroll view, then focusing it can end up changing the scroll position of the view behind our backs. We *only* want to scroll the view via our interface on editor, because a bunch of of special code needs to run when we scroll. We can't just have the browser scrolling that view around willy-nilly.
2012-11-07 19:47:31 -07:00
Nathan Sobo
19c8a39fc8 Don't autoscroll to bottom of buffer on selectAll 2012-11-07 16:01:10 -07:00
Nathan Sobo
144cfadb15 Update selection rendering when font size changes 2012-11-07 14:22:43 -07:00
Nathan Sobo
df392359f9 When font size changes, correctly adjust scrollable height
This requires updating the padding of the rendered lines and then adjusting the vertical scrollbar content height before updating any of the rendered lines. This fixes (hopefully all of) the rendering issues when adjusting the font size.
2012-11-07 14:09:31 -07:00
Nathan Sobo
66efc80373 Fix broken spec 2012-11-07 13:05:03 -07:00
Nathan Sobo
d44e116321 Don't highlight the current line unless the selection is empty 2012-11-07 12:11:33 -07:00
Corey Johnson & Nathan Sobo
8184c0248b Don't store tabLength on EditSession 2012-11-06 11:56:18 -08:00
Corey Johnson & Nathan Sobo
b8beec6f55 Remove foldable from ScreenLine 2012-11-06 11:41:48 -08:00
Corey Johnson & Nathan Sobo
874af0f2bc Eliminate reference to TokenizedBuffer on EditSession 2012-11-06 11:09:38 -08:00
Corey Johnson & Nathan Sobo
0e0f747764 TokenizedBuffer.setTabLength retokenizes the entire buffer 2012-11-06 10:44:50 -08:00
Corey Johnson & Nathan Sobo
2c14bc7ebd Optimize breakOutAtomicTokens 2012-11-06 10:44:03 -08:00
Corey Johnson
a63f838cdb Simplify breakOutAtomicTokens method 2012-11-06 09:39:44 -08:00
Corey Johnson
b85a95eaa1 Make leading spaces atomic (length based on tabLength) 2012-11-06 09:03:54 -08:00
Corey Johnson & Nathan Sobo
89ef3f0f20 Build Token objects in TextMateGrammar. Tokenization-related renames. 2012-11-05 16:03:19 -07:00