<?xml version="1.0" encoding="utf-8"?>

<!-- 
CoffeeScript syntax highlighting
Written by Ezra Altahan
Created 12/02/2016
Version 1.1 | Updated 16/10/2016

hello@exr.be
https://github.com/ei
-->

<SyntaxDefinition name="CoffeeScript" extensions=".coffee;.litcoffee">

    <Environment> 
        <Default color="Black" bgcolor="#FFFFFF"/>
        <Selection color="Black" bgcolor="#C3C3FF"/>
        <LineNumbers color="Gray" bgcolor="#FFFFFF"/>
        <CaretMarker color="#F0F0F1"/>
        <VRuler color="#E0E0E5"/>
        
        <FoldLine color="#A0A0A0" bgcolor="#FFFFFF"/>
        <FoldMarker color="Black" bgcolor="#FFFFFF"/>
        <SelectedFoldLine color="Black" bgcolor="#FFFFFF"/>
        
        <EOLMarkers color="#CACAD2"/>
        <SpaceMarkers color="#B6B6C0"/>
        <TabMarkers color="#B6B6C0"/>
        <InvalidLines color="#B6B6C0"/>
    </Environment>
        
    <Properties>
        <Property name="LineComment" value="#"/>
        <Property name="BlockCommentBegin" value="###"/>
        <Property name="BlockCommentEnd" value="###"/>
    </Properties>
        
    <Digits name="Digits" color="#BF382A"/>

    <RuleSets>
        <RuleSet ignorecase="false">
        
            <Delimiters>()[]{},.`#=;+-*@/%~ &amp;|^&gt;&lt;</Delimiters>
            
            <Span name="MultiLineComment" stopateol="false" color="Green" bold="false" italic="false">
                <Begin>###</Begin>
                <End>###</End>
            </Span>
            
            <Span name="LineComment" stopateol="true" color="Green" bold="false" italic="false">
                <Begin>#</Begin>
            </Span>
               
            <Span name="String" stopateol="false" color="#808080" bold="false" italic="false" escapecharacter="\">
                <Begin>"</Begin>
                <End>"</End>
            </Span>
            
            <Span name="Char" stopateol="false" color="#808080" bold="false" italic="false" escapecharacter="\">
                <Begin>'</Begin>
                <End>'</End>
            </Span>
            
            <MarkFollowing markmarker="true" color="#82751A" bold="false">@</MarkFollowing>
            
            <KeyWords name="Keywords1" color="Blue" bold="false" italic="false">
                <Key word="__bind"/>
                <Key word="__extends"/>
                <Key word="__hasProp"/>
                <Key word="__indexOf"/>
                <Key word="__slice"/>
                <Key word="and"/>
                <Key word="break"/>
                <Key word="by"/>
                <Key word="case"/>
                <Key word="catch"/>
                <Key word="class"/>
                <Key word="const"/>
                <Key word="continue"/>
                <Key word="default"/>
                <Key word="delete"/>
                <Key word="do"/>
                <Key word="each"/>
                <Key word="else"/>
                <Key word="enum"/>
                <Key word="export"/>
                <Key word="extends"/>
                <Key word="finally"/>
                <Key word="for"/>
                <Key word="function"/>
                <Key word="get"/>
                <Key word="if"/>
                <Key word="import"/>
                <Key word="in"/>
                <Key word="instanceof"/>
                <Key word="is"/>
                <Key word="isnt"/>
                <Key word="jQuery"/>
                <Key word="let"/>
                <Key word="loop"/>
                <Key word="native"/>
                <Key word="new"/>   
                <Key word="no"/>
                <Key word="not"/>
                <Key word="of"/>
                <Key word="off"/>
                <Key word="on"/>
                <Key word="or"/>
                <Key word="prototype"/>
                <Key word="return"/>
                <Key word="set"/>
                <Key word="switch"/>
                <Key word="then"/>
                <Key word="this"/>
                <Key word="throw"/>
                <Key word="try"/>
                <Key word="typeof"/>
                <Key word="unless"/>
                <Key word="until"/>
                <Key word="var"/>
                <Key word="void"/>
                <Key word="when"/>
                <Key word="where"/>
                <Key word="while"/>
                <Key word="with"/>
                <Key word="yes"/>
                <Key word="yield"/>
            </KeyWords>
                        
            <KeyWords name="Keywords3" color="DarkViolet" bold="false" italic ="false">
                <Key word="Infinity"/>
                <Key word="NaN"/>
                <Key word="false"/>
                <Key word="null"/>
                <Key word="true"/>
                <Key word="undefined"/>
            </KeyWords>
        </RuleSet>
    </RuleSets>
</SyntaxDefinition>
