Corey Johnson
ae34611d2a
Changes to buffer (via external process) do set buffer as modified.
2012-07-02 09:13:05 -07:00
Corey Johnson
801a91ec9b
Specs cleanup buffers
2012-06-29 15:38:12 -07:00
Corey Johnson
2ff1cc9baf
Never again will changes to 'sample.js' bite us in the ass
2012-06-29 15:09:31 -07:00
Corey Johnson
c3d7d3566f
Buffer listens for changes to file and triggers 'contents-change' event
2012-06-29 15:09:31 -07:00
Corey Johnson
e295d19d51
Editor.prototype.removeActiveEditSession
calls destroy
on the removed edit session
2012-06-29 15:09:01 -07:00
Corey Johnson
3dd9253bc5
When Buffer's path changes, stop listening for events on former path
2012-06-29 15:09:01 -07:00
Corey Johnson
8e7a8836cd
Unmodified buffer updates contents when file changes outside of atom.
2012-06-29 15:09:01 -07:00
Corey Johnson
6182cf4736
un-f and un-console
2012-06-29 15:09:01 -07:00
Corey Johnson
e24c9932a4
Files trigger contents-change event
2012-06-29 15:09:01 -07:00
Nathan Sobo
3524490946
Ensure selection emits event if a buffer change moves its anchor
2012-06-29 11:55:16 -06:00
Nathan Sobo
f9db74a2bd
Add spec for clicking paths in file finder
2012-06-29 11:03:08 -06:00
Nathan Sobo
5ea1e6f05c
Merge remote-tracking branch 'origin/select-from-file-finder'
...
Conflicts:
src/extensions/fuzzy-finder.coffee
static/fuzzy-finder.css
2012-06-29 10:40:34 -06:00
Nathan Sobo
6c60993f5c
Fuzzy buffer finder switches to the editor that has the selected buffer if it isn't open on the current active editor
2012-06-29 09:59:37 -06:00
Nathan Sobo
22515e7ba0
RootView.open takes an 'allowActiveEditorChange' option
...
When the 'allowActiveEditorChange' option is true, RootView will try to activate an existing edit session for the given path on *any* editor, and switch focus there. This will be used by the fuzzy-finder for the meta-b option, which should open the chosen buffer on the editor that contains it, even if it isn't currently active.
2012-06-29 09:48:16 -06:00
Nathan Sobo
db212fc077
Spec 💄 preparing for specialized selection logic when fuzzy-finding open buffers
2012-06-28 13:39:04 -06:00
Nathan Sobo
f4832148cd
Buffer finder does not open if there are no open buffers with paths
2012-06-28 13:17:49 -06:00
Nathan Sobo
423b312e9c
Meta-b opens the fuzzy finder with paths to the current editor's buffers
2012-06-28 12:57:52 -06:00
Nathan Sobo
ed48622a3a
Rename FileFinder to FuzzyFinder, which will make more sense when we can also use it to fuzzy-find on open buffers
2012-06-28 11:35:30 -06:00
Nathan Sobo
3cce8f9afd
Ensure single-line snippets do not indent the following line
2012-06-27 08:03:54 -06:00
Nathan Sobo
2cb993760b
Make fs.exists return false for null/undefined paths
2012-06-27 07:56:02 -06:00
Nathan Sobo
5b11762989
Fix bug where edit sessions were not properly restored on refresh
2012-06-27 07:53:32 -06:00
Nathan Sobo
086b33f606
Merge branch 'snippets'
...
Conflicts:
src/app/root-view.coffee
2012-06-26 22:58:32 -06:00
Nathan Sobo
6db42114f9
If the user attempts to switch tab stops while the cursor is not *on* a tab stop, the snippet is terminated
2012-06-26 22:43:23 -06:00
Nathan Sobo
01993f1be2
Editor selects text that was typed at a tab-stop when shift-tabbing back to it
2012-06-26 17:55:40 -06:00
Corey Johnson
1059a6a495
Make dev tools work with specs
2012-06-26 16:41:13 -07:00
Corey Johnson
3efcc50a0d
Renamed call to ControlPanel.hide to ControlPanel.detach
2012-06-26 16:41:13 -07:00
Corey Johnson
6d69ec77f1
Remove un-needed window.advanceClock calls from editor
2012-06-26 16:41:13 -07:00
Nathan Sobo
65991c686a
Snippets can contain placeholder text (but can't nest yet)
...
Snippet placeholders are managed by adding an "anchor range" to the edit session. An anchor range basically tracks two anchors for the start and the end of the range.
2012-06-26 17:29:32 -06:00
Nathan Sobo
c354f016b9
Ensure tab-stops are correctly placed on indented snippet lines
2012-06-22 23:03:29 -06:00
Nathan Sobo
3483317549
Subsequent lines of a snippet are indented based on the first line
2012-06-22 22:57:49 -06:00
Nathan Sobo
de9486320d
Shift-tab moves through snippet tab stops backwards
2012-06-22 22:10:14 -06:00
Nathan Sobo
6389b19b7c
Merge branch 'master' into snippets
2012-06-22 16:25:33 -06:00
Nathan Sobo
e2efa95d13
Ensure that 'change-screen-range' events are triggered on selections by backspace
2012-06-22 16:20:50 -06:00
Nathan Sobo
c4046bbdc5
Place snippet tab relative to snippet start position. Terminate when pressing 'tab' at last tab-stop.
2012-06-22 12:52:40 -06:00
Nathan Sobo
5c6e94ec74
Tab stops are associated with anchors so we can jump to them event when the buffer changes
2012-06-22 12:07:20 -06:00
Nathan Sobo
ae2b686802
Parse tab-stop positions correctly when there are multiple on a line
2012-06-22 11:44:58 -06:00
Nathan Sobo
a936b6b716
Tab advances between snippet tab stops. Still need to account for tab stops moving due to buffer changes.
2012-06-21 16:53:13 -06:00
Nathan Sobo
f9ec6214e6
Snippets parser can parse tab stops in the form of $1, $2, etc.
...
It associates each tab stop with its position relative to the beginning of the snippet body, and strips the '$number' marker from the inserted snippet body.
2012-06-21 16:33:21 -06:00
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
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
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
dd69abbdfe
Add test case for non-matching prefix causing a regular tab to be inserted
2012-06-20 12:20:37 -06:00