Commit Graph

1748 Commits

Author SHA1 Message Date
Nathan Sobo
f1678fdafe Use an overloaded 'tab' keybinding and the new abortKeyBinding method to implement conditional snippet expansion
If the current word prefix doesn't correspond to a valid snippet, we abort the key binding and try the next one, which ends up being the standard tab binding so a typical tab gets inserted. This is a mechanism that could support overloading of arbitrary keys.
2012-06-20 22:47:05 -06:00
Nathan Sobo
68cb9992fc Sort candidate binding sets in a stable way in Keymap to preserve load order for a valid cascade 2012-06-20 22:45:14 -06:00
Nathan Sobo
e1309f7c66 Key binding event handlers can call abortKeyBinding on the event object to abort and try the next binding 2012-06-20 22:08:16 -06:00
Nathan Sobo
c276a4029e Allow whitespace after last snippet declaration 2012-06-20 21:53:06 -06:00
Nathan Sobo
4590321f0a Apply a hybrid approach to handling events in snippets extension 2012-06-20 21:52:53 -06:00
Nathan Sobo
1bec4c8404 Snippets now advise the insertTab method on EditSessions instead of intercepting events on Editor 2012-06-20 17:56:02 -06:00
Nathan Sobo
9c02e05051 Preserve the value of this when applying before advice 2012-06-20 17:55:29 -06:00
Nathan Sobo
a8a1a74b11 Refactor Snippets to a class that creates an instance for each Editor 2012-06-20 17:46:22 -06:00
Nathan Sobo
d50b7f7a37 Trigger a 'new-edit-session' event when Project.prototype.open creates an EditSession 2012-06-20 17:40:45 -06:00
Nathan Sobo
583af86f68 Add _.adviseBefore for adding before advice to methods 2012-06-20 17:34:21 -06:00
Nathan Sobo
4c8aeb16bb Merge branch 'master' into snippets
Conflicts:
	src/app/window.coffee
2012-06-20 17:11:25 -06:00
Nathan Sobo
e3d7ab31b5 Merge branch 'project-refactor' 2012-06-20 16:41:54 -06:00
Nathan Sobo
b4d77fd107 Load user configuration as part of RootView initialization, before any editors are created 2012-06-20 16:06:45 -06:00
Nathan Sobo
8a5af9cd17 Remove stray console.logs 2012-06-20 12:06:48 -06:00
David Graham & Nathan Sobo
d992458c8c Load snippets from .atom/snippets when snippets extension is activated 2012-06-20 11:49:29 -06:00
David Graham & Nathan Sobo
dc6c0a3e35 Rename userConfigurationPath to configFilePath so I can add configDirPath as well 2012-06-20 11:19:40 -06:00
David Graham & Nathan Sobo
498adc00bf 💄 newline at eof 2012-06-20 11:18:51 -06:00
Corey Johnson & Nathan Sobo
af9aec7cbc SoftWrap state is stored in EditSessions, but it is set and toggled via Editor. 2012-06-20 09:28:23 -07:00
Corey Johnson & Nathan Sobo
d1c1f3cfce Move autoIndent, tabText, softTabs and softWrap to project 2012-06-20 09:28:23 -07:00
Corey Johnson & Nathan Sobo
4e78b29e81 Replace Editor.setBuffer with Editor.edit 2012-06-20 09:28:23 -07:00
Corey Johnson & Nathan Sobo
1280370fd1 Editor constructor requires an editSession (unless it is a mini buffer) 2012-06-20 09:28:23 -07:00
Corey Johnson & Nathan Sobo
5efc853c36 Replace Editor.activeEditSessionIndex with activeEditSessionIndex method 2012-06-20 09:28:22 -07:00
Corey Johnson & Nathan Sobo
aa10ae383b Remove suppressBufferCreation from Editor initialize 2012-06-20 09:28:22 -07:00
Corey Johnson & Nathan Sobo
4659fd7dc3 Project.open returns an editSession instead of a buffer.
First step in removing the coupling of Editor and Buffer. Editor should get all information about the active buffer from the activeEditSession.
2012-06-20 09:28:22 -07:00
Corey Johnson & Nathan Sobo
4bd5a017cf Add inspect view of edit-session 2012-06-20 09:28:22 -07:00
David Graham & Nathan Sobo
e4409be95a Parse multiple snippets and allow any characters in snippet body 2012-06-19 17:56:03 -06:00
David Graham & Nathan Sobo
5b8cc8a6b6 Snippets matching the cursor's word prefix are inserted on 'tab' events 2012-06-19 17:47:09 -06:00
David Graham & Nathan Sobo
4204b27751 Start on Snippets extension
Can parse a basic snippets file
2012-06-19 17:19:47 -06:00
Nathan Sobo
b4e39785e5 "ctrl-w w" focuses the next pane. Move select-word binding to ctrl-W to avoid collision 2012-06-18 20:33:25 -06:00
Nathan Sobo
c21766c328 Add RootView.proto.focusNextPane 2012-06-18 20:27:39 -06:00
Nathan Sobo
171a19369a Fix remaining multi-keystroke specs 2012-06-18 17:31:26 -06:00
Nathan Sobo
85f695e4f1 Ensure that only whole keystrokes are matched in binding prefix matches 2012-06-18 17:31:11 -06:00
Nathan Sobo
5ef5c4565a Merge branch 'master' of github.com:github/atom into multi-keystroke-bindings 2012-06-18 17:06:17 -06:00
Nathan Sobo
ac4aae2cec WIP: Begin introducing multi-keystroke bindings to Keymap 2012-06-18 16:46:39 -06:00
Corey Johnson & Nathan Sobo
db833a4782 Don't apply all editor bindings to mini editors 2012-06-15 17:49:21 -07:00
Corey Johnson & Nathan Sobo
c02e5bbdbf Do not allow root view to set a font-size less than 1 2012-06-15 17:30:10 -07:00
Corey Johnson & Nathan Sobo
db69ee5627 Calculate gutter dimensions when editor's dimensions are calculated 2012-06-15 17:30:10 -07:00
Nathan Sobo
1c29fc1417 Ctrl-w selects word under cursor 2012-06-15 16:17:45 -06:00
Nathan Sobo
f99ce5782c 💄 2012-06-15 16:03:54 -06:00
Corey Johnson & Nathan Sobo
951f76f2bf Serialize root view state to a string of JSON when storing it on the window upon refresh
This avoid situations where arrays in the window state pointed to a different constructor than the current context's Array constructor.
2012-06-15 15:34:07 -06:00
Corey Johnson & Nathan Sobo
4a35427db3 Delete the newline at the end of a fold only when it makes sense 2012-06-15 14:53:15 -06:00
Nathan Sobo
95622dc64e If the cursor is at any buffer position inside a fold, backspace deletes the folded text 2012-06-15 14:41:05 -06:00
Corey Johnson & Nathan Sobo
8d516fe4fe Use a legitimate replace method in AceAdaptor.
Fixes comment toggling in coffeescript, and requires a better implementation of findMatchingBracket in AceAdaptor for outdent to work.
2012-06-15 11:56:09 -07:00
Kevin Sawicki
b5d08ffcf3 Add missing 'r' in scrollToEntry method name 2012-06-14 22:15:28 -07:00
Corey Johnson & Nathan Sobo
e38ade2730 Bugfix: Backspace in middle of line below a fold no longer deletes the newline preceding the cursor 2012-06-14 17:08:14 -06:00
Corey Johnson & Nathan Sobo
1dfbaf67d1 Delete at the end of a line above a fold deletes the folded lines (leaving a newline) 2012-06-14 16:58:47 -06:00
Corey Johnson & Nathan Sobo
daa688b1e1 Merge branch 'master' of github.com:github/atom
Conflicts:
	src/app/edit-session.coffee
2012-06-14 16:25:05 -06:00
Corey Johnson & Nathan Sobo
f025bec910 If a selection ends on a fold, backspace/delete delete all lines inside the fold 2012-06-14 15:52:54 -06:00
Corey Johnson & Nathan Sobo
9ada2daebd If command panel selects text within a fold, the fold is destroyed 2012-06-14 14:00:35 -07:00
Corey Johnson & Nathan Sobo
8a2aa881f7 💄 2012-06-14 13:57:33 -07:00