Nathan Sobo
2efc91aad1
Optimize highlightCursorLine by using cached element references
2012-11-01 13:51:22 -06:00
Nathan Sobo
085adb72ce
Pass translation options through when setting buffer position
2012-11-01 07:15:51 -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
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
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
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
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
d3b7fbb37b
Use window.pasteboard in cut/copy/paste
2012-10-24 18:35:55 -06:00
Nathan Sobo
ee09c20214
Merge branch 'master' into paste-indentation
2012-10-24 12:37:50 -06:00
Nathan Sobo
b5b552737d
Enable indent normalization on paste
2012-10-23 16:30:49 -06:00
Nathan Sobo
0e5c76b474
Start adding the normalizeIndent option to EditSession.proto.insertText
...
This will be used by the paste command to ensure that indentation is normalized.
2012-10-23 14:07:00 -06:00
Nathan Sobo
7be3c55765
Only auto-indent when typing, not when pasting or programmatically inserting
...
This paves the way for using a different strategy to normalize indentation when pasting, without it getting tangled in auto-indent.
2012-10-23 11:59:54 -06:00
Kevin Sawicki
ab8c22825c
Support outdenting when indent is < 1 tab length
2012-10-23 09:57:39 -07:00
Corey Johnson & Nathan Sobo
a72d0399f7
Add Editor.setShowInvisibles and remove showInvisibles from EditSession
2012-10-18 14:10:36 -07:00
Corey Johnson & Nathan Sobo
ae0a60f4a9
Eliminate unused showInvisibles parameter.
2012-10-18 11:52:51 -07:00
Corey Johnson
22e009a999
Set invisible values for spaces and tabs when initial tokenization occurs.
...
Also break whitespace into its own token just like tabs.
2012-10-18 11:33:19 -07:00
Corey Johnson
4478bbca9a
When project.showInvisibles is true; spaces, tabs and newlines are visible
2012-10-18 11:31:39 -07:00
Corey Johnson
e2a917fcf3
Change tabText to tabLength
2012-10-18 11:31:39 -07:00
Chris Wanstrath
fa10a8e6ac
use the local selection instance
2012-10-08 20:13:16 -07:00
Chris Wanstrath
f5f18abbf0
ctrl-t: transpose
2012-10-08 20:08:07 -07:00
Kevin Sawicki
b18627ab9b
Add delete line support bound to meta-d key
2012-09-19 15:23:10 -07:00
Kevin Sawicki
9ba3b74a9d
Add support for Page Up and Page Down keys
2012-09-18 19:53:23 -07:00
Nathan Sobo
7937380eed
Projects w/ EditSessions for now-deleted files can now be reloaded w/out error
2012-09-18 13:30:16 -06:00
Nathan Sobo
c3e748a17c
WIP: Use rake to start compiling resources (like require.coffee)
2012-08-26 16:29:46 -05:00
Nathan Sobo
c2c8724ad0
Initial commit
2012-08-10 13:32:19 -06:00
Corey Johnson
65d40557ff
InsertText takes an option to turn autoIndent off
2012-08-09 16:20:45 -07:00
Corey Johnson
9e53751717
Revert "Add setTextInBufferRange to edit session"
...
This reverts commit ea86ec401b .
2012-08-09 13:25:53 -07:00
Corey Johnson & Nathan Sobo
e8aaec43f7
WIP: Reworking auto-indent/outdent logic
2012-08-09 12:57:47 -06:00
Corey Johnson
ea86ec401b
Add setTextInBufferRange to edit session
2012-08-09 10:33:25 -07:00
Corey Johnson & Nathan Sobo
7fe6a05594
Folding no longer relies on Ace.
...
Indentation is used to determine foldable regions, if the last line matches TextMate's foldEndRegex it is included in the foldable region.
2012-08-08 17:42:11 -07:00
Corey Johnson & Nathan Sobo
1a243adfcf
All specs pass w/ TextMateGrammar for tokenization (auto-indent disabled)
2012-08-03 12:00:05 -06:00
Corey Johnson
08a55dfcac
wip: IndentationForRow almost works TextMate preferences
2012-08-02 17:02:17 -07:00
Corey Johnson & Nathan Sobo
a589557aaa
Ignore bracket matching when there are multiple cursors
2012-08-01 09:47:12 -07:00
Corey Johnson & Nathan Sobo
3a5e73aa77
Merge branch 'making-folding-better'
2012-07-30 13:43:47 -07:00
Corey Johnson & Nathan Sobo
f7614c210a
Add unfold-all and bind it to ctrl-}
2012-07-30 12:11:54 -07:00
Corey Johnson & Nathan Sobo
9622d6f9b3
Rename un/foldScopeContainingBufferRow to un/foldBufferRow.
...
Scope containing buffer row was a misnomer. Waiting until I implement the repeat folding feature before considering a better name.
2012-07-30 10:25:53 -07:00
Corey Johnson & Nathan Sobo
75f0438f6a
Rename fold/unfold to foldCurrentRow/unfoldCurrentRow
2012-07-30 09:58:15 -07:00
Corey Johnson
7ff31d1ad7
Remove toggleFold and replace with fold
2012-07-27 13:46:50 -07:00
Corey Johnson
76ffa5a2c5
change toggle-fold to fold
2012-07-27 13:45:13 -07:00
Nathan Sobo
3516dea210
Introduce LanguageMode wrapper for Ace modes as a foundation of our own modes
...
LanguageMode is the central point for all language-specific behavior associated with an EditSession. There is one LanguageMode instance per EditSession. LanguageMode has access to the EditSession and its TokenizedBuffer, and in reverse the EditSession, DisplayBuffer, and TokenizedBuffer also make use of LanguageMode. This is a bit incestuous, but I think it's okay because you can think of LanguageMode as a swappable strategy object that governs language-specific aspects of that constellation of objects.
2012-07-27 12:30:06 -06:00
Corey Johnson
42299c6a71
When the active edit session is modified, and its file is then modified by the file system, it displays an alert.
2012-07-26 10:59:58 -07:00
Nathan Sobo
54616aee78
Bugfix: When the command panel makes a selection, it destroys surrounding folds
2012-07-26 10:09:28 -06:00
Corey Johnson & Nathan Sobo
d36873f702
Rename Project.open to Project.buildEditSessionForPath
2012-07-18 11:20:13 -07:00
Corey Johnson & Nathan Sobo
c3fe9aa0b3
Implement refcounting scheme on Buffer
2012-07-17 14:24:33 -06:00
Nathan Sobo
1d21de1e83
Merge cursors after buffer changes that didn't occur via the EditSession
...
The buffer now emits a new event 'update-anchors-after-change' to signal that all the anchors have been updated, which is an appropriate time to merge cursors.
2012-07-17 10:38:01 -06:00