Corey Johnson & Nathan Sobo
dac91d1f29
Editor and RootView have deserialize class method
2012-04-12 16:26:59 -07:00
Corey Johnson & Nathan Sobo
1bd93e5565
Factored out PaneRow and PaneColumn which have serialize and deserialize methods.
2012-04-12 16:21:09 -07:00
Nathan Sobo
d776755348
Focus the active editor when the file finder is closed
2012-04-12 15:56:41 -06:00
Nathan Sobo
8513e60903
Editor saves all edit sessions when window is refreshed
2012-04-12 15:46:44 -06:00
Nathan Sobo
6c572e1a33
Delete unused PanesContainer
2012-04-12 14:59:46 -06:00
Corey Johnson & Nathan Sobo
3b7d7205f6
Move find-in-file event and specs to command panel
2012-04-12 14:55:47 -06:00
Corey Johnson & Nathan Sobo
877b4dc336
RootView constructor can be called with serialized view state data
...
Move the saving of serialized root view data to window.coffee. The window.startup method looks for window state on the atom object and instantiates the root view with that if it is present.
2012-04-12 14:47:51 -06:00
Corey Johnson & Nathan Sobo
d1d0bd766b
Forgot to refresh gitx
2012-04-11 18:39:40 -06:00
Corey Johnson & Nathan Sobo
416a15e3af
Editors in #panes are always contained by .pane wrappers
...
This prepares us to refactor the split view and editor state code into Column, Row, and Pane objects.
2012-04-11 18:37:22 -06:00
Corey Johnson & Nathan Sobo
8a4b5b13bb
Don't close the window when the last editor is closed. Focus the root view instead.
2012-04-11 17:42:02 -06:00
Nathan Sobo
ceaad1798b
Remove @editors array from RootView
2012-04-11 17:18:06 -06:00
Nathan Sobo
75754fe62e
Merge branch 'master' of github.com:github/atom
2012-04-11 14:59:03 -06:00
Nathan Sobo
535fba1af8
Previously focused editor is re-focused on refresh
...
The isFocused property has now been added to editor state. When an editor is attached to the dom, it focuses itself automatically if and only if the @isFocused property is true. The @isFocused property gets assigned when the editor is constructed by the root view with its previous state.
2012-04-11 14:58:51 -06:00
Corey Johnson
5097218aa2
meta-{ goes to previous buffer
2012-04-11 13:44:07 -07:00
Corey Johnson
bf367863ba
meta-} goes to next buffer
2012-04-11 13:44:07 -07:00
Corey Johnson
4bdc908b98
Store editorStates as an array on Editor
2012-04-11 13:44:07 -07:00
Corey Johnson & Nathan Sobo
cdc4da2f7d
💄 (this was added so the function could be one line instead of two)
2012-04-11 13:44:07 -07:00
Nathan Sobo
f97ffa8826
Fix bug where clicking an editor pane didn't focus the editor
...
We don't need to return false from the click handler. It was an experiment when debugging scrolling that I left in accidentally.
2012-04-11 14:24:00 -06:00
Nathan Sobo
3c53f20aad
Split panes arrangements and editors are restored after refresh
2012-04-11 13:17:12 -06:00
Nathan Sobo
284f982e2c
Call adjustSplitPanes after setting window state
2012-04-11 12:59:29 -06:00
Nathan Sobo
56e98aece5
Add window state getter and setter to RootView
...
These methods will be used to save and restore split views and editors on a refresh.
2012-04-10 19:30:44 -06:00
Nathan Sobo
bc24b6a73c
Always fire attach events (change from one to on)
2012-04-10 19:28:36 -06:00
Nathan Sobo
ae5d64f06d
Change Editor.proto.split method to use new RootView.proto.addPane method.
...
RootView.proto.addPane takes a view to add, a sibling to add it next to, an axis along which to add (row or column), and a side (before or after)
2012-04-10 19:27:50 -06:00
Nathan Sobo
5d8affb3e4
Editor.initialize calls setEditorState to set buffer, cursor position, etc
2012-04-10 17:39:41 -06:00
Nathan Sobo
447b0598f9
Replace EditSession with dumb editor state hash, which can be supplied on editor construction.
2012-04-10 17:35:49 -06:00
Nathan Sobo
877d9f6755
Optimization: Use already-sanitized screen position arg when calculating buffer position
2012-04-10 17:32:09 -06:00
Nathan Sobo
d5b93a2333
💄
2012-04-10 13:04:54 -06:00
Corey Johnson & Nathan Sobo
fa50e9705e
No longer push empty batches onto undo stack
2012-04-10 10:25:29 -07:00
Corey Johnson
afceacefc8
meta-[ outdents selected lines
2012-04-10 10:18:39 -07:00
Corey Johnson
ec221bfee0
meta-] indents selected lines
2012-04-10 09:55:13 -07:00
Corey Johnson & Nathan Sobo
95a2be5fa5
scanInRange does not call positionForCharacterIndex for a match until the given iterator visits it.
...
Optimization to speed up buffer scanning in large files.
2012-04-09 16:30:32 -07:00
Nathan Sobo
0ad9e7b83b
Make Renderer.proto.buildLinesForBufferRows iterative instead of recursive
...
So we don't stack overflow on very large files.
2012-04-09 15:48:13 -06:00
Nathan Sobo
f9ee35dc87
Merge branch 'master' of github.com:github/atom
...
Conflicts:
src/app/cursor.coffee
2012-04-09 14:47:55 -06:00
Nathan Sobo
cc52ff6f28
Bugfix: move-to-beginning-of-word no longer raises an error at position [0, 0]
2012-04-09 13:59:46 -06:00
Corey Johnson & Nathan Sobo
6db9360c5f
Make scanInRange iterative instead of recursive
2012-04-09 12:03:55 -07:00
Corey Johnson & Nathan Sobo
a21082395d
💄
2012-04-09 11:41:04 -07:00
Corey Johnson & Nathan Sobo
f3372f08de
Ctrl-k cuts to the end of the line
2012-04-09 12:34:30 -06:00
Nathan Sobo
54396a7646
Fix bug where you can't move rightward over fold placeholders
...
Fold placeholders needed to be real token objects so their screen / buffer deltas would be defined in ScreenLineFragment.proto.translateColumn
2012-04-06 15:37:27 -06:00
Nathan Sobo
47685aab7b
Correctly translate buffer positions to screen positions when the buffer has tab chars
2012-04-06 15:06:33 -06:00
Nathan Sobo
9da86982a8
WIP: Set cursor position correctly after inserting a hard tab.
...
Tests pass but still some issues on repeated tab insertion.
2012-04-06 13:03:30 -06:00
Nathan Sobo
ce91d50c29
Pass clipping options in setting screen position and translating buffer position for screen position
...
This allows Cursor.proto.moveRight to avoid pre-clipping its position. It just passes the appropriate clipping options when setting its screen position.
2012-04-06 12:29:40 -06:00
Nathan Sobo
656c8318f2
Shift-triple-click expands the selection over the clicked line
2012-04-06 11:07:19 -06:00
Nathan Sobo
76a846aacc
Shift-double-click expands the selection over the clicked word
...
Also factored `get(Beginning|End)OfCurrentWordBufferPosition` methods out of `moveTo(Beginning|End)OfWord` on Cursor. They are used by a `getCurrentWordBufferRange` method, which Selection now uses to find the range of the current word.
2012-04-05 19:41:34 -06:00
Nathan Sobo
2fc3f78e26
Shift-click creates a selection
...
It would be nice to handle shift-double-click and shift-triple-click as well.
2012-04-05 18:12:48 -06:00
Nathan Sobo
a3686da496
Move atom.tabText to a property on Editor.prototype for more locality
2012-04-05 17:55:15 -06:00
Nathan Sobo
aba968acd9
Tab key inserts spaces or a tab character depending on Editor.prototype.softTabs setting
2012-04-05 17:39:40 -06:00
Nathan Sobo
158315ffaa
Always place cursor at end of selection after inserting text
2012-04-05 17:22:16 -06:00
Corey Johnson & Nathan Sobo
84ba78c55d
Tab characters render as atomic tokens containing spaces
2012-04-05 15:22:57 -06:00
Corey Johnson & Nathan Sobo
ef21823e2a
Move ScreenLineFragment.splitTokenAt to Token.splitAt
2012-04-05 14:11:12 -06:00
Corey Johnson & Nathan Sobo
41a90f6caf
Instantiate token objects in highlighter
2012-04-05 14:08:04 -06:00