Corey Johnson & Nathan Sobo
c55332a3a4
WIP: Make selections remember if they are wordwise/linewise
...
Also always expand from the initial selection after a double/triple click in either direction until directionality of the selection is established.
2012-10-30 13:56:35 -06: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
Corey Johnson
89ac3f1c82
Project.scan works with escaped regex literals
2012-10-29 16:04:01 -07:00
Nathan Sobo
8a3f932bfa
Merge branch 'hide-selection-cursor'
2012-10-29 16:54:34 -06:00
Nathan Sobo
733264dc91
Don't highlight gutter lines when there's a multi-column selection
2012-10-29 16:42:51 -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
Nathan Sobo
88e246b622
Hide the cursor when the selection is not empty
2012-10-29 15:51:32 -06:00
Corey Johnson
47c6a3a790
Ensure spans are ended in buildLineHtml
2012-10-29 13:47:44 -07:00
Corey Johnson
40673549cb
Quotes only automatically close if they are opened after a non-word character.
2012-10-29 13:12:28 -07:00
Corey Johnson
51b2871e02
Remove unused subtract method in point (it did not behave correctly)
2012-10-29 13:12:28 -07:00
Nathan Sobo
c8c581dfd0
Remove Selection#modifyScreenRange and rely on cursor/anchor events
2012-10-29 13:11:17 -06:00
Corey Johnson
1924e92727
Create method getTokenizedBuffer() on language mode
...
Instead of assigning a tokenizedBuffer property on LanguageMode instances from the TokenizedBuffer constructor.
2012-10-29 11:54:14 -07:00
Corey Johnson
82e0a458fa
Do not automatically close quotes when inserted inside a string.
2012-10-29 11:54:13 -07:00
Kevin Sawicki
2531665570
Add Buffer.isEmpty()
...
To be used by Buffer.isModified() for when the
buffer has no backing file
2012-10-27 08:57:55 -07:00
Corey Johnson
d5dfda8a7d
Fix extension keymap loading
2012-10-26 15:36:15 -07:00
Corey Johnson
70976a96a8
Don't explicitly require .coffee files
2012-10-26 15:36:15 -07:00
Kevin Sawicki
acb5207d28
Treat file-less buffers as unmodified when empty
2012-10-26 13:56:21 -07:00
Corey Johnson & Nathan Sobo
86d5c1ccff
💄
2012-10-26 12:20:59 -06:00
Corey Johnson & Nathan Sobo
1db0935447
Use _.multiplyString in building a tab token
2012-10-26 12:20:37 -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
3a067bcd71
Add editor:toggle-soft-tabs event
2012-10-26 11:52:53 -06:00
Corey Johnson & Nathan Sobo
487245311e
EditSession#indentLevelForLine detects tabs/spaces for each line
...
This allows folding, auto-indent, etc to work in a file in which *both* tabs and spaces are used to indent. Not that this is a good idea, but at least we handle it gracefully.
2012-10-26 11:52:37 -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
Nathan Sobo
d89979fc61
Merge pull request #86 from github/outline-view
...
Jump to method declaration
2012-10-25 17:54:27 -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
d310297fe7
Radically simplify the definition of "modified" for buffers
...
Now, we maintain md5 signatures for the on-disk and in-memory contents of the buffer. Whenever either contents change, we recompute the signature and store it on the buffer. We can tell if the buffer is modified by comparing these signatures. When the disk contents change, we compare the memory and disk signatures *before* recomputing the disk signature to determine whether to update the buffer or mark it as a conflict.
2012-10-25 13:08:38 -06:00
Corey Johnson
0c83ee3db0
💩 Remove vim-mode from root-view
2012-10-25 11:53:07 -07:00
Corey Johnson
79476bbc8c
do not reraise errors from loading extensions
2012-10-25 11:49:36 -07:00
Corey Johnson
2af29c9934
Extensions have a src and specs directory now. Move existing extension specs.
...
Move the extensions spec code inside of the extension's spec directory. Move source code to the extension's src directory
2012-10-25 11:48:13 -07:00
Corey Johnson
6870f21ca5
Better error reporting when an extension cannot be found.
2012-10-25 11:48:12 -07:00
Nathan Sobo
031da13316
Remove unused methods from native OnigRegExp
...
`OnigScanner` takes over these duties
2012-10-25 12:23:37 -06:00
Nathan Sobo
33c6fe8009
Remove regex from TextMateGrammar's Pattern class
...
We build a native `OnigScanner` object at the `Rule` level which tries to match every regex for the entire rule, rather than using an individual regex for each pattern from the JS side.
2012-10-25 12:07:13 -06:00
Nathan Sobo
b1e8e2391f
Merge branch 'paste-indentation'
2012-10-25 10:50:05 -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
d3b7fbb37b
Use window.pasteboard in cut/copy/paste
2012-10-24 18:35:55 -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
9fc439b30d
Use ? to avoid a bug caused by falsy zeroes
2012-10-24 17:54:15 -06:00
Nathan Sobo
fd4b6c85ce
Add a global pasteboard object which supports metadata
...
This metadata will be used to record the indentation level of the first line when copying multiple lines of text to the pasteboard. The pasteboard takes the md5 of the pasted content when writing, then when reading it associates the last written metadata only when the signature matches the previously written value.
2012-10-24 17:42:58 -06:00
Corey Johnson & Nathan Sobo
7f9992d624
Optimize bracket matching
2012-10-24 16:28:00 -07:00
Kevin Sawicki
f995cbb45c
💄
2012-10-24 14:36:46 -07:00
Corey Johnson
e02b8f8eec
Add support for brackets with the same begin/end character
2012-10-24 14:24:19 -07:00
Corey Johnson
ebbb39f50e
Improve brackets auto closing.
...
When an open bracket is inserted, an anchorRange is created. When a closing bracket is inserted, and its position matches the end of one of the anchorRanges, the closing bracket is not inserted and the cursor moves right.
2012-10-24 14:24:19 -07:00
Corey Johnson
1ad6fcc2d3
:lipstick
2012-10-24 14:24:19 -07:00
Nathan Sobo
ee09c20214
Merge branch 'master' into paste-indentation
2012-10-24 12:37:50 -06:00
Nathan Sobo
ca2527f4b8
Meta-w closes spec windows again.
...
This adds a 'core:close' event to meta-w in the default bindings, and modifies window to listen for it.
2012-10-24 12:35:31 -06:00