Commit Graph

1825 Commits

Author SHA1 Message Date
Corey Johnson
7ff31d1ad7 Remove toggleFold and replace with fold 2012-07-27 13:46:50 -07:00
Corey Johnson
76ffa5a2c5 change toggle-fold to fold 2012-07-27 13:45:13 -07:00
Nathan Sobo
dc662ed071 When ( [ { ' or " is inserted, insert the matching character after the cursor 2012-07-27 13:08:43 -06:00
Nathan Sobo
87f4d8c6e9 Upon inserting '(', insert matching ')' character after cursor 2012-07-27 13:02:26 -06:00
Nathan Sobo
d0d5cb534f Merge branch 'master' of github.com:github/atom 2012-07-27 12:30:17 -06:00
Nathan Sobo
3516dea210 Introduce LanguageMode wrapper for Ace modes as a foundation of our own modes
LanguageMode is the central point for all language-specific behavior associated with an EditSession. There is one LanguageMode instance per EditSession. LanguageMode has access to the EditSession and its TokenizedBuffer, and in reverse the EditSession, DisplayBuffer, and TokenizedBuffer also make use of LanguageMode. This is a bit incestuous, but I think it's okay because you can think of LanguageMode as a swappable strategy object that governs language-specific aspects of that constellation of objects.
2012-07-27 12:30:06 -06:00
Corey Johnson
960bd1ea70 Show "buffer in conflict" alert after edit session is visible 2012-07-26 13:32:26 -07:00
Corey Johnson
0384f025dd Add Buffer.isInConflict() 2012-07-26 11:00:16 -07:00
Corey Johnson
42299c6a71 When the active edit session is modified, and its file is then modified by the file system, it displays an alert. 2012-07-26 10:59:58 -07:00
Nathan Sobo
252a1a4d5f 💄 2012-07-26 10:29:42 -06:00
Nathan Sobo
786c9dd8c8 Merge branch 'master' of github.com:github/atom 2012-07-26 10:09:38 -06:00
Nathan Sobo
54616aee78 Bugfix: When the command panel makes a selection, it destroys surrounding folds 2012-07-26 10:09:28 -06:00
Corey Johnson
470e8a6191 Add rootView.deactivateExtension 2012-07-25 15:45:21 -07:00
Corey Johnson
fefb3bc175 Better error message when extension fails to serialize 2012-07-25 15:16:13 -07:00
Nathan Sobo
7dc9b2dbf5 Fix bug where short folded lines don't always span the scroll view 2012-07-25 15:32:15 -06:00
Nathan Sobo
454557b502 Merge branch 'master' into global-find
Conflicts:
	spec/extensions/command-panel-spec.coffee
	src/app/buffer.coffee
	src/extensions/command-panel/command-panel.coffee
	src/extensions/command-panel/keymap.coffee
2012-07-24 17:59:49 -06:00
Nathan Sobo
c05fa7dc6f Merge branch 'master' into global-find
Conflicts:
	src/app/buffer.coffee
2012-07-20 19:01:38 -06:00
Corey Johnson & Nathan Sobo
b27a793b92 Fix bug in Project.scan that was getting the state machine into a bad state
Chunks of stdout data are being buffered by lines. But then we were splitting these chunks on \n and the last fragment was therefore always "". This caused problems. Still need to test this.
2012-07-19 19:17:31 -06:00
Nathan Sobo
239cba25e4 Use the silver searcher to implement global search
Parsing uses a simple state machine in `Project.scan`.
2012-07-19 17:28:46 -06:00
Corey Johnson & Nathan Sobo
9e4f401485 WIP: trying to make preview faster 2012-07-19 11:28:41 -06:00
Corey Johnson & Nathan Sobo
12f765cc47 💄 2012-07-19 11:14:38 -06:00
Corey Johnson & Nathan Sobo
7a85e07cf1 Project.scan handles paths with newlines 2012-07-19 10:27:42 -06:00
Nathan Sobo
a61064eeeb Throw an exception when creating a File object for a path that isn't a file
This exception is getting thrown inside of `Project.scan` when it incorrectly parses a path with newlines in it. But the exception gets swallowed by ChildProcess.exec. At least it prevents a file from being created that we don't end up unsubscribing from. But `Project.scan` needs to be improved.
2012-07-19 09:20:45 -06:00
Nathan Sobo
f5e46e57fc Use bundled ack instead of grep
Our ack is slightly modified to use `'\0'` characters instead of `':'` in the --nogroup listing. This makes it easier to handle both `':'` characters and newlines in filenames, but we aren't really doing that yet.
2012-07-19 09:17:44 -06:00
Corey Johnson & Nathan Sobo
8534df28d5 Another attempt with find/grep/perl/xargs that doesn't work 2012-07-18 18:04:39 -06:00
Corey Johnson & Nathan Sobo
4b1403724b Ensure that evil filenames do not hose Project.scan 2012-07-18 17:53:53 -06:00
Corey Johnson & Nathan Sobo
b959d5aa37 Buffers are memoized on project by path 2012-07-18 12:56:09 -07:00
Corey Johnson & Nathan Sobo
72750fd4a2 RootView.getEditors() only returns editors that are direct descendants of a pane 2012-07-18 12:45:28 -07:00
Corey Johnson & Nathan Sobo
d36873f702 Rename Project.open to Project.buildEditSessionForPath 2012-07-18 11:20:13 -07:00
Corey Johnson & Nathan Sobo
522149c84d Project.scan excludes ignored directories 2012-07-18 11:06:13 -07:00
Corey Johnson
9f004ad09c retain and release methods return this 2012-07-18 10:40:34 -07:00
Nathan Sobo
4b147c04e5 RootView.proto.open returns the opened edit session 2012-07-17 14:44:04 -06:00
Corey Johnson & Nathan Sobo
34e96fb8d7 WIP: Adding find all matches in project command 2012-07-17 14:26:12 -06:00
Corey Johnson & Nathan Sobo
c3fe9aa0b3 Implement refcounting scheme on Buffer 2012-07-17 14:24:33 -06:00
Nathan Sobo
1d21de1e83 Merge cursors after buffer changes that didn't occur via the EditSession
The buffer now emits a new event 'update-anchors-after-change' to signal that all the anchors have been updated, which is an appropriate time to merge cursors.
2012-07-17 10:38:01 -06:00
Corey Johnson
5914b6cc2a Add Buffer.reload() 2012-07-16 16:12:09 -07:00
Corey Johnson
611eb93219 Buffer stores a is modified on disk flag 2012-07-16 16:11:52 -07:00
Corey Johnson
5f1e441538 shift-backspace acts as backspace 2012-07-16 14:23:31 -07:00
Nathan Sobo
512c1bfdb9 Merge branch 'master' into global-find 2012-07-16 14:56:24 -06:00
Corey Johnson
ac04a8ed66 Allow additional indentation after line has been auto-indented 2012-07-16 10:55:44 -07:00
Corey Johnson
95c3ea1b74 Rename insert tab event to indent 2012-07-16 10:34:02 -07:00
Corey Johnson
5184b90365 Hitting tab on a line (containing only whitespace) will auto indent the line and set the cursor to the end 2012-07-16 10:25:28 -07:00
Corey Johnson
629525383e Adjusting the width of rendered lines happens automatically with CSS 2012-07-16 09:17:43 -07:00
Corey Johnson
3e3bc99161 Merge branch 'master' into global-find
Conflicts:
	spec/app/editor-spec.coffee
2012-07-16 09:16:07 -07:00
Corey Johnson
e089b74867 Editor.renderedLines' css width is set to 100% when editor.maxScreenLineLength() is less than Editor.scrollView's width 2012-07-16 09:14:33 -07:00
Nathan Sobo
1ac6581f33 EditSession.setSelectedBufferRanges recycles selection instances
This prevents changing the scroll position when it isn't necessary.
2012-07-15 17:32:30 -06:00
Nathan Sobo
075968e42c Associate compiled operations with anchor ranges. All tests pass again.
This allows them to update their target range in the face of upstream changes.
2012-07-13 19:46:08 -06:00
Corey Johnson & Nathan Sobo
fd24b82d47 WIP: Converting to operations, but substitution operations need anchor ranges 2012-07-13 18:30:10 -06:00
Corey Johnson & Nathan Sobo
926067164d Buffer updates anchors when it changes instead of EditSession 2012-07-13 17:42:41 -06:00
Corey Johnson & Nathan Sobo
9eae88e97b Anchors and AnchorRanges are added to the buffer.
Also: Destroying an AnchorRange removes it from the EditSession / Buffer.
2012-07-13 17:18:10 -06:00