Commit Graph

130 Commits

Author SHA1 Message Date
Corey Johnson
97fa9d522a end/beginning word implementations are now more similar 2013-01-30 08:39:32 -08:00
Corey Johnson
46aefc75ab Make EditSession specs match vim style word behavior 2013-01-29 16:57:23 -08:00
Corey Johnson
dac92ca6e7 Make cursor.moveCursorToBeginningOfWord behave like vim 2013-01-29 16:57:22 -08:00
Corey Johnson
b66efbe3e7 cursor.getBeginningOfCurrentWordBufferPosition behaves like vim 2013-01-29 16:57:22 -08:00
Kevin Sawicki
7c7ca4a6c3 Don't auto outdent if already fully outdented 2013-01-22 17:39:03 -08:00
Kevin Sawicki
59f7b6650c Don't auto outdent if preceding row is null 2013-01-22 17:38:23 -08:00
Andy Delcambre
759fe2dd5b Bind meta-= to autoindent currently selected rows
Closes #142
2013-01-18 11:33:20 -08:00
Nathan Sobo
b0fe034c9a Add autoflow package w/ autoflow:reflow-paragraph command 2013-01-10 17:29:41 -07:00
Kevin Sawicki & Nathan Sobo
4dc7ade4e6 Globally mock pasteboard read and write in specs 2013-01-10 11:41:07 -08: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
d2521ca8b8 Set editor.autoIndent to false for tests
Auto-indenting makes it more difficult to write simple tests. So we turn it off.
2013-01-10 09:41:49 -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
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
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
Nathan Sobo
0a08d03c68 Rename Buffer, TokenizedBuffer, and Selection events 2013-01-04 13:59:11 -07:00
Kevin Sawicki & Nathan Sobo
ec13c38c7d Add EditSession.transact and friends
`EditSession.transact` adds more semantics on top of `UndoManager`'s
version pertaining to restoring selections on undo/redo of the
transaction.
2013-01-04 12:42:09 -07:00
Nathan Sobo
6d9402b5c9 Rename Anchor and Buffer events to passive-voice scheme 2013-01-02 13:48:10 -07:00
Nathan Sobo
08a27cf93d Load grammars from TextMatePackage. Delete TextMateBundle.
TextMatePackage is only designed to load resources out of a TextMate
bundle. It's used only at load time, and from that point out we only
refer to our own global `syntax` data structure to access the data that
it loads.
2012-12-31 18:28:38 -06:00
Jon Rohan
92a9831201 writing spec for .backspaceToBeginningOfLine() 2012-12-28 17:24:57 -08:00
Nathan Sobo
acc0503684 Merge remote-tracking branch 'origin/master' into config
Conflicts:
	src/app/keymap.coffee
	src/extensions/outline-view/src/keymap.coffee
	src/extensions/outline-view/src/tag-reader.coffee
	src/packages/fuzzy-finder/spec/fuzzy-finder-spec.coffee
	src/packages/fuzzy-finder/src/fuzzy-finder.coffee
2012-12-18 20:32:05 -07:00
Corey Johnson & Nathan Sobo
1dde562c6b Don't explode when pasting on fractionally-indented lines w/ hard tabs 2012-12-06 12:01:59 -07:00
Corey Johnson & Nathan Sobo
de5bd91055 Paste indent normalization works with on lines w/ mixed indentation
Normalizing the indent no longer explodes when pasting on a line that has mixed tabs and spaces when the edit session is using hard tabs.
2012-12-06 11:59:23 -07:00
Nathan Sobo
bf9a7cc9a1 Fix exception when moving to the end of word when there *is* no word 2012-11-26 15:12:32 -07:00
Corey Johnson & Nathan Sobo
bfb1742285 ctrl-a on an empty line stays on that same line.
Fixes #95
2012-11-19 10:02:31 -08:00
Corey Johnson & Nathan Sobo
8184c0248b Don't store tabLength on EditSession 2012-11-06 11:56:18 -08:00
Corey Johnson
b85a95eaa1 Make leading spaces atomic (length based on tabLength) 2012-11-06 09:03:54 -08:00
Nathan Sobo
b87d7cd0df Auto-indent skips cursor over leading whitespace before inserting more
This preserves the user's intent to bring the line's total amount of leading whitespace to the desired indent level.
2012-11-05 15:15:00 -07:00
Corey Johnson & Nathan Sobo
5b7e96067a moveCursorToBeginningOfWord works when preceded by a blank line 2012-10-30 12:05:46 -06:00
Corey Johnson & Nathan Sobo
46fc7f2375 Redefine word regex to consider sequences of non-word chars as words
This does *not* include newlines. Doing this makes it possible to double-click regions of whitespace to select them just as you can select a word. It also makes word movement bindings behave similarly to TextMate.
2012-10-30 11:56:05 -06:00
Corey Johnson & Nathan Sobo
8c7152a59b Eliminate 'move-cursor-to-next-word' command
We have move-to-end-of-word and move-to-beginning-of-word, which is what we use for the current keybindings.
2012-10-30 11:56:05 -06:00
Nathan Sobo
aa20fbac6d Ignore an empty last line when indenting/outdenting selected lines
This provides more intuitive behavior now that the cursor isn't visible when there's a selection.
2012-10-29 16:16:19 -06:00
Nathan Sobo
db3d788664 Toggle line comments ignores last row of selection if it ends at col 0
Now that the cursor is hidden at the end of a selection, it's counter-intuitive for the commenting to extend to the next line since there's no visual indicator that the cursor extends to that location.
2012-10-29 16:04:09 -06:00
Corey Johnson & Nathan Sobo
adf00b60f3 Detect softTabs/hardTabs when an EditSession is created 2012-10-26 12:20:14 -06:00
Corey Johnson & Nathan Sobo
4c24f4ea65 indentSelectedRows works with hard tabs 2012-10-26 11:15:55 -06:00
Corey Johnson & Nathan Sobo
0aa9f8de57 Indent works with hard tabs 2012-10-26 11:15:55 -06:00
Corey Johnson & Nathan Sobo
29351ee5fc Move setIndentationForBufferRow and indentationForBufferRow to EditSession 2012-10-26 11:15:55 -06:00
Corey Johnson & Nathan Sobo
ef6c51dd32 💄 2012-10-25 15:56:18 -07:00
Corey Johnson & Nathan Sobo
1bb2531f31 Tab can auto-indent at the beginning of a line 2012-10-25 16:27:28 -06:00
Nathan Sobo
e53410b5fd Add indentBasis metadata to pasteboard when copying text
This allows indent to be normalized properly even if the leading whitespace isn't copied from the first line.
2012-10-25 10:44:54 -06:00
Corey Johnson & Nathan Sobo
6f353fda62 Add indentBasis option to insertText
We will use this to normalize indentation on paste even when we didn't copy all the leading whitespace on the first line.
2012-10-24 18:29:09 -06:00
Nathan Sobo
ee09c20214 Merge branch 'master' into paste-indentation 2012-10-24 12:37:50 -06:00
Nathan Sobo
937caf8400 Un-F 2012-10-23 17:17:28 -06:00
Nathan Sobo
d1999b91ff Base first line delta on the cursor column, not the existing line's indent 2012-10-23 16:30:38 -06:00