Commit Graph

33 Commits

Author SHA1 Message Date
Kevin Sawicki & Nathan Sobo
98614592af Store line endings on a per-line basis in Buffer
The line ending for each line is recorded and reused
when lines are modified or inserted.

Closes #166
2013-01-27 16:01:22 -08:00
Kevin Sawicki
7425f58f26 Only change end position if selection is mult-line 2013-01-23 16:46:43 -08:00
Kevin Sawicki
6324a60d72 Wrap selection in brackets
Enclose the selection in brackets when an opening
bracket is typed and the selection is non-empty

Closes #41
2013-01-23 16:24:40 -08:00
Kevin Sawicki
bc3646f180 💄 2013-01-23 16:24:40 -08:00
Kevin Sawicki
17f12c42d3 Delete end pair when begin pair is backspaced 2013-01-23 16:24:40 -08:00
Corey Johnson
5eb16d8304 Add window.removeStylesheet 2012-12-26 17:41:49 -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
Nathan Sobo
8a3f932bfa Merge branch 'hide-selection-cursor' 2012-10-29 16:54:34 -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
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
Corey Johnson & Nathan Sobo
0aa9f8de57 Indent works with hard tabs 2012-10-26 11:15:55 -06:00
Nathan Sobo
b1e8e2391f Merge branch 'paste-indentation' 2012-10-25 10:50:05 -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
4d9b777350 Fix LanguageMode.proto.suggestedIndentationForBufferRow exception for row 0 2012-10-23 16:50:00 -06:00
Corey Johnson
4734c8cdc4 If the file name has no '.' use the file name as the extension. 2012-09-04 10:53:28 -07:00
Corey Johnson & Nathan Sobo
12b06ddf0c Get spec suite running (lots of failures) 2012-08-27 17:36:36 -05:00
Nathan Sobo
c2c8724ad0 Initial commit 2012-08-10 13:32:19 -06:00
Nathan Sobo
847b514164 Merge branch 'textmate'
Conflicts:
	benchmark/benchmark-helper.coffee
	benchmark/benchmark-suite.coffee
	src/app/language-mode.coffee
2012-08-09 18:57:59 -06:00
Corey Johnson
c95ca04340 Use TextMate to toggle comments 2012-08-09 10:33:46 -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
ed12f66b13 Do not insert matching bracket unless the following character is whitespace 2012-08-01 13:20:34 -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
97b492edfc When an identical closing bracket is inserted, don't insert a new character and move cursor to the right. 2012-08-01 09:33:42 -07:00
Nathan Sobo
dc662ed071 When ( [ { ' or " is inserted, insert the matching character after the cursor 2012-07-27 13:08:43 -06:00
Nathan Sobo
87f4d8c6e9 Upon inserting '(', insert matching ')' character after cursor 2012-07-27 13:02:26 -06: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 & Nathan Sobo
291886b4b3 Rename LanguageMode to TokenizedBuffer 2012-06-14 11:02:52 -06:00
Nathan Sobo
e444ba193c Merge all ace adaptors into a single AceAdaptor class 2012-06-13 18:31:03 -06:00
Nathan Sobo
591a294e2e Absorb FoldSuggester into LanguageMode 2012-06-13 15:44:40 -06:00
Nathan Sobo
49e0e2095a Absorb line commenting into LanguageMode 2012-06-13 15:36:35 -06:00
Nathan Sobo
f1397db60b Rename Highlighter -> LanguageMode 2012-06-13 15:21:44 -06:00