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