7

क्रूसिबल संस्करण 4.2.1 के रूप में फिशिए/क्रूसिबल सिंटैक्स हाइलाइटिंग, कोटलिन फ़ाइलों के लिए कोई अंतर्निहित वाक्यविन्यास हाइलाइट समर्थन नहीं है। मैंने इसके लिए पहले से ही feature request भर दिया है।कोटिलीन

हालांकि, अभी, केवल here वर्णित कस्टम सिंटैक्स कॉन्फ़िगरेशन जोड़ने की संभावना है।

क्या कोई इसे पहले से ही कर चुका है और कॉन्फ़िगरेशन साझा कर सकता है?

उत्तर

1

मैं इस फ़ाइल को अपने आप बनाकर समाप्त कर दिया। यह जावा कॉन्फ़िगरेशन पर आधारित है लेकिन कोटलिन कीवर्ड का उपयोग करता है।

यह project में कीवर्ड की उपसर्ग पेड़ उत्पन्न करने के लिए एक स्क्रिप्ट भी शामिल है, यदि आप जिस सूची का उपयोग कर रहे हैं उसे पसंद नहीं करते हैं।

नीचे आप फ़ाइल की सामग्री पा सकते हैं:

syntaxdef kotlin { 


/\s+/m : ; 
#keywords 
/(a(bstract|nnotation|s)|break|c(atch|lass|o(mpanion|n(st|tinue))|rossinline)\ 
|d(ata|elegate|o|ynamic)|e(lse|num|xternal)|f(i(eld|le|nally)|or|un|alse)|get\ 
|i(f|mport|n(fix|it|line|terface)|s|t)|n(oinline|ull)|o(bject|pe(n|rator)|ut)\ 
|p(a(ckage|ram)|roperty)|re(ceiver|ified|turn)|s(e(aled|tparam)|u(per|spend))\ 
|t(ailrec|h(is|row)|r(y|ue)|ype(alias|of))|va(l|rarg)|wh(en|ile))\b/ : { 
     region { 
     type=keyword; 
     index=word; 
     } 
} 

/[\p{L}_\$][\p{L}\p{N}_\$]*/ : { 
     region { 
     type=identifier; 
     index=word; 
     } 
    } 

#annotation 
/@[\p{L}_\$][\p{L}\p{N}_\$]*/ : { 
     region { 
     type=annotation; 
     index=word; 
     } 
    } 


# string literals 
/"/ : { 
    context { 
      /\\"/: ; 
      /\\./: ; 
      /$/m : exit; 
      "\"" : exit; 
     } 
     region ${ALL} { 
       type=string; 
     } 
    } 

# char literal 
/'/ : { 
    context { 
      /\\./: ; 
      /$/m : exit; 
      "'" : exit; 
     } 
     region ${ALL} { 
       type=char_literal; 
     } 
    } 


/\/\/.*$/m : { 
     todo(${0}); 
     region { 
     type=comment; 
     index=prose; 
     findlinks=true; 
     } 
    } 


/\/\*\*(.*?)\*\//s : { 
     javadoc(${1}); 
     region { 
     type=comment; 
     index=prose; 
     findlinks=true; 
     } 
    } 

    context javadoc { 

     /(\[email protected][a-zA-Z0-9-_.]+)\s*([^@\*]*)/ : { 
     region ${1} { 
      type=commentmeta; 
     } 
     } 
    } 

/(0x[0-9a-f][0-9a-f_]*l?)|(0b[0-1][0-1_]*l?)|([0-9][0-9_]*(\.[0-9][0-9_]*)?|\.[0-9][0-9_]+)(e(\+|-)?[0-9][0-9_]*)?(f|l|d)?/i : { 
     region { 
      type=numeric; 
     } 
    } 

/\/\*(.*?)\*\//s : { 
     todo(${1}); 
     region { 
     type=comment; 
     findlinks=true; 
     } 
     region ${1} { 
     index=prose; 
     } 
    } 

    context todo { 
     /(?i)todo\s.*/ : { 
     region { 
      type=todo; 
     } 
     } 

    } 

}