Commit Graph

12724 Commits

Author SHA1 Message Date
Nathan Sobo
314e3da8bc WIP: Destroy nested tab stops when engulfed by a buffer change
Has 2 failing specs...

There are still some issue with this code's interaction with the undo
system. The tab stops will need to be or destroyed when certain
changes are undone or redone.
2013-01-07 21:53:08 -07:00
Kevin Sawicki
adfb6dee12 💄 2013-01-07 18:21:03 -08:00
Kevin Sawicki
438f510f80 Don't check if root is ignored 2013-01-07 18:14:27 -08:00
Kevin Sawicki
f3b84ed33d Only show repo icon at root of tree 2013-01-07 18:13:08 -08:00
Kevin Sawicki
f5344080f1 Only compute Git status flags once
Previously the status was fetched twice, once for
if modified and once for if new.

Now the flags are fetched once and Git now provides
helpers to check the status flags directly for
modified and new status.
2013-01-07 17:35:57 -08:00
Kevin Sawicki
146ae9d776 Refresh the Git index when the window gains focus
Closes #121
2013-01-07 17:29:48 -08:00
Kevin Sawicki
ebe7ff7090 Destroy inactive editor sessions that are dirty
A confirm dialog is now displayed whenever a session
with a dirty buffer is closed so dirty sessions can now
be processed when 'editor:close-other-tabs' is fired.
2013-01-07 16:50:20 -08:00
Kevin Sawicki
0adae3c634 Prompt to save dirty buffers from destroyEditSessionIndex
Previously only the active editor session was prompting to
save dirty buffers before closing.  This caused the confirm
dialog to not display when closing from a tab since the
Editor.destroyEditSessionIndex is used there.
2013-01-07 16:24:51 -08:00
Nathan Sobo
62d7273069 Parse nested snippet placeholders 2013-01-07 16:49:48 -07:00
Kevin Sawicki
5ded74b3e6 Close inactive editor sessions on alt-meta-w 2013-01-07 15:41:26 -08:00
Nathan Sobo
60c89f8b32 Allow snippet tab stop placeholder text to contain newlines 2013-01-07 16:35:11 -07:00
Nathan Sobo
858ad69484 Simplify snippet body parsing
Previously, we parsed snippet bodies line at a time, then determined
tab stops within lines. But this disallows tab stops with placeholder
text that spans multiple lines. Now the parser produces a simpler
structure that breaks the body into an array of strings and tab stops.
Newlines are represented directly as characters within the strings.
2013-01-07 16:09:18 -07:00
Kevin Sawicki
b43c756820 Only deactivate the RootView once during shutdown
Previously window.shutdown() was called multiple times
if window.close() was called since the shutdown handler
was also fired in the native window controller.

This prevented proper serialization of the RootView
from occurring when then window was closed via meta-w or
meta-W since it was called a second time when already
empty of packages and editors.
2013-01-07 14:41:10 -08:00
Kevin Sawicki
1f1e0aac78 Include window events in event-palette
Previously these weren't displayed since event the
documentation loop stopped at the document element and
window events weren't included even though they are
applicable for the currently focused element.
2013-01-07 13:59:33 -08:00
Kevin Sawicki
0e082878f3 Close window on meta-W 2013-01-07 13:41:27 -08:00
Corey Johnson & Nathan Sobo
f008ff52e8 Load snippets from any atom package with a snippets directory 2013-01-07 14:28:47 -07:00
Corey Johnson & Nathan Sobo
6efe533650 Add atom.getPackages so we can access package objects anywhere 2013-01-07 14:28:47 -07:00
Corey Johnson & Nathan Sobo
361bf83345 Load snippets from CSON/JSON. Use syntax properties for scoping.
This commit eliminates the custom `snippets` format and instead just
uses CSON/JSON.
2013-01-07 14:28:47 -07:00
Kevin Sawicki
2d4c4b3930 Support opening a path into a new split editor 2013-01-07 12:52:23 -08:00
Corey Johnson & Nathan Sobo
28c457f564 Add Cursor.getScopes and EditSession.getCursorScopes 2013-01-07 13:32:12 -07:00
Kevin Sawicki
b4654ea435 Use buffer position when end of word isn't found
Previously if null was returned for the end of word position then
it was interpreted as 0,0 which would select the entire contents
before the current word instead of the current word.
2013-01-07 11:30:30 -08:00
Kevin Sawicki
bbdff31faf Lowercase current word/selection with meta-U 2013-01-07 09:37:51 -08:00
Kevin Sawicki
2a0ee62685 Uppercase current word/selection with meta-u 2013-01-07 09:37:51 -08:00
Kevin Sawicki
9013a94465 Count commands instead of command categories 2013-01-06 18:51:22 -08:00
Kevin Sawicki
a300146f2a Display submodule icon in tree-view 2013-01-06 09:52:53 -08:00
Kevin Sawicki
59d631879d Start substring after trailing slash 2013-01-06 08:45:07 -08:00
Kevin Sawicki
7e95bf96a5 Don't highlight ending line if it ends at column 0 2013-01-05 19:45:45 -08:00
Kevin Sawicki
9a70736242 Remove stray console.log 2013-01-05 19:26:37 -08:00
Kevin Sawicki
3ce559637d 💄 2013-01-05 19:25:56 -08:00
Kevin Sawicki
f11f85e87b Show octicon for project's that are repos 2013-01-05 19:24:53 -08:00
Kevin Sawicki
0217bb9ce0 Remove unused variable 2013-01-05 19:11:43 -08:00
Kevin Sawicki
f78adfa060 Add command and invocation counts to header 2013-01-04 16:39:13 -08:00
Nathan Sobo
0624ebaf5d Set config defaults for a package from its module's configDefaults 2013-01-04 17:23:24 -07:00
Nathan Sobo
d509093076 Don't write config defaults out to config.json 2013-01-04 17:08:25 -07:00
Kevin Sawicki
dec3ab7873 Only get path if not returning 2013-01-04 15:49:57 -08:00
Kevin Sawicki
5ce606953b Guard against null repo 2013-01-04 15:47:34 -08:00
Kevin Sawicki
e0b1570795 Only create repo from setPath 2013-01-04 15:46:12 -08:00
Kevin Sawicki
cde4a567e7 Update status class when window gains focus
This will keep the tree view in sync when Git operations are
performed outside of the editor.
2013-01-04 15:29:36 -08:00
Kevin Sawicki
7228e270b0 Remove unused require 2013-01-04 15:12:37 -08:00
Kevin Sawicki
0f22a560a5 Set path on project to be fixture git repo
This was causing the spec to fail on all non-master branches
since the wrong repository was being used for comparisons.
2013-01-04 14:46:41 -08:00
Kevin Sawicki
8e1ae24eb4 Update selected operation on move-to-top/move-to-bottom 2013-01-04 13:35:05 -08:00
Nathan Sobo
8591c86733 Pass a name string to RootView.activatePackage & deactivatePackage
Previously we were relying on the package module itself to have a
`name` field. But now that we're using `atom.loadPackage` to load up
packages, we can infer the name of the module from the name of the
package directory.
2013-01-04 14:33:01 -07:00
Nathan Sobo
4ef4c79f30 Use Subscriber mixin in EditSession to subscribe/unsubscribe
This replaces the need to track subscription on `EditSession`'s 
`Buffer` and `DisplayBuffer` using an incrementing id on `EditSession`
2013-01-04 14:11:25 -07:00
Nathan Sobo
b6b8f235fd Move and rename Buffer's 'anchors-updated' event 2013-01-04 14:03:37 -07:00
Nathan Sobo
0a08d03c68 Rename Buffer, TokenizedBuffer, and Selection events 2013-01-04 13:59:11 -07:00
Nathan Sobo
1762ae2744 Rename 'selection-change' to 'selection:changed' 2013-01-04 13:48:49 -07:00
Kevin Sawicki & Nathan Sobo
96aaefdd7d Rename Project events to be past-tense 2013-01-04 13:46:27 -07:00
Kevin Sawicki & Nathan Sobo
725c4cf132 Rethrow exceptions during undo, redo, and pushOperation 2013-01-04 13:20:58 -07:00
Kevin Sawicki & Nathan Sobo
c5e6a7428d 💩 Kill stray print statement 2013-01-04 13:19:56 -07:00
Kevin Sawicki & Nathan Sobo
82d4550ff3 Throw exception when aborting/committing without a transaction 2013-01-04 13:02:56 -07:00