[SVN] r8628 (CSS)

Thomas Aylott - subtleGradient textmate at subtleGradient.com
Sun Dec 9 09:00:15 UTC 2007


On Dec 9, 2007, at 3:15 AM, Allan Odgaard wrote:
> It might be good to put design considerations (pros/cons) in the  
> commit messages.
>
> Normally splitting a grammar into multiple grammars is a bad  
> approach and needs justification.
>
> On 9 Dec 2007, at 09:02, Thomas Aylott wrote:
>
>> Split CSS Syntax into 3 syntaxes: CSS, CSS Rules & CSS Selectors.
>>
>> Changed:
>> A   trunk/Review/Bundles/CSS.tmbundle/Syntaxes/CSS Rules.tmLanguage
>> A   trunk/Review/Bundles/CSS.tmbundle/Syntaxes/CSS  
>> Selectors.tmLanguage
>> U   trunk/Review/Bundles/CSS.tmbundle/Syntaxes/CSS.plist
>> U   trunk/Review/Bundles/CSS.tmbundle/info.plist

I'll be sure to include reasoning next time.

CSS doesn't have a monopoly on CSS Selectors.
	They're also used in almost all Javascript libraries.
	They can get rather complex and it's certainly something that needs  
to be DRY.

CSS Rules aren't unique to CSS either,
	they're also used in various versions of HTML in the style attribute.
	They are also used in a number of Ruby libraries for generating CSS.

As for the reasoning that having multiple "languages" in the list is  
confusing to people, simply enable the option to hide languages as you  
can currently do with all other bundle items. Most people don;t bother  
selecting a language since the right thing is used when embedded and  
is auto-matched to the filetype when opening files.

Cross-pollination, including syntaxes from one bundle in a syntax of  
another bundle should be avoided. However, including a core syntax  
should never be a problem since the app ships with them installed. If  
they happen not to have the included syntax available, then that's  
something for the application to handle.

The alternative is to duplicate all the rules and selectors stuff in  
all HTML langes, CSS, All Javascript Libraries, etc...

I strongly believe that this is the best way to organize these few  
languages with the current system. I'm sure TM2 will allow for a much  
better alternative, but this is the best option currently.

I will quite happily fix all this the "right way" for TM2 as soon as I  
get a beta and before TM2 ships. (If I get to have my name in the  
about box ;)

—Thomas Aylott – subtleGradient—


More information about the textmate-dev mailing list