# Example This is an example as given in the CLM doc of a "My Language" file, a severe subset of the Ruby scripting language. ``` BBEditDocumentType CodelessLanguageModule BBLMLanguageDisplayName My Language BBLMLanguageCode MyL! BBLMColorsSyntax BBLMKeywordList class def if elsif else end do for return BBLMCommentLineDefault # Language Features Identifier and Keyword Character Class A-Za-z0-9_\?! ``` **Things to notice here:** - If you don’t want the module to do anything other than take up space in the language pop-up, just specify `BBEditDocumentType`, `BBLMLanguageDisplayName`, and `BBLMLanguageCode`. But this is the minimal _useful_ language module. - For syntax coloring, you must turn on `BBLMColorsSyntax`. - For something to color, you must provide a list of keywords in `BBLMKeywordList`. - BBEdit requires that you provide a method — line or block — for commenting-out lines with the Un/Comment Selection command. In this case, `BBLMCommentLineDefault` specifies the # line-comment token. - You must also specify how to identify keywords, in the `Language Features `dictionary, using either `Identifier` and `Keyword Characters `or `Identifier` and `Keyword Character` `Class`. - You _don’t_ have to provide a `BBLMSuffixMap` or `BBLMFileNamesToMatch` list. Without them, your user will have to pick the language out of the pop-up. For more info, go [here](http://www.barebones.com/support/develop/clm.html#Examples).