Procedure RegisterCustomLanguage parameters Control * As CodeMaxCtl.ICodeMax I assumed that you got as parameter some object lang = Control.Language lang.CaseSensitive = .T. str = "for" + Chr(10) + "friend" + Chr(10) + "goto" str = str + Chr(10) + "if" + Chr(10) + "inline" + Chr(10) + "int" str = str + Chr(10) + "long" + Chr(10) + "return" + Chr(10) + "short" str = str + Chr(10) + "signed" + Chr(10) + "sizeof" str = str + Chr(10) + "static" + "while" + Chr$(10) + "xalloc" str = str + Chr(10) + "new" + Chr(10) + "delete" lang.Keywords = str str = "::" + Chr(10) + "." + Chr(10) + "->" str = str + Chr(10) + "++" + Chr(10) + "--" + Chr(10) + "*" str = str + Chr(10) + "&" + Chr(10) + "+" + Chr(10) + "-" str = str + Chr(10) + "!" + Chr(10) + "~" + Chr(10) + "sizeof" lang.Style = cmLangStyleProcedural && <- not declared yet lang.Operators = str lang.SingleLineComments = "//" lang.MultiLineComments1 = "/*" lang.MultiLineComments2 = "*/" lang.ScopeKeywords1 = "{" lang.ScopeKeywords2 = "}" lang.StringDelims = Chr$(34) + Chr$(10) + "'" lang.EscapeChar = "\" lang.TerminatorChar = ";" globals = control.globals =globals.RegisterLanguage("MyOwnC++", lang) Control.Language = "MyOwnC++" EndprocHTH