Commit Graph

8125 Commits

Author SHA1 Message Date
Nathan Sobo
2f42f23ec6 Revert changes to editor-view 2014-04-22 17:09:03 -06:00
Nathan Sobo
5a8ca1ae66 Move screen-related properties to DisplayBuffer
Scroll positions, height, width, line height. We force update when one
of these observed properties changes.
2014-04-22 17:09:03 -06:00
Nathan Sobo
53cc5c9856 Base cursor x position on char widths stored in DisplayBuffer
Whenever new lines are added to the screen, we measure and store any
unseen scope/character combinations in the DisplayBuffer.
2014-04-22 17:09:03 -06:00
Nathan Sobo
148a9f0248 Add DisplayBuffer::pixelPositionForScreenPosition
This bakes character width tracking into display buffer directly, which
moves us toward a world where all rendering decisions can be made in the
model to strictly control DOM reads.
2014-04-22 17:09:03 -06:00
Nathan Sobo
48e2302ccb Handle almost all editor commands in EditorComponent 2014-04-22 17:09:03 -06:00
Nathan Sobo
6327094696 Transfer focus from editor component to its hidden input 2014-04-22 17:09:03 -06:00
Nathan Sobo
c4fdb54650 Update editor component when a visible selection is removed 2014-04-22 17:09:03 -06:00
Nathan Sobo
a55c329226 💄 2014-04-22 17:09:03 -06:00
Nathan Sobo
e365e51a2b Render all visible cursors 2014-04-22 17:09:03 -06:00
Nathan Sobo
c44fd62eb1 Update cursor view when selection screen position changes 2014-04-22 17:09:03 -06:00
Nathan Sobo
9c2d321327 Break out selection, cursor, and input components 2014-04-22 17:09:02 -06:00
Nathan Sobo
70e5880b1d Start on cursor rendering 2014-04-22 17:09:02 -06:00
Nathan Sobo
61d9ff4ba4 Put the hidden input in the overlayer
The overlayer is absolutely positioned to exactly fill the scroll-view.
If we can retain this strategy and never give the input a position that
exceeds the bounds of the overlayer, we can guarantee that it never
forces the scroll position of the scroll view to change when it is
focused due to the browsers default behavior.
2014-04-22 17:09:02 -06:00
Nathan Sobo
e4c1bf10f5 Handle basic input 2014-04-22 17:09:02 -06:00
Nathan Sobo
fddd411279 Use className instead of class
Might as well go with the flow
2014-04-22 17:09:02 -06:00
Nathan Sobo
2dda577d7c Improve TokenizedLine::getScopeTree specs and fix bug 2014-04-22 17:09:02 -06:00
Nathan Sobo
958bc638d7 Improve scrolling performance 2014-04-22 17:09:02 -06:00
Nathan Sobo
33ed403818 Update editor with tokenized lines when it appears on screen. 2014-04-22 17:09:02 -06:00
Nathan Sobo
3c69fd2d49 Handle mouse wheel and make some tweaks to improve scroll performance 2014-04-22 17:09:02 -06:00
Nathan Sobo
a134a60ce8 Render the entire editor with React. Handle vertical scrolling.
The space-pen view is now a simple wrapper around the entire React
component to integrate it cleanly into our existing system. React
components can't adopt existing DOM nodes, otherwise I would just have
the react component take over the entire view instead of wrapping.
2014-04-22 17:09:02 -06:00
Nathan Sobo
9c49a2d970 Use reactionary helper for creating virtual DOM elements 2014-04-22 17:09:01 -06:00
Nathan Sobo
8ad13d3045 Add a real spec for visible line rendering in the react editor view 2014-04-22 17:09:01 -06:00
Nathan Sobo
cc8ba2d679 Update the rendered lines when the screen lines change 2014-04-22 17:09:01 -06:00
Nathan Sobo
da36d5f40f Start experimenting with an EditorView that renders content with React 2014-04-22 17:09:01 -06:00
Kevin Sawicki
743e79b659 Look at first character instead of indexOf call 2014-04-22 09:35:30 -07:00
Kevin Sawicki
3d10c3856b Replace all periods with a single space
Refs atom/language-make#6
2014-04-22 09:33:17 -07:00
Corey Johnson
4a6b70d261 Use Marker::get/setProperties 2014-04-18 15:50:30 -07:00
Corey Johnson
5917f71685 Use KeymapManager::findKeyBindings 2014-04-18 15:50:30 -07:00
Corey Johnson
fb42c499b1 Use KeymapManager::handleKeyboardEvent 2014-04-18 15:50:30 -07:00
Corey Johnson
1583271e2f Use setTextInRange instead of change 2014-04-18 15:50:30 -07:00
Corey Johnson
a407b0107a Remove deprecated call to keystroke 2014-04-18 10:43:27 -07:00
Corey Johnson
36c3c38047 Don't rename deprecated method 2014-04-18 10:43:27 -07:00
Corey Johnson
e56317bd64 Use paneView as var name instead of pane 2014-04-18 10:43:27 -07:00
Corey Johnson
da49751f24 Remove usage of PaneContainerView::getActivePaneView 2014-04-18 10:43:27 -07:00
Kevin Sawicki
87afa50477 💄 Add space after comma 2014-04-17 18:35:54 -07:00
Kevin Sawicki
2e71e2fa4b Remove unneeded mkdir call 2014-04-17 18:34:59 -07:00
Kevin Sawicki
b537ba8864 Use fs-plus isFileSync method 2014-04-17 18:34:10 -07:00
Kevin Sawicki
c156119882 Store compiled coffee files with js extension 2014-04-17 18:32:22 -07:00
Kevin Sawicki
8e0a695f7c Store less cache in ~/.atom/compile-cache 2014-04-17 18:32:22 -07:00
Kevin Sawicki
47f99cd74e Store coffee/cson cache in ~/.atom/compile-cache 2014-04-17 18:32:22 -07:00
Kevin Sawicki
0c01de350d 📝 Shorten and tweak comment 2014-04-17 18:23:40 -07:00
Kevin Sawicki
77641f138b Make Editor::mutateSelectedText public 2014-04-17 18:23:01 -07:00
Kevin Sawicki
690fc7180a Defer requiring of $ in Package
This is needed in the case that the package manager is being used
in the browser process to open a URL.

Closes #1869
2014-04-17 13:53:00 -07:00
Kevin Sawicki
81646532b4 Ignore non-string core.themes config entries
Previously exceptions would be raised downstream if invalid theme
names were returned from ThemeManager::getEnabledThemeNames

Closes #1877
2014-04-17 13:33:51 -07:00
Kevin Sawicki
27fe5b784c 📝 Use package instead of plugin in example 2014-04-17 13:24:34 -07:00
Kevin Sawicki
9b2901583e 📝 Clean up docs 2014-04-17 13:24:34 -07:00
Kevin Sawicki
408665d7d2 Add Config::isDefault(keyPath) 2014-04-17 13:24:34 -07:00
Kevin Sawicki
6ec58e1163 Rename value var to defaultValue 2014-04-17 13:24:34 -07:00
Kevin Sawicki
35d268fcf8 Use _.isEqual when comparing value to default 2014-04-17 13:24:34 -07:00
Kevin Sawicki
20c3ca21e3 Add Config::getDefault(keyPath) 2014-04-17 13:24:34 -07:00