Corey Johnson
e5578eebee
Revert "DO NOT COMMIT THIS"
...
This reverts commit 1488223869 .
2012-08-07 09:33:46 -07:00
Nathan Sobo
d520d6c859
WIP: Optimization: compile a single regex for each grammar rule
...
We compile a giant regex out of all the individual regexes for each pattern by or'ing together a capture group for each one. Then we use the index of the matched capture group to determine which pattern actually matched, and adjust the capture indexes of the subtree to make it appear to start from index 0, so the capture indices on the pattern align properly. There is still broken-ness on more complex patterns, but basic patterns and patterns w/ captures work.
2012-08-06 18:32:55 -06:00
Nathan Sobo
a02af2a51f
Add benchmark for TokenizedBuffer w/ new TextMateGrammar tokenization. SO SLOW!
2012-08-06 18:28:51 -06:00
Nathan Sobo
6878d19a6a
OnigRegExp.getCaptureTree does not include empty child captures
2012-08-06 18:27:39 -06:00
Nathan Sobo
a85345e392
Add OnigRegExp.getCaptureCount
2012-08-06 18:27:14 -06:00
Nathan Sobo
d495263b88
Update to 98aa644b of github's fork of cocoaoniguruma for captureCount method
2012-08-06 18:26:53 -06:00
Nathan Sobo
7bc6a5f24b
TextMateGrammar handles nested capture groups and trailing lookahead captures
...
Our previous implementation only allowed for a single layer of capture groups. Now we can have captures within captures. I achieved this by converting the match into a tree before generating tokens. If there are any capture scopes specified, then we will always emit a token for every capture group in the match. This may create some redundant tokens (a serious of 2 or more tokens with the same scopes), but it will at least be technically correct. I think the overhead of removing these redundancies exceeds the cost of maintaining them for now.
2012-08-06 16:35:33 -06:00
Nathan Sobo
0d6d16a438
Move TextMateGrammar.buildCaptureTree to .getCaptureTree method on OnigRegExp
2012-08-06 11:43:44 -06:00
Nathan Sobo
32fc042929
Add TextMateGrammar.buildCaptureTree, which organizes nested captures in a tree
...
This will be a weapon in dealing with capture groups that nest within other capture groups, and also helps deal with trailing lookahead groups that don't belong in the main match. I made it a class method because it's stateless and that made it easier to test.
2012-08-03 23:52:58 -06:00
Nathan Sobo
fd28a3577a
Improve spec description
2012-08-03 23:51:14 -06:00
Corey Johnson & Nathan Sobo
0e1d3fe3a9
wip: fixing capture group problems
2012-08-03 11:38:45 -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
82562c89dd
Name onig-reg-exp-spec correctly
2012-08-02 16:25:34 -07:00
Corey Johnson
2d3e2b53a3
Passes TextMateBundle spec
2012-08-02 13:23:15 -07:00
Corey Johnson & Nathan Sobo
9ca4c2c347
WIP: Loading TextMate Bundle preferences globally
2012-08-02 13:04:43 -06:00
Corey Johnson
b378620c54
Add TextMateBundle which handles all bundle loading
2012-08-02 11:38:14 -07:00
Corey Johnson
81f83482b0
Rename File.getName and Directory.getName to .getBaseName
2012-08-02 11:37:49 -07:00
Corey Johnson
114847fb0f
Update display buffer spec
2012-08-02 10:25:55 -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
0cdc042e71
Use text as the default grammar
2012-08-01 17:24:28 -07:00
Corey Johnson & Nathan Sobo
e6bc0e092a
Add javascript bundle
2012-08-01 17:18:43 -07:00
Corey Johnson & Nathan Sobo
1d70e2e85b
Add bundles for coffeeScript and ruby
2012-08-01 17:16:01 -07:00
Corey Johnson & Nathan Sobo
627a75b9c6
Removing submodules
2012-08-01 17:14:13 -07:00
Corey Johnson & Nathan Sobo
058f63c01f
load all bundle grammars in window.startup
2012-08-01 17:09:29 -07:00
Corey Johnson & Nathan Sobo
370e0b896e
Add TextMateGrammar.loadFromBundles()
2012-08-01 16:58:31 -07:00
Corey Johnson & Nathan Sobo
1ea5380ca6
add ruby bundle submodule
2012-08-01 16:18:02 -07:00
Corey Johnson & Nathan Sobo
430fc0eff1
Put a bit more space between editor lines
2012-08-01 17:16:15 -06:00
Nathan Sobo
6de055aa1c
Lines aren't taller when they contain an Inconsolata em dash (–) character
2012-08-01 17:04:33 -06:00
Corey Johnson & Nathan Sobo
98ef3e4243
Start on TextMateTheme object
2012-08-01 16:27:32 -06:00
Corey Johnson & Nathan Sobo
1488223869
DO NOT COMMIT THIS
2012-08-01 14:10:45 -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
Nathan Sobo
238fecb766
💄
2012-08-01 14:11:39 -06:00
Nathan Sobo
13c95aae31
Add 'themes' directory with the default TextMate themes
2012-08-01 14:07:18 -06:00
Nathan Sobo
cdf20c7a15
Rename Parser to TextMateTokenizer
2012-08-01 13:58:38 -06:00
Corey Johnson & Nathan Sobo
fc1228619e
Add spec for interpolated strings inside of interpolated strings
2012-08-01 11:49:45 -07:00
Corey Johnson & Nathan Sobo
487c4ed439
$self includes work
2012-08-01 11:45:30 -07:00
Kevin Sawicki
1edd9973d2
Add Linux implementation of md5ForPath native call
2012-08-01 11:17:12 -07:00
Corey Johnson & Nathan Sobo
bccd525084
Handle includes
2012-08-01 11:05:37 -07:00
Corey Johnson & Nathan Sobo
fceb9e16f9
remove log statement
2012-08-01 10:52:51 -07:00
Corey Johnson & Nathan Sobo
594e27b057
Parser maintains a stack of rules, which begin/end patterns mutate
2012-08-01 10:47:40 -07:00
Kevin Sawicki
6802bb1087
Update cef Linux includes to branch 1025 revision 724
2012-08-01 10:16:07 -07:00
Kevin Sawicki
f791942af7
De-tab .cpp and .h files
2012-08-01 10:09:59 -07:00
Kevin Sawicki
4bccaac37c
Remove unused commented out define
2012-08-01 10:00:40 -07:00
Kevin Sawicki
66913276e4
Remove unused GetLogFile method
...
Logging is done to standard out and the Developer
Tools Console tab
2012-08-01 10:00:40 -07:00
Kevin Sawicki
1257ba12c9
Remove unused drag start/enter callbacks
2012-08-01 10:00:40 -07:00
Kevin Sawicki
f8bd37c929
Remove unused DOM visitor tracking
2012-08-01 10:00:40 -07:00
Kevin Sawicki
d736062899
Remove unused CefPermissionHandler implementation
2012-08-01 10:00:40 -07:00
Kevin Sawicki
bb73af22e2
Remove console.log from .gitignore file
...
Errors now go only to standard out and the Developer
Tools Console tab
2012-08-01 10:00:40 -07:00