Corey Johnson & Nathan Sobo
fca74ee925
Revert "WIP: making folded lines look better"
...
This reverts commit 0e4f156cb0 .
2012-07-06 12:36:50 -07:00
Corey Johnson
5281a47023
Merge pull request #30 from github/improve-undo-manager
...
Improve undo manager
2012-07-06 12:23:55 -07:00
Corey Johnson & Nathan Sobo
478a334b73
Redoing a snippet expansion restores tab stops to the *current* edit session
2012-07-06 12:12:14 -07:00
Corey Johnson & Nathan Sobo
d6912c5913
When a snippet expansion is redone, tab stops are restored
2012-07-06 11:50:42 -07:00
Corey Johnson
0e4f156cb0
WIP: making folded lines look better
2012-07-06 11:19:19 -07:00
Corey Johnson & Nathan Sobo
9f9c636883
When snippet expansion is undone, the snippet is destroyed
...
This is still in progress. You can't *redo* snippet expansion and restore tab stops. Also, this commit performs all changes associated with snippet expansion in a transaction.
2012-07-06 12:10:14 -06:00
Corey Johnson & Nathan Sobo
6177b46cf9
Restore selection on active edit session when undoing/redoing
...
The `do`, `undo`, and `redo` methods on operations take an optional editSession argument, which can be used to determine the context in which they are being run. We restore selections on that edit session instead of the session where the operations originally occurred.
2012-07-06 11:42:07 -06:00
Nathan Sobo
42eefb49a9
Add UndoManager.prototype.transact
...
The `transact` method takes a function and batches all operations within that function as a single transaction to be undone and redone. The edit session now uses generic operations to restore selection state around transactions. The `undo` and `do` methods on operations are now optional. In addition, the undo manager now supports an optional `redo` method on an operation for code that should *only* be run on redo, and not when the operation is initially pushed. This is used by edit session to restore selection state after redo.
2012-07-05 20:04:16 -06:00
David Graham & Nathan Sobo
c053be3394
Rename UndoManager.perform -> pushOperation
...
I'm about to expand the types of operations so that some don't always have a `do` method. Therefore `perform` is a misnomer.
2012-07-05 19:46:08 -06:00
David Graham & Nathan Sobo
6fbd019b1d
Pull out a BufferChangeOperation, which Buffer.change sends to UndoManager
2012-07-05 19:07:12 -06:00
David Graham & Nathan Sobo
78f88a5c5c
Begin extracting BufferChangeOperation from UndoManager
2012-07-05 17:18:55 -06:00
David Graham & Nathan Sobo
822b85a8be
Make @probablycorey happier
2012-07-05 17:18:11 -06:00
Nathan Sobo
569359b687
Don't destroy selection/cursor anchors when encompassed by a change
...
Add the 'strong' option to anchors. If anchors are 'strong' instead of being destroyed by encompassing changes they move to the beginning of the change range.
2012-07-05 15:20:28 -06:00
Nathan Sobo
43edbcbe31
Add ctrl-space binding for autocomplete
2012-07-05 15:01:04 -06:00
Nathan Sobo
60a4f23c50
Anchors are destroyed when encompassed by a buffer change
2012-07-05 14:53:37 -06:00
Nathan Sobo
0043a5045b
Refactor snippets extension
...
Pull out a SnippetExpansion class that is created when a snippet is successfully expanded. This is the only object that gets associated with the edit session.
2012-07-04 21:59:05 -06:00
Nathan Sobo
764265e97f
Kill console.log
2012-07-04 21:27:13 -06:00
Nathan Sobo
2ddd5820f7
💄 Rename lastLine -> getLastLine
2012-07-04 12:59:54 -06:00
Nathan Sobo
f253820250
💄 Use more delegated (editor -> buffer) methods
2012-07-04 12:58:00 -06:00
Nathan Sobo
43f51b9689
💄 Replace editor.getBuffer().setText(…) w/ editor.setText(…)
2012-07-04 12:45:06 -06:00
Nathan Sobo
b254fa39d9
💄 Replace editor.getBuffer().getText() w/ editor.getText()
2012-07-04 12:41:51 -06:00
Nathan Sobo
6d7a6f9a92
💄 Replace editor.getBuffer().getPath() w/ editor.getPath()
2012-07-04 12:40:17 -06:00
Nathan Sobo
39ce15c3fa
Merge branch 'master' of github.com:github/atom
2012-07-04 12:34:56 -06:00
Nathan Sobo
c90c2e80d6
Replace @buffer reference on Editor with @getBuffer method
2012-07-04 12:34:44 -06:00
Nathan Sobo
fb6aa46531
Editor subscribes to buffer-path-change events on edit sessions, not buffers directly
2012-07-04 12:05:09 -06:00
Corey Johnson
2423a7413d
Storing cached coffeeScript in /tmp because it overwhelms localstorage
2012-07-03 15:58:12 -07:00
Corey Johnson
3aaa8ad8f0
TreeView's add and move create intermediate directories as needed
2012-07-03 15:34:34 -07:00
Corey Johnson
4cf4456635
Add fs.makeTree
2012-07-03 14:46:45 -07:00
Corey Johnson
fc660c2790
Add fs.split
2012-07-03 14:44:41 -07:00
Corey Johnson
08b0a686ed
fs.directory returns empty string if path has no parent directory
2012-07-03 14:43:56 -07:00
Corey Johnson
ab548bc946
Rename extension to requireExtension
2012-07-03 13:43:30 -07:00
Corey Johnson
2cb3a0ba69
Move extension keymap files into extension directory
2012-07-03 12:59:51 -07:00
Corey Johnson
263065171d
Use window.extension to load extensions from .atom file
2012-07-03 12:51:30 -07:00
Corey Johnson & Nathan Sobo
b96bd29ef5
Move extensions with more than one file into folders
2012-07-03 11:22:08 -07:00
Nathan Sobo
bdfdf08ea0
Adjust Editor.scrollTop when removing a line reduces the scroll height
...
This eliminates rendering artifacts and jerky scrolling at the bottom of the screen
2012-07-03 11:12:54 -06:00
Nathan Sobo
3ee7c0dc0f
"Scroll" gutter by relatively positioning its line numbers
...
This matches how we scroll lines, and eliminates opportunities for the gutter to get out of sync with the lines. If that happened, it would probably be a bug, but this at least eliminates one source of confusion when debugging.
2012-07-03 11:09:34 -06:00
Nathan Sobo
e21d0a5d2a
Rename RootView.modifiedBuffers -> getModifiedBuffers
2012-07-02 19:49:05 -06:00
Nathan Sobo
9cae4d3d8f
Rename RootView.editors -> getEditors
2012-07-02 19:47:38 -06:00
Nathan Sobo
bd5c1f8694
Rename RootView.activeEditor -> getActiveEditor
2012-07-02 19:46:33 -06:00
Nathan Sobo
a38042f89f
Rename Editor.removeActiveEditSession -> destroyActiveEditSession
2012-07-02 19:44:24 -06:00
Nathan Sobo
8fbbd77a23
Commands terminating in a substitution restore their initial selection
2012-07-02 19:35:14 -06:00
Nathan Sobo
81530761ba
Merge branch 'master' of github.com:github/atom
2012-07-02 19:22:24 -06:00
Nathan Sobo
f92faffb5b
Use html5 storage to cache coffee script compilation by file md5
2012-07-02 19:21:46 -06:00
Corey Johnson & Nathan Sobo
b59bd4bc7b
Saving a buffer does not trigger a "contents-change" event
2012-07-02 17:48:30 -07:00
Corey Johnson & Nathan Sobo
ef7121dfb3
File does not trigger 'contents-change' when its md5 does not change
2012-07-02 17:47:54 -07:00
Corey Johnson & Nathan Sobo
6ebe75c0bd
Add fs.md5ForPath
2012-07-02 18:19:16 -06:00
Nathan Sobo
8c740b09e6
Add fs.lastModified
2012-07-02 17:44:12 -06:00
Corey Johnson
10bfc56624
When a Buffer is created, the initial call to setText is not treated as an undoable change.
2012-07-02 11:39:22 -07:00
Corey Johnson
ae34611d2a
Changes to buffer (via external process) do set buffer as modified.
2012-07-02 09:13:05 -07:00
Corey Johnson
91c361e478
Fix benchmark suit
2012-06-29 15:51:11 -07:00