Commit Graph

386 Commits

Author SHA1 Message Date
Nathan Sobo
0bd98bf8f8 Do a better job cleaning up after Editors and EditSessions
- EditSessions destroy their Selections when they are destroyed
- Editors destroy their EditSessions when they are destroyed
- Editors unsubscribe from the document and window when they are
  removed from the DOM.
- When an EditSession is destroyed via any code path, the Editor with
  that EditSession removes it.
- Selections no longer trigger 'destroyed' events if their parent
  EditSession has already been destroyed.

These are all really intertwined, so I'm doing them as one commit
since that was the only way to keep the specs green.
2013-02-06 16:54:19 -07:00
Kevin Sawicki & Nathan Sobo
59d0742c17 Remove Anchor and AnchorRange. They're fully replaced by markers.
We're still leaking markers for selections and cursors. We need to
clean that up before merging.
2013-02-05 18:15:48 -07:00
Kevin Sawicki & Nathan Sobo
85111748ec Reset spy in spec before making next assertion 2013-02-05 16:34:36 -07:00
Kevin Sawicki & Nathan Sobo
75e040b73b Merge remote-tracking branch 'origin/dev' into markers
Conflicts:
	src/app/editor.coffee
2013-02-05 16:07:05 -07:00
Nathan Sobo
1d30605f7f Convert selection and cursor fully over to markers. 2013-02-05 13:39:00 -07:00
Kevin Sawicki
8de45ccc21 Bind meta-D to duplicate line below
Refs #134
2013-02-05 12:16:50 -08:00
Nathan Sobo
852b4c2f8a Merge remote-tracking branch 'origin/dev' into markers 2013-02-04 20:04:01 -07:00
Justin Palmer
4350be62c6 💀 is-focused.
targeting blurred state instead so normal state styles don't need a
special prefix
2013-02-04 16:02:09 -08:00
Kevin Sawicki
bef965d863 Add line number padding to expected width 2013-02-04 15:35:40 -08:00
Nathan Sobo
abafb541df Merge remote-tracking branch 'origin/dev' into better-anchors 2013-02-02 16:47:09 -07:00
Nathan Sobo
aa076a0bf2 Remove focused specs 2013-02-02 16:45:15 -07:00
Nathan Sobo
12425b796c Tweak specs now that buffer changes don't autoscroll the cursor 2013-02-02 16:34:28 -07:00
Nathan Sobo
c865b9f53a Update selection autoscroll specs with 3-valued logic
If autoscroll is true, we center the view on the selection. If false,
we do no autoscrolling at all. And if undefined we autoscroll to the
cursor.
2013-02-02 15:58:35 -07:00
Jon Rohan
0d2a328dcc making the editor .focused .is-focused for symmetry 2013-02-01 19:23:52 -05:00
Corey Johnson & Kevin Sawicki
8f030cd97e Always calculate dimensions with editor on DOM
Closes #206
2013-01-31 10:31:13 -08:00
Jon Rohan
11c0637220 Not adding a font family when the user doesn't have it set 2013-01-31 10:19:41 -05:00
Nathan Sobo
fd99c795b9 Merge remote-tracking branch 'origin/dev' into better-anchors 2013-01-30 20:45:31 -07:00
Corey Johnson
c650deea01 Merge branch 'font-config' into dev 2013-01-30 13:24:12 -08:00
Corey Johnson
29ccd271de Set font-size css property using style tag 2013-01-30 12:11:17 -08:00
Corey Johnson
9ea29b2899 Set font-family css property using style tag 2013-01-30 12:07:23 -08:00
Nathan Sobo
113a8fa279 Merge remote-tracking branch 'origin/dev' into better-anchors
Conflicts:
	src/app/cursor.coffee
	src/app/editor.coffee
2013-01-30 12:59:04 -07:00
Kevin Sawicki
f90d29262c Use octicon as folding indicator 2013-01-30 11:50:29 -08:00
Kevin Sawicki
8dbcefa932 Style color of folded line numbers 2013-01-30 11:50:23 -08:00
Corey Johnson
e7c3282f53 Add font-family spec 2013-01-30 10:15:34 -08:00
Kevin Sawicki
1303e58a87 Don't move trailing newline for multiline selections 2013-01-29 16:51:33 -08:00
Kevin Sawicki
096566ab2a Bind ctrl-meta-down to move line(s) down
Refs #134
2013-01-29 14:58:52 -08:00
Kevin Sawicki
ad7e4b63c0 Bind ctrl-meta-up to move line(s) up
Refs #134
2013-01-29 14:58:51 -08:00
Nathan Sobo
2380fa3445 Handle 'autoscroll' entirely in Cursor instead of in Anchor
This commit makes autoscroll a 3-valued property on the cursor. If it
is set to true or false, that setting will stick until the cursor's
next visual update. That means we can explicitly move the cursor with
autoscroll set to false, but also still autoscroll by default when the
cursor's anchor moves on its own.
2013-01-29 12:11:43 -07:00
Kevin Sawicki
d84c600679 Don't add CR invisible if line is soft wrapped 2013-01-28 13:33:46 -08:00
Kevin Sawicki
fa5ceedfe0 Don't add EOL invisible if line is soft wrapped 2013-01-28 13:22:32 -08:00
Kevin Sawicki & Nathan Sobo
98614592af Store line endings on a per-line basis in Buffer
The line ending for each line is recorded and reused
when lines are modified or inserted.

Closes #166
2013-01-27 16:01:22 -08:00
Kevin Sawicki
ecc50506c7 Render trailing carriage return as an invisible 2013-01-27 16:01:22 -08:00
Kevin Sawicki
1b76b05e4d Bind ctrl-C to copy path to clipboard
Refs #173
2013-01-25 17:52:05 -08:00
Kevin Sawicki
41a15c7889 Update spec event coordinates for new default styles 2013-01-22 21:43:35 -08:00
Kevin Sawicki
5d404d7ee0 Use new unstyled expected gutter width 2013-01-22 21:10:11 -08:00
Kevin Sawicki
62f1155706 Don't prompt to save on close if buffer is opened elsewhere
Only prompt to save when the buffer is dirty and the last
open session on it is being destroyed.
2013-01-17 17:25:52 -08:00
Kevin Sawicki
3a582eab63 Display editor's grammar name in status bar
Clicking on the grammar name displays the list of
available grammars that can be switched to.
2013-01-10 17:51:15 -08:00
Nathan Sobo
46331ded03 Merge remote-tracking branch 'origin/command-extensions' into dev
Conflicts:
	spec/app/editor-spec.coffee
	spec/app/root-view-spec.coffee
	src/app/editor.coffee
	src/extensions/strip-trailing-whitespace.coffee
2013-01-09 14:18:10 -07:00
Corey Johnson
f9e9b4203c *.getCursor() always returns last cursor (does not use index)
We weren't using the index functionality anywhere.
2013-01-08 18:27:29 -08:00
Kevin Sawicki
61600fcdf1 Reload grammar with edit session path changes 2013-01-08 17:12:08 -08:00
Kevin Sawicki
d9385888c8 Only update display when grammar changes 2013-01-08 16:54:51 -08:00
Corey Johnson & Kevin Sawicki
c67fbef2b2 Store grammar overrides on project 2013-01-08 14:39:32 -08:00
Kevin Sawicki
3b47c26b4d Change an edit session's grammar on meta-l 2013-01-08 13:17:12 -08:00
Kevin Sawicki
7465ae5052 Close all editors in pane with meta-P 2013-01-08 09:06:20 -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
Kevin Sawicki
5ded74b3e6 Close inactive editor sessions on alt-meta-w 2013-01-07 15:41:26 -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 & Nathan Sobo
8098ee69f3 Rename Editor attach and remove events in accordance w/ new scheme
'editor-open' -> 'editor:attached'
'before-remove' -> 'editor:will-be-removed'
2013-01-04 11:25:45 -07:00
Kevin Sawicki & Nathan Sobo
0589012e86 Rename 'editor-path-change' to 'editor:path-changed' 2013-01-04 11:25:45 -07:00