Commit Graph

1600 Commits

Author SHA1 Message Date
Nathan Sobo
5249e5e69c Fix spec failures caused by editor css changes 2012-11-01 12:25:33 -06:00
Nathan Sobo
085adb72ce Pass translation options through when setting buffer position 2012-11-01 07:15:51 -06:00
Nathan Sobo
00bcb7a1b9 Make position translation understand hard tabs 2012-11-01 07:15:51 -06:00
Nathan Sobo
d21d079bb7 Delete specs for old version of LineMap and ScreenLine
The specs on `DisplayBuffer` and `Editor` cover the behavior of these lower-level objects in a more robust way.
2012-11-01 07:15:51 -06:00
Nathan Sobo
3d12269315 DisplayBuffer specs passing with greatly simplified LineMap 2012-11-01 07:15:51 -06:00
Corey Johnson
dbf8639375 Rename anchor.ignoreEqual to anchor.ignoreChangesStartingOnAnchor 2012-10-31 14:27:31 -07:00
Corey Johnson
84ea1017f4 Anchor.ignoreEqual works properly
The anchor ignores buffer changes when ignoreEqual is true and the oldRange.start == anchor.position
2012-10-31 14:27:21 -07:00
Corey Johnson
7793a04172 Filled in anchor specs 2012-10-31 14:27:07 -07:00
Corey Johnson & Nathan Sobo
74f60dbb95 Remove call to logScreenLines 2012-10-30 17:08:13 -07:00
Corey Johnson & Nathan Sobo
426c952d73 shift-double-click and shift-triple-click are ignored. 2012-10-30 16:43:00 -07:00
Nathan Sobo
007e032224 Expand selection linewise after triple-click (dragging or shift-click) 2012-10-30 14:48:33 -06:00
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
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
Kevin Sawicki
acb5207d28 Treat file-less buffers as unmodified when empty 2012-10-26 13:56:21 -07:00
Corey Johnson & Nathan Sobo
d6bbe845d6 Merge branch 'master' of https://github.com/github/atom 2012-10-26 12:27:28 -06:00
Corey Johnson & Nathan Sobo
cee3372a87 Look for extension specs in src/extension (more specific) and run the second 2012-10-26 12:25:20 -06:00
Corey Johnson & Nathan Sobo
ed4c543a8d Fix spec relying on wrong version of tab text 2012-10-26 12:21:20 -06:00
Corey Johnson & Nathan Sobo
adf00b60f3 Detect softTabs/hardTabs when an EditSession is created 2012-10-26 12:20:14 -06:00
Kevin Sawicki
b1697d4f31 Migrate outline-view to new extension folder layout 2012-10-26 10:33:21 -07: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
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
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
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
Nathan Sobo
031da13316 Remove unused methods from native OnigRegExp
`OnigScanner` takes over these duties
2012-10-25 12:23:37 -06:00
Kevin Sawicki
23573f611f Add specs of outline view UI 2012-10-25 10:38:06 -07: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
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
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
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
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
Nathan Sobo
b71fa308a3 Always run window.startup when window.coffee is required
When we actually want to attach the root view in window-bootstrap.coffee, we call `window.attachRootView(path)` instead of calling `window.startup(path)`. Having `startup` called automatically means we can be sure any code we add there runs in every environment (including benchmark and specs). This is where we do things like setup the global keymap, parse text mate bundles and themes, and establish the window close handler. Any globals other than the root view that we want to be available in all environments should be established here. Right now that's just the keymap, but soon I want to add a global pasteboard.
2012-10-24 12:34:45 -06:00