Kevin Sawicki & Nathan Sobo
e858f7eb2a
Replace stayValid option w/ validationStrategy when creating markers
2013-02-26 17:03:02 -07:00
Kevin Sawicki & Nathan Sobo
5da5bf94b6
Add 'editor:save-debug-snapshot' command. Closes #191 .
...
This saves the state of the rendered lines, the display buffer, the
tokenized buffer, and the buffer to a file. If a problem arises with
rendering, hopefully we can use it to diagnose in which layer things
went awry.
2013-02-22 14:28:04 -07:00
Kevin Sawicki
881efd9c5d
Restore selection when undoing an insert newline below
2013-02-20 14:09:40 -08:00
Kevin Sawicki
af58c1e83f
Bind meta-shift-enter to insert newline above current line
...
Closes #292
2013-02-20 13:44:30 -08:00
Kevin Sawicki
dedde7b222
Only add newline when insert row exceeds last row
...
Previously if the line before a trailing newline was
duplicated an extra newline would inserted with the
duplicated line.
2013-02-19 21:02:25 -08:00
Nathan Sobo
7bdd51b456
Rename deserializeView to deserialize
...
In additional, rename `registerViewClass(es)` to `registerDeserializer(s)`.
This moves us to a situation where any kind of object may want to be
deserialized, not just views.
2013-02-19 09:48:40 -07:00
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
75e040b73b
Merge remote-tracking branch 'origin/dev' into markers
...
Conflicts:
src/app/editor.coffee
2013-02-05 16:07:05 -07:00
Kevin Sawicki & Nathan Sobo
3dab8e92ee
Convert snippets to use markers instead of anchor ranges
2013-02-05 15:54:41 -07:00
Kevin Sawicki & Nathan Sobo
94d1edcc06
Add EditSession.selectMarker
2013-02-05 15:54:20 -07:00
Kevin Sawicki
8de45ccc21
Bind meta-D to duplicate line below
...
Refs #134
2013-02-05 12:16:50 -08:00
Nathan Sobo
afe0a6570a
Reduce observation to single observeMarker method on display buffer
...
It will call the observer callbacks with the buffer and screen positions
of the head and tell each time any of these values is changed.
2013-02-04 21:24:06 -07:00
Kevin Sawicki
0270ba3e1c
Add bracket matcher that highlights pair
...
(), {}, and [] pairs are now highlighted when
after or before the cursor
2013-02-04 18:09:20 -08:00
Nathan Sobo
ead93d0f39
Rename to DisplayBuffer.observeMarkerHeadPosition
...
When you observe, you get callbacks whenever the screen or buffer
position changes, and you get the new and old position in both
coordinate types.
2013-02-04 11:32:47 -07:00
Nathan Sobo
abafb541df
Merge remote-tracking branch 'origin/dev' into better-anchors
2013-02-02 16:47:09 -07:00
Nathan Sobo
f6ea6a39d9
Remove anchorPoint state from EditSession
2013-02-02 16:46:25 -07:00
Nathan Sobo
1bbb954239
EditSession specs passing after converting Selection to use markers
...
Still a bit of a mess though...
2013-01-31 18:26:29 -07:00
Corey Johnson
587111074d
Don't complain if restoring an unnamed buffer
2013-01-31 15:16:03 -08:00
Nathan Sobo
628701fd3a
Finish converting cursors to use markers.
...
The model layer works at least… haven't tested the view. Will test out
the view once I get the selection model working.
2013-01-31 15:52:28 -07:00
Nathan Sobo
bc44540b10
Start adding ability to observe marker head positions
2013-01-31 14:00:01 -07:00
Nathan Sobo
2df0b9fa19
WIP: Start converting cursor and selection to be based on markers
2013-01-30 22:47:29 -07:00
Nathan Sobo
fd99c795b9
Merge remote-tracking branch 'origin/dev' into better-anchors
2013-01-30 20:45:31 -07:00
Nathan Sobo
dfe0cad217
Replace anchor point/range with a single concept: markers
...
A "marker" is basically like a persistent selection/cursor composite,
having a head and a tail. The "head" is like the cursor in a selection,
and the "tail" is like the part of the selection that doesn't move. My
goal is for markers to be the only construct used to track regions
in the buffer. I want to replace anchors with them.
2013-01-30 16:52:09 -07:00
Kevin Sawicki
5f343d74b2
Use new EditSession.isFoldedAtBufferRow method when moving lines
2013-01-30 13:54:26 -08:00
Kevin Sawicki
1acf0b870f
Support translating points and ranges
2013-01-30 13:49:10 -08:00
Nathan Sobo
6388ec8bd7
Kill call to removed method
2013-01-30 13:24:06 -07: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
8dbcefa932
Style color of folded line numbers
2013-01-30 11:50:23 -08:00
Nathan Sobo
30909a8e8f
Move anchor points to buffer; restore invalidated points on undo
2013-01-30 12:23:42 -07:00
Nathan Sobo
0ecfba3262
WIP: Start adding new anchorPoint API on edit session
...
These will replace anchors, but they won't be stored on the Buffer
at all. The API user will access them by a returned scalar id rather
than calling methods on the returned anchor object directly.
2013-01-29 18:21:56 -07:00
Kevin Sawicki
1303e58a87
Don't move trailing newline for multiline selections
2013-01-29 16:51:33 -08:00
Kevin Sawicki
367927faa1
Remove unneeded empty selection logic
2013-01-29 15:08:21 -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
Corey Johnson & Nathan Sobo
c13b45df99
Hard tabs in snippets are translated to soft-tabs if necessary
2013-01-28 16:36:15 -07:00
Corey Johnson
32e281bcc6
Add getWordUnderCursor to Editor and EditSession
2013-01-21 15:19:01 -08:00
Andy Delcambre
759fe2dd5b
Bind meta-= to autoindent currently selected rows
...
Closes #142
2013-01-18 11:33:20 -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
Nathan Sobo
b0fe034c9a
Add autoflow package w/ autoflow:reflow-paragraph command
2013-01-10 17:29:41 -07:00
Corey Johnson
ca41bf0709
Set auto-indent config defaults
2013-01-10 10:38:44 -08:00
Corey Johnson
d53572d54d
Rename editor.autoIndentPastedText to editor.autoIndentOnPaste
2013-01-10 09:42:20 -08:00
Corey Johnson
4f0e2c1e9b
Add editor.autoIndentPastedText config option
2013-01-10 09:31:57 -08:00
Corey Johnson
d55dfc8a6f
AutoIndent is a config property instead of a syntax property
2013-01-10 09:31:23 -08:00
Corey Johnson
21fa3e5a0f
autoIndent is stored as a syntax property
2013-01-09 16:26:57 -08:00
Corey Johnson
f5ee676e5e
Pass autoIndent as an option flag
...
Instead of querying EditSession for autoIndenting
2013-01-09 15:24:04 -08:00
Corey Johnson
261a8aae2d
Remove @autoIndent from Project and EditSession
2013-01-09 15:22:37 -08:00
Corey Johnson
95dcf275e4
Remove *.getLastCursor()
2013-01-08 18:27:29 -08: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