Commit Graph

1465 Commits

Author SHA1 Message Date
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
1ce161504d Benchmark cascading syntax changes by adding a quote to file 2012-03-08 18:25:18 -08:00
Corey Johnson
e673f570cc We have to have pfbenchmark! I love the dan dan noodles. 2012-03-08 18:17:58 -08:00
Corey Johnson
095d2c0f19 un-f benchmark 2012-03-08 18:12:46 -08:00
Corey Johnson & Nathan Sobo
51c02f236c add fpbenchmark and fbenchmark 2012-03-08 18:11:40 -08:00
Corey Johnson & Nathan Sobo
ffeab94472 Do not use an Atom file in fixtures.
It makes things confusing when doing a global search.
2012-03-08 15:28:29 -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
e04c3aeae8 Benchmark insert/delete in a medium sized file 2012-03-08 15:19:26 -08:00
Corey Johnson & Nathan Sobo
7854b99bed Remove unnecessary code 2012-03-08 14:27:22 -08:00
Corey Johnson & Nathan Sobo
da8d30ab98 Call Editor.insertText directly instead of creating a TextInput event 2012-03-08 14:27:05 -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
Corey Johnson
735ebef8d3 Delete measure function from index 2012-03-08 12:48:40 -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
95e9b83694 Don't always show console, but bind a key for it and show when profiling 2012-03-08 13:04:07 -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
Nathan Sobo
4bfc09b18d Run benchmarks 100 times and other 💄 2012-03-07 19:43:59 -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
Nathan Sobo
62319113c1 Meta-w closes specs window 2012-03-07 14:27:21 -07:00
Corey Johnson
f6414c543c Add save command and keyboard shortcuts to editor. 2012-03-07 12:43:29 -08:00
Corey Johnson
fabe8fd609 Update test to use meta-/ instead of meta-s 2012-03-07 12:43:09 -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
20deb80d9f Give specs window a keymap with the default bindings 2012-03-07 11:04:41 -07:00
Nathan Sobo
baeef54be3 Revert "Global Keyboard shortcuts work from spec window."
This reverts commit 6134d9e41e.
2012-03-07 10:53:09 -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