1# Defines SciTE settings for OScript sources; osx files and/or OSpace dumps. 2# OScript is a programming language used to develop applications for the 3# Livelink server platform. 4 5############################################################################## 6# Specify file extension and lexer class. 7 8file.patterns.oscript=*.osx 9filter.oscript=OScript (osx)|$(file.patterns.oscript)| 10*filter.oscript=$(filter.oscript) 11lexer.$(file.patterns.oscript)=oscript 12 13############################################################################## 14# Specify various editor parameters. 15 16word.chars.oscript=$(chars.alpha)$(chars.numeric)_$ 17word.characters.$(file.patterns.oscript)=$(word.chars.oscript) 18 19#comment.block.at.line.start.oscript=1 20comment.block.oscript=//~ 21#~ comment.stream.start.oscript=#ifdef DOC 22#~ comment.stream.end.oscript=#endif 23comment.stream.start.oscript=/* 24comment.stream.end.oscript=*/ 25comment.box.start.oscript=/* 26comment.box.middle.oscript= * 27comment.box.end.oscript= */ 28 29statement.indent.$(file.patterns.oscript)=6 case default else for if \ 30repeat switch while 31statement.lookback.$(file.patterns.oscript)=20 32statement.end.$(file.patterns.oscript)=10 ; 33block.start.$(file.patterns.oscript)=10 if 34block.end.$(file.patterns.oscript)=10 end 35indent.maintain.$(file.patterns.oscript)=1 36indent.size.$(file.patterns.oscript)=4 37use.tabs.$(file.patterns.oscript)=1 38tab.size.$(file.patterns.oscript)=4 39 40preprocessor.symbol.$(file.patterns.oscript)=# 41preprocessor.start.$(file.patterns.oscript)=ifdef ifndef 42preprocessor.middle.$(file.patterns.oscript)=else 43preprocessor.end.$(file.patterns.oscript)=endif 44 45############################################################################## 46# Specify API autocompletion and calltip help. 47 48api.$(file.patterns.oscript)=$(SciteDefaultHome)\api\oscript.api 49autocomplete.oscript.ignorecase=1 50calltip.oscript.ignorecase=1 51calltip.oscript.use.escapes=1 52calltip.oscript.word.characters=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$. 53 54############################################################################## 55# Define keyword classes separately according to the language semantics 56# before grouping them to keywords for styling. OScript is not case-sensitive; 57# all keywords configured here must be entered in lower-case. 58 59# Language native value and reference types. 60keywordclass.type=\ 61assoc boolean bytes date dynamic error extern file integer list long object \ 62point real recarray record script string 63 64# Word-like (literal) operators (boolean). 65keywordclass.operator=\ 66and eq ge gt le lt ne not or xor 67 68# Code-flow control statements. 69keywordclass.oscript.control=\ 70break breakif by case continue continueif default downto else elseif end for \ 71goto if in repeat switch to until while 72 73# Keywords to declare functions. 74keywordclass.function=\ 75function return void 76 77# Various language native keywords and reserved words. 78keywordclass.miscellaneous=\ 79dll inbyref inout linked nodebug super this xcmd xfcn 80 81# Constants with values and defaults for primitive types. 82keywordclass.constant=\ 83false true undefined 84 85# Language native constants (type classification integers). 86keywordclass.coreconstant=\ 87booleantype bytestype datatype dynamictype errortype externtype integertype \ 88listtype longtype objecttype objreftype pointtype realtype scripttype \ 89stringtype undefinedtype voidtype 90 91# Language native functions not bound to any object (global). 92keywordclass.corefunction=\ 93datatypename echo echodebug echoerror echoinfo echostamp echowarn \ 94getfeatures isdefined iserror isfeature isinvokable isnoterror isnotset \ 95isobject isset isundefined length nparameters parameters pointh pointv type 96 97# Object types available in Livelink kernel and core modules. 98keywordclass.builtintype=\ 99cachetree capiconnect capierr capilog capilogin compiler dapisession \ 100dapinode dapiversion dapistream filecopy fileprefs frame javaobject \ 101mailmessage pop3session smtpsession ssloptions patfind patchange regex \ 102socket sqlconnection sqlcursor uapisession uapiuser wapisession wapimap \ 103wapimaptask wapiwork wapisubwork domattr domcdatasection domcharacterdata \ 104domcomment domdocument domdocumentfragment domdocumenttype domelement \ 105domentity domentityreference domimplementation domnamednodemap domnode \ 106domnodelist domnotation domparser domprocessinginstruction domtext saxparser \ 107xslprocessor 108 109# Singletons available in Livelink kernel and core modules; they offer only 110# static methods to call. 111keywordclass.builtinobject=\ 112capi dapi env global language logging math memcached otds pattern security \ 113sql str system uapi vis wapi web zip 114 115# Keywords usable in WebLingo sources (HTML templates including OScript). 116keywordclass.weblingo=\ 117call html oscript 118 119############################################################################## 120# Define keyword groups that are recognized by the lexer and can be assigned 121# different styles. 122 123# Language native keywords: SCE_OSCRIPT_KEYWORD state. 124keywords.$(file.patterns.oscript)=$(keywordclass.oscript.control) \ 125$(keywordclass.function) $(keywordclass.miscellaneous) 126 127# Constants: SCE_OSCRIPT_CONSTANT state. 128keywords2.$(file.patterns.oscript)=$(keywordclass.constant) \ 129$(keywordclass.coreconstant) 130 131# Word-like (literal) operators: SCE_OSCRIPT_OPERATOR state. 132keywords3.$(file.patterns.oscript)=$(keywordclass.operator) 133 134# Value and reference (object) types: SCE_OSCRIPT_TYPE state. 135keywords4.$(file.patterns.oscript)=$(keywordclass.type) \ 136$(keywordclass.builtintype) 137 138# Language native (global) functions: SCE_OSCRIPT_FUNCTION state. 139keywords5.$(file.patterns.oscript)=$(keywordclass.corefunction) 140 141# Core static objects: SCE_OSCRIPT_OBJECT state. 142keywords6.$(file.patterns.oscript)=$(keywordclass.builtinobject) 143 144############################################################################## 145# Define Style definitions supported by the lexical states. There are multiple 146# states for language keyword groups although they all are reserved words; to 147# be able ot assign them different styles. 148 149# Default text style. 150style.oscript.0= 151# Single-line comment. 152style.oscript.1=$(colour.code.comment.line),$(font.code.comment.line) 153# Multi-line comment. 154style.oscript.2=$(colour.code.comment.box),$(font.code.comment.box) 155# Documentation comment; a text delimited by preprocessor directives 156# #ifdef DOC and #endif; the value of DOC is supposed to be never defined. 157style.oscript.3=$(colour.code.comment.doc),$(font.code.comment.doc) 158# Preprocessor directive. 159style.oscript.4=$(colour.preproc) 160# Number. 161style.oscript.5=$(colour.number) 162# String enclosed in single quotes (apostrophes). 163style.oscript.6=$(colour.string) 164# String enclosed in double quotes (quotation marks). 165style.oscript.7=$(colour.string) 166# Constant literal. See the property keywords2 above. 167style.oscript.8=fore:#FF7F3F 168# Identifier of a variable, an object or a script. 169style.oscript.9= 170# Server-global variable (prefixed by $). 171style.oscript.10=fore:#7F007F 172# Language native keyword or reserved word. See the property keywords above. 173style.oscript.11=$(colour.keyword),bold 174# Operator; either symbolic or literal. See the property keywords3 above. 175style.oscript.12=$(colour.operator),bold 176# Label to jump to with the GoTo statement. 177style.oscript.13=fore:#FF00FF 178# Type available in the language, in kernel or code modules. 179# See the property keywords4 above. 180style.oscript.14=fore:#00007F 181# Global function in the language, in kernel or code modules. 182# See the property keywords5 above. 183style.oscript.15=fore:#0000FF 184# Static built-in object. See the property keywords6 above. 185style.oscript.16=fore:#007F7F 186# Object property. 187style.oscript.17= 188# Object method. 189style.oscript.18= 190 191braces.oscript.style=12 192 193############################################################################## 194# Specify help. 195 196if PLAT_WIN 197 command.help.$(file.patterns.oscript)=$(CurrentWord)!C:\LL971\builder\documentation.chm 198 command.help.subsystem.$(file.patterns.oscript)=4 199