Garen Torikian
5ee388cede
Get it to a proper 80%
2013-04-18 18:50:22 -07:00
Garen Torikian
8bd02358d2
Should I regret a lack of better commit messages?
2013-04-12 22:35:54 -05:00
Garen Torikian
0c5e38680d
Internalize a bunch of methods
2013-04-12 14:37:21 -05:00
Corey Johnson & Nathan Sobo
1b56cfb270
LanguageMode switches to a better-matching grammar when it is added
2013-04-03 18:34:54 -06:00
Corey Johnson & Nathan Sobo
16b53d3183
Eliminate syntax.grammarsByFileType hash
2013-04-03 18:34:53 -06:00
Corey Johnson & Nathan Sobo
05d6adc6c7
Change syntax.selectGrammar to choose the highest-scoring grammar
...
This sets us up to switch to a grammar when it is loaded if it is a
better match for the current file.
2013-04-03 18:34:53 -06:00
Nathan Sobo
f03b6207de
Make all requires of 'fs-utils' assign to fsUtils var instead of fs
2013-04-03 12:01:37 -06:00
Corey Johnson & Nathan Sobo
c8ec73d2f0
Allow scoped-properties to be added/removed by name
...
Also:
- remove "global" properties
- clear scoped properties between specs
2013-03-26 17:35:44 -06:00
Corey Johnson & Nathan Sobo
8437f3ff7f
Only load TextMate packages as needed in specs
...
Also: when a TextMate package is deactivated, remove its grammars
2013-03-26 17:35:42 -06:00
Nathan Sobo
a05405370c
Serialize the syntax object's grammar overrides with window state
2013-03-22 17:35:35 -06:00
Corey Johnson & Nathan Sobo
db4420e068
Move grammar overrides to syntax (no serialization yet)
2013-03-22 17:35:35 -06:00
Corey Johnson & Nathan Sobo
dacb00ed67
Simplify grammar selection and its specs
2013-03-22 17:35:34 -06:00
Nathan Sobo
2416ff19a4
Add NullGrammar to obviate synchronous load of text grammar on start
...
It's also an extremely simple grammar, so we'll do less work to
initially tokenize open buffers before loading their real grammars.
2013-03-22 17:35:34 -06:00
Nathan Sobo
a2f72882d7
Rename grammarForFilePath to selectGrammar
...
The old name was misleading because it the decision is based on the
file contents in some circumstances.
2013-03-22 17:35:27 -06:00
Corey Johnson & Nathan Sobo
0b719bfecf
Atom packages can load cson grammars and TextMate packages can't
2013-03-21 13:26:56 -07:00
Kevin Sawicki & Nathan Sobo
1d1ba5f6d1
Use node's require instead of internal require
2013-03-12 10:38:05 -07:00
Kevin Sawicki
2212222c47
Use underscore node module
2013-03-11 11:22:36 -07:00
Kevin Sawicki
1db21c91cc
Give first line regex the required amount of lines
...
Certain bundles require multi-line matches in the firstLineMatch
value so count the number of newlines in the regex and only test
the regex against only those lines.
2013-02-20 15:11:07 -08:00
Corey Johnson
e0212ba02b
Only use the first line when determine the syntax via file contents
2013-02-20 12:46:53 -08:00
Kevin Sawicki
e792265076
Trigger grammars-loaded event on syntax
2013-01-28 14:34:49 -08:00
Kevin Sawicki
2b51a2ce73
Test firstLineRegex first when finding grammar
...
This is required for the property-list bundle to highlight
.plist files that maybe in XML or non-XML formats.
Also specify the cached buffer disk contents to grammarForFilePath
so fs.read doesn't need to be called again if the contents are
already read.
2013-01-08 16:15:38 -08:00
Kevin Sawicki
1872335adf
Rename grammarByShebang to grammarByFirstLineRegex
...
A bundle's firstLineRegex value is used for more than
just shebang matches such as in the plist bundle.
2013-01-08 16:01:46 -08:00
Corey Johnson & Kevin Sawicki
c67fbef2b2
Store grammar overrides on project
2013-01-08 14:39:32 -08:00
Kevin Sawicki
3b47c26b4d
Change an edit session's grammar on meta-l
2013-01-08 13:17:12 -08:00
Nathan Sobo
188d8f8604
Store grammars on the syntax global
2012-12-31 18:26:58 -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
Nathan Sobo
f76bab512f
Most recently added scoped properties win in case of a specificity tie
...
This makes the scoped property system mimic the behavior of CSS. When
there is a tie, the scoped properties loaded later in the cascade win.
I also optimize the scanning of all the properties, checking only those
sets of properties that have a value for the desired key path, to reduce
the need to match a ton of scope selectors.
2012-12-23 13:19:20 -07:00
Nathan Sobo
886995364f
Start on syntax global. Use it to replace scoped config settings.
...
We'll store all syntax-related global state in the `syntax` global. For
now, this means that all scoped properties will be stored here, as well
as all grammars.
2012-12-23 12:50:58 -07:00