Commit Graph

1785 Commits

Author SHA1 Message Date
Nathan Sobo
a5a573d732 StatusBar.initialize appends a status bar view to every current and future editor pane 2012-04-17 11:37:01 -06:00
Corey Johnson
5b67feff54 Autocomplete will match on either side of selected text when completing words 2012-04-16 16:26:09 -07:00
Corey Johnson
e40040c573 Autocomplete creates selection over auto-completed text 2012-04-16 15:36:45 -07:00
Corey Johnson
eacb21ca1a Detach buffer change event listeners from Autocomplete when editor's buffer changes 2012-04-16 15:22:39 -07:00
Corey Johnson
c82ca5d1ee Store current buffer on Autocomplete 2012-04-16 15:15:43 -07:00
Corey Johnson
b61a14150e Very basic autocomplete working 2012-04-16 14:57:29 -07:00
Nathan Sobo
07acf0817e When opening a file, don't also create an edit session or an empty buffer
Also: RootView.proto.activeEditor no longer constructs an editor. To open an empty buffer, call RootView.proto.open with no path argument. It will build a new editor if needed.
2012-04-13 17:47:41 -06:00
Nathan Sobo
c899b5e827 Build a Project if necessary upon saving a previously unsaved buffer 2012-04-13 15:46:22 -06:00
Nathan Sobo
08b4a86f85 Set top and left position of root pane to 0 in adjustPaneDimensions 2012-04-13 15:27:15 -06:00
Nathan Sobo
7e3abe4ff3 Set document.title to the project path when the last editor is closed 2012-04-13 15:22:15 -06:00
Nathan Sobo
9819030b7d Set document.title to the project path even if there are no editors open + 💄 2012-04-13 15:14:18 -06:00
Nathan Sobo
6c5b2a47ec Reset document.title after each spec to prevent test pollution 2012-04-13 15:11:33 -06:00
Nathan Sobo
c673c5114e Ensure that Editor.proto.serialize returns a copy of each edit session 2012-04-13 14:29:58 -06:00
Corey Johnson & Nathan Sobo
57b205d508 When a Pane is removed, layout of #panes div is adjusted appropriately 2012-04-13 12:49:59 -06:00
Corey Johnson & Nathan Sobo
1b2b1a324d Add a mock-based test for Editor.prototype.split and ensure it doesn't raise exceptions when not in a pane 2012-04-13 11:40:29 -06:00
Corey Johnson & Nathan Sobo
54a15856bb Use Editor.deserialize in Editor.prototype.copy and add a spec for it 2012-04-13 11:39:57 -06: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
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
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
Nathan Sobo
ad7b522228 💄 2012-04-11 14:05:52 -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
f724b8f427 Uncomment assertions 2012-04-10 19:28:14 -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
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
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
1d7d59d673 💄 2012-04-06 12:21:24 -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
fd3e98cd28 💄 2012-04-05 17:58:44 -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