Nathan Sobo
f7b9cf42d7
Slight optimization: Pull reference to @lines[0] in loop into a variable
2012-03-12 19:47:12 -06:00
Nathan Sobo
1dee39042e
Assign innerHTML properly on the element underlying the jQuery wrapper
2012-03-12 19:30:31 -06:00
Nathan Sobo
9d0f1bc3f7
Refresh line numbers in gutter by setting innerHTML for speed
2012-03-12 19:15:19 -06:00
Nathan Sobo
5529a0e527
Build all lines numbers as a single chunk of html
2012-03-12 18:56:58 -06:00
Nathan Sobo
0a38793450
Use a DocumentFragment to insert all lines at once
2012-03-12 18:51:43 -06:00
Nathan Sobo
9a618ccb5e
Use raw DOM api to insert lines to avoid slow jQuery.clean
2012-03-12 18:15:39 -06:00
Nathan Sobo
fa971d1e75
Render multiple lines in a single fragment
2012-03-12 16:40:14 -06:00
Nathan Sobo
86cc45f4da
Add Editor.spliceLineELements
2012-03-12 14:21:00 -06:00
Corey Johnson
f7be856f2f
Cache line elements in Editor.
...
Shaves off 30ms
2012-03-09 15:30:21 -08:00
Corey Johnson
8e97fbd5ed
document.title is set as the window title
2012-03-09 11:02:08 -08:00
Nathan Sobo
99f659fd58
Don't clip screen positions that are directly translated from buffer positions.
...
The translation process is guaranteed to return a valid screen position so there's no need to clip the position again.
2012-03-09 10:31:57 -07:00
Nathan Sobo
036902a3cc
Only clipToBounds in translatePosition when calling it from clipPosition
2012-03-09 10:15:51 -07:00
Nathan Sobo
9aaee17ee7
Use querySelectorAll in getLineElement
...
querySelector only returns a single element, which won't work.
2012-03-08 19:54:38 -07:00
Nathan Sobo
53c84137e1
Revert "Use DOM's querySelector instead of JQuery's Swizzle for getLineElement"
...
Broke the build
This reverts commit 9be4dd5053 .
2012-03-08 19:45:20 -07:00
Nathan Sobo
d21063be9b
Merge branch 'master' of github.com:github/atom
2012-03-08 19:32:32 -07:00
Nathan Sobo
5c23509f90
Use type-explicit copy methods instead of _.clone when we know the type
2012-03-08 19:32:18 -07:00
Nathan Sobo
d622c84bd1
Freeze cursor positions instead of always returning a copy
2012-03-08 19:31:40 -07:00
Corey Johnson
9be4dd5053
Use DOM's querySelector instead of JQuery's Swizzle for getLineElement
2012-03-08 18:26:06 -08:00
Corey Johnson & Nathan Sobo
4bf10ab7c2
Gutter isn't updated when a single screen line is modified.
2012-03-08 15:19:57 -08:00
Corey Johnson & Nathan Sobo
7854b99bed
Remove unnecessary code
2012-03-08 14:27:22 -08:00
Corey Johnson & Nathan Sobo
60affb5d55
Defer cursor auto-scrolling until next tick.
...
Reading the DOM causes a reflow, which slows down character insertion.
2012-03-08 14:04:54 -08:00
Nathan Sobo
d6a927563b
Refresh cursor screen position only when folding / wrapping, not when typing
...
Changes to the buffer will cause the cursor to move anyway, so there's
no sense refreshing its position only to move it. This shaves us from
~18.5ms to ~13.5ms on the insert and delete character benchmark.
2012-03-08 13:05:53 -07:00
Nathan Sobo
07b9b42360
Only append a non-breaking space if a line contains no normal characters
2012-03-08 12:59:38 -07:00
Nathan Sobo
ee2ceb6bcb
Always render a non-breaking space at the end of screen lines
...
This ensures that if the line only contains a placeholder that it still
has a single character to keep the line div at a consistent height with
other lines.
2012-03-08 12:20:28 -07:00
Nathan Sobo
6d303aad18
Add a horizontal-scroller to address selection issues when scrolled right
...
The lines element is now display: table and contained inside of the
scroller. This means the lines element always expands to contain all
lines, which allows absolute positioning inside of it to be relative to
the entire scroll contents, not just to the currently visible area.
2012-03-08 11:23:05 -07:00
Corey Johnson & Nathan Sobo
f44a9df701
Add benchmark for inserting and deleting a character
2012-03-07 19:07:56 -07:00
Corey Johnson & Nathan Sobo
18c8c7e14f
Add benchmark suite, which runs with ctrl-alt-meta-b
2012-03-07 18:21:17 -07:00
Corey Johnson
423a4dc17d
Ensure editor and cursor methods explain if they act on buffer or screen lines
2012-03-07 16:23:23 -08:00
Nathan Sobo
8e4a6f65f7
Translate clicks to screen positions correctly when lines are scrolled right
2012-03-07 17:22:13 -07:00
Nathan Sobo
acb6c94ebb
Make cursor and selection children of editor.lines to fix positioning when scrolled
2012-03-07 17:10:24 -07:00
Corey Johnson
ac77b7af87
Outdent and indent use bufferRow and screenRow in the appropriate places
2012-03-07 15:22:41 -08:00
Nathan Sobo
dc815f67ad
💄
2012-03-07 14:46:27 -07:00
Nathan Sobo
65920fdc25
Rename GlobalKeymap to Keymap
2012-03-07 14:45:26 -07:00
Corey Johnson
f6414c543c
Add save command and keyboard shortcuts to editor.
2012-03-07 12:43:29 -08:00
Corey Johnson
3a6b3e6650
💄
2012-03-07 11:42:39 -08:00
Corey Johnson
c258c2847e
Fix bug introduced when I resolved a conflict resolution.
2012-03-07 11:42:39 -08:00
Nathan Sobo
fdd8c7ad41
Unbind default events in window.shutDown to prevent spurious triggering in specs
2012-03-07 12:40:39 -07:00
Corey Johnson
29c697faaa
Disable auto-scroll and make overflow-x hidden when soft-wrap is enabled
2012-03-07 11:29:33 -08:00
Nathan Sobo
461dd5cd37
Gutter renders correctly with line wrapping and folds
2012-03-07 12:19:30 -07:00
Nathan Sobo
c18341dea8
💄
2012-03-07 10:51:31 -07:00
Nathan Sobo
43653d7f03
Merge remote-tracking branch 'origin/master' into gutter
...
Conflicts:
src/atom/highlighter.coffee
2012-03-07 10:42:21 -07:00
Nathan Sobo
4f1c8da132
Individual tokens no longer need an isAtomic property
2012-03-06 19:24:14 -07:00
Nathan Sobo
47ee8d599d
Rename input/output to buffer/screen in LineMap
...
Now that we don't have two translation steps, it's not a lie to refer
to the coordinate spaces being translated by the line map as buffer and
screen
2012-03-06 19:20:28 -07:00
Nathan Sobo
da6a708b46
Remove LineWrapper and LineFolder
...
They are supplanted by Renderer
2012-03-06 19:16:50 -07:00
Nathan Sobo
55a5f1b30e
Install Renderer in Editor instead of LineWrapper & LineFolder
2012-03-06 19:15:13 -07:00
Nathan Sobo
a5b4c0af2f
Add Renderer.clipScreenPosition
2012-03-06 18:27:24 -07:00
Nathan Sobo
fbd4b7e990
Renderer can place a fold placeholder directly before a soft-wrap
2012-03-06 18:27:06 -07:00
Corey Johnson
0703578820
autoIndent is enabled by default.
2012-03-06 16:34:59 -08:00
Corey Johnson
0737529f07
Auto-outdent maintains proper cursor positon.
2012-03-06 16:34:43 -08:00
Corey Johnson
fe07e45ebc
Refactor Ace specific code into its own adapter class.
2012-03-06 16:17:32 -08:00