Commit Graph

61 Commits

Author SHA1 Message Date
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
Nathan Sobo
188d8f8604 Store grammars on the syntax global 2012-12-31 18:26:58 -06:00
Nathan Sobo
bb4f3c4efa Store foldEndPattern in syntax global's scoped properties
There's a slight wrinkle in this commit… TextMate grammars sometimes store
the `foldStopMarker` directly in the grammar, rather than storing it
in a separate scoped preferences file like the other settings. So we
have to scan through grammars looking for those that have the fold end
marker and make a scoped property for that grammar's scope.
2012-12-28 14:46:39 -06:00
Nathan Sobo
5a075d515e Retrieve indent/outdent patterns from scoped properties, not TM bundle 2012-12-28 13:47:50 -06:00
Nathan Sobo
9c7c2ab800 Store TM bundle start/end comment strings in scoped properties
Previously, we had a custom method on the `TextMateBundle` class for
retrieving these variables from the bundle. Now we're using Atom's
`syntax.getProperty` mechanism. The idea is to map TextMate concepts
to their Atom equivalent, rather than building everything directly
around TextMate.
2012-12-28 13:27:54 -06:00
Kevin Sawicki
9f6d1f987f Add initial support for replacing anchors 2012-12-21 13:22:08 -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
874af0f2bc Eliminate reference to TokenizedBuffer on EditSession 2012-11-06 11:09:38 -08:00
Corey Johnson & Nathan Sobo
89ef3f0f20 Build Token objects in TextMateGrammar. Tokenization-related renames. 2012-11-05 16:03:19 -07:00
Corey Johnson
41291021c4 Use entire filePath to determine its grammar 2012-11-01 17:47:31 -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
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
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
b1e8e2391f Merge branch 'paste-indentation' 2012-10-25 10:50:05 -06:00
Nathan Sobo
9fc439b30d Use ? to avoid a bug caused by falsy zeroes 2012-10-24 17:54:15 -06:00
Corey Johnson & Nathan Sobo
7f9992d624 Optimize bracket matching 2012-10-24 16:28:00 -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
4d9b777350 Fix LanguageMode.proto.suggestedIndentationForBufferRow exception for row 0 2012-10-23 16:50:00 -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
Corey Johnson
e2a917fcf3 Change tabText to tabLength 2012-10-18 11:31:39 -07:00
Kevin Sawicki
8ce6810179 Support bundles with foldingStopMarker under Preferences/ 2012-10-09 16:57:43 -07:00
Kevin Sawicki
c30220ae80 Uncomment lines that match non-whitespace prefix of comment regex 2012-10-04 15:37:28 -07:00
Nathan Sobo
b4b34b0489 Don't explode on meta-/ if there isn't a valid comment regex 2012-09-25 13:27:46 -06:00
Nathan Sobo
b00d0bacd9 When uncommenting multiple lines, don't raise an error if a line isn't commented
Previously, we were assuming that when uncommenting, that every line would match the comment regex. But this might not be the case. If the first line in the selection is commented but some subsequent lines aren't, they won't match the comment regex. So this commit guards for that case.
2012-09-25 13:19:59 -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
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
cd8e6a7f20 Don't auto-indent ff a grammar doesn't have an indent/outdent regex 2012-08-09 16:04:23 -07:00
Corey Johnson
634bebd207 Toggling comments adjusts selection's start and end columns 2012-08-09 14:38:16 -07:00
Corey Johnson & Nathan Sobo
e8aaec43f7 WIP: Reworking auto-indent/outdent logic 2012-08-09 12:57:47 -06:00
Corey Johnson
fae452770b Language mode no longer uses Ace for anything 2012-08-09 10:49:54 -07:00
Corey Johnson
19511fe8b8 Selections are restored to their original ranges after toggling comments. 2012-08-09 10:46:54 -07: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
926a44fba8 Remove unused code 2012-08-08 17:42:11 -07:00
Corey Johnson & Nathan Sobo
c7586a0e97 Rename matchingCharachters to pairedCharachters 2012-08-08 17:42:10 -07:00
Corey Johnson
08a55dfcac wip: IndentationForRow almost works TextMate preferences 2012-08-02 17:02:17 -07:00
Corey Johnson
b378620c54 Add TextMateBundle which handles all bundle loading 2012-08-02 11:38:14 -07:00
Corey Johnson & Nathan Sobo
0a97cb0590 Tokenized buffer uses TextMate grammar 2012-08-02 10:05:09 -07:00
Corey Johnson & Nathan Sobo
b50b8eacca wip: hooking up tokenized buffer to textmate grammars 2012-08-01 17:54:08 -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