Kevin Sawicki
518a71910d
Support clicking past last editor line
...
Clicking below the last line of an editor
now either moves the cursor to the end of
the file or selects to the end of the file
if shift is pressed.
2012-12-26 11:08:28 -08:00
Kevin Sawicki
628d22de0a
Use tab invisible that is available in Inconsolata
...
Previously a non-Inconsolata character
was being used which caused alignment issues
with selections and the cursor
Also switch values in editor.coffee to use codes
so they can be viewed in any font.
2012-12-20 14:50:51 -08:00
Nathan Sobo
acc0503684
Merge remote-tracking branch 'origin/master' into config
...
Conflicts:
src/app/keymap.coffee
src/extensions/outline-view/src/keymap.coffee
src/extensions/outline-view/src/tag-reader.coffee
src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee
src/packages/fuzzy-finder/src/fuzzy-finder.coffee
2012-12-18 20:32:05 -07:00
Nathan Sobo
fc9bf38a2a
*Must* use get and set to access config values.
...
The `config` object no longer stores config properties directly. Instead it stores them on an internal `settings` object, which makes it easier to serialize settings without getting them mixed up with non-setting state on the `config` object.
2012-12-17 20:56:37 -07:00
Nathan Sobo
4538a70859
Add config.editor.autosave
2012-12-16 11:30:06 -08:00
Corey Johnson & Nathan Sobo
827d6b57fb
Use observeConfig in Editor
2012-12-14 15:01:31 -08:00
Nathan Sobo
aedc86705e
Merge branch 'master' into config
2012-12-12 16:48:58 -08:00
Nathan Sobo
3c2b84a46d
Add config.editor.fontSize
2012-12-12 15:23:36 -08:00
Nathan Sobo
8088e4d90c
Add config.editor.invisibles field for customizing invisible glyphs.
2012-12-12 14:45:58 -08:00
Nathan Sobo
db0a39679c
Remove showInvisibles constructor param on Editor
...
And remove `showInvisibles` state from the `RootView` now that it's managed via `config`.
2012-12-12 13:55:27 -08:00
Nathan Sobo
b3303bc21d
Add config.editor.showInvisibles
2012-12-12 13:50:58 -08:00
Nathan Sobo
2a901e78f9
Identify editor when subscribing to window resize
2012-12-12 13:28:29 -08:00
Kevin Sawicki
bb7b3b8a6d
Add close icon to tabs
2012-12-11 16:57:45 -08:00
Corey Johnson & Nathan Sobo
4e9dc5fe71
Merge branch 'master' of https://github.com/github/atom
2012-12-11 16:51:35 -08:00
Corey Johnson & Nathan Sobo
7ead4d7390
Inactive tabs change their title when their file is renamed
...
We were turning off all subscriptions on an edit session from editor when it became inactive. Now we only turn off subscriptions made by the editor, leaving the tab's subscription intact.
2012-12-11 16:16:18 -08:00
Kevin Sawicki
b848379420
Support scrolling to buffer and screen positions
2012-12-11 15:54:01 -08:00
Nathan Sobo
4684bc5942
Redraw gutter when switching to a shorter buffer
...
This ensures that we don't leave too many line numbers on the screen for the current file.
2012-12-04 13:25:13 -07:00
Corey Johnson
5d99824deb
autoscroll to results in command panel preview list
2012-12-03 10:23:28 -08:00
Nathan Sobo
5b143d4b93
Add 'autosave' option, which saves when unfocusing or switching tabs
2012-11-30 14:11:27 -07:00
Corey Johnson & Nathan Sobo
be2b9ee100
Store autoscroll state on Selection and Cursor models
2012-11-30 12:08:41 -07:00
Corey Johnson & Nathan Sobo
b9e847d290
Remove logging
2012-11-30 11:47:36 -07:00
Corey Johnson & Nathan Sobo
ac0e3095ec
Only autoscroll selections to center if they are offscreen
2012-11-30 11:40:27 -07:00
Corey Johnson & Nathan Sobo
f9c7c08641
Selected results of a find operation are centered in the viewport
2012-11-29 18:52:34 -07:00
Nathan Sobo
00832b08bb
Allow editor to be focused when it is clicked
2012-11-29 13:57:29 -07:00
Corey Johnson & Nathan Sobo
eb0414f4e7
Emit a contents-conflicted` event instead of contents-change-on-disk
2012-11-28 15:21:12 -07:00
Corey Johnson & Nathan Sobo
1aa8f26e94
Scrolling does not jerk to a stop when scrolling w/ a trackpad
...
When scrolling with a trackpad, webkit repeatedly triggers multiple mousewheel events on the original event's target element to simulate the velocity effect we're accustomed to with touchscreen UIs. When scrolling quickly, this clashed with our strategy of removing off-screen lines, because the element was removed before the velocity were done firing.
The solution is to make the overlayer accept mouse events. It lays on top of all the lines, so it is never removed and therefore allows the mousewheel events to run to completion. But, this means we need to transfer mousedown events from the overlayer to the underlying lines.
2012-11-28 12:25:14 -07:00
Nathan Sobo
94220d95a7
When updating lines, build contiguous lines from a single html string
...
This cuts down on parse time and improves the frame rate when scrolling.
2012-11-27 18:54:26 -07:00
Nathan Sobo
c5a3e81dab
Reduce line overdraw to improve scroll performance
2012-11-27 18:19:33 -07:00
Nathan Sobo
d22a199dc6
Simplify handling of 'mousewheel' event
2012-11-27 18:19:17 -07:00
Nathan Sobo
d47a82f585
Handle selection dragging when cursor goes off-screen
2012-11-26 17:21:50 -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
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
e52dbb682e
WIP: Perform tokenization in chunks when edit session is shown
2012-11-19 16:50:49 -07:00
Kevin Sawicki
55f88d2d76
Make toggle-ignored-files a window event
2012-11-19 09:30:21 -08:00
Kevin Sawicki
34e5e4a65b
Merge branch 'master' into ignore_git_ignored_paths_in_file_finder
2012-11-19 09:17:09 -08:00
Nathan Sobo
cf4e87103e
Emit row-oriented screen lien change events from EditSession
2012-11-16 07:36:35 -07:00
Nathan Sobo
841e34090b
Rename from/to to start/end in Editor's queued change events
2012-11-16 07:36:35 -07:00
Nathan Sobo
8ef8924871
💄
2012-11-16 07:36:35 -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
00a6472a2c
Update display synchronously when scrolling to prevent flicker
2012-11-14 15:10:05 -07:00
Nathan Sobo
7f8e2643f5
Auto-scroll last to avoid forcing a reflow before we're done modifying
2012-11-14 15:04:13 -07:00
Nathan Sobo
9424674b37
Trigger 'selection-change' events when selection view changes
2012-11-14 14:34:52 -07:00
Nathan Sobo
a6e928d85a
Use MessageChannel-based nextTick to schedule Editor display update
...
This is the fastest way I've found to get the nextTick behavior, which allows us to aggregate multiple requests for display update (from selection changes, cursor movement, line changes) etc into a single call at the end of processing an event.
2012-11-14 13:57:27 -07:00
Nathan Sobo
3eeb4435a5
Re-render the gutter on changes if the screen or buffer delta are != 0
...
Basically, we don't re-render the gutter for single-line edits. Every other kind of change does re-render it however.
2012-11-14 13:13:23 -07:00
Corey Johnson & Nathan Sobo
9fa577f8c4
Using requestAnimationFrame with some disabled features
...
Not sure if it feels faster, but the code is a bit more organized at least.
2012-11-13 18:25:29 -07:00