Skip to content

Instantly share code, notes, and snippets.

@vinceswann
Last active March 29, 2022 10:50
Show Gist options
  • Save vinceswann/5547498 to your computer and use it in GitHub Desktop.
Save vinceswann/5547498 to your computer and use it in GitHub Desktop.
Uniface 9 syntax highlighting, code completion and GOLD key macro for Sublime Text 3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Comments</string>
<key>scope</key>
<string>source.Uniface</string>
<key>settings</key>
<dict>
<key>shellVariables</key>
<array>
<dict>
<key>name</key>
<string>TM_COMMENT_START</string>
<key>value</key>
<string>; </string>
</dict>
</array>
</dict>
<!-- <key>uuid</key>
<string>36fb77f3-e99f-4578-a68d-c7d72c4b1ffc</string> -->
</dict>
</plist>
[
{
"keys": ["alt+keypad_plus"]
, "command": "run_macro_file"
, "args": {"file": "Packages/Uniface/Gold.sublime-macro"}
, "context":[
{ "key": "selector"
, "operator": "equal"
, "operand": "source.Uniface"
}
]
}
]
[
{
"args":
{
"characters": "·"
},
"command": "insert"
}
]
{
"scope": "source.Uniface",
"completions":
[
"Uniface",
{ "trigger": "any", "contents": "any" },
{ "trigger": "boolean", "contents": "boolean" },
{ "trigger": "date", "contents": "date" },
{ "trigger": "datetime", "contents": "datetime" },
{ "trigger": "entity", "contents": "entity" },
{ "trigger": "float", "contents": "float" },
{ "trigger": "handle", "contents": "handle" },
{ "trigger": "image", "contents": "image" },
{ "trigger": "if", "contents": "if (${1:Condition})" },
{ "trigger": "else", "contents": "else" },
{ "trigger": "elseif", "contents": "elseif (${1:Condition})" },
{ "trigger": "endif", "contents": "endif" },
{ "trigger": "lineardate", "contents": "lineardate" },
{ "trigger": "lineardatetime", "contents": "lineardatetime" },
{ "trigger": "lineartime", "contents": "lineartime" },
{ "trigger": "numeric", "contents": "numeric" },
{ "trigger": "occurence", "contents": "occurence" },
{ "trigger": "raw", "contents": "raw" },
{ "trigger": "string", "contents": "string" },
{ "trigger": "struct", "contents": "struct" },
{ "trigger": "time", "contents": "time" },
{ "trigger": "xmlstream", "contents": "xmlstream" },
{ "trigger": "activate", "contents": "activate \"${1:ComponentName}\".${2:Trigger}(${3:Params})" },
{ "trigger": "addmonths", "contents": "addmonths ${1:Months} ${2:Date}" },
{ "trigger": "apexit", "contents": "apexit" },
{ "trigger": "askmess", "contents": "askmess \"${1:Question}\"" },
{ "trigger": "blockdata", "contents": "blockdata ¬\n¬" },
{ "trigger": "break", "contents": "break" },
{ "trigger": "call", "contents": "call ${1:ProcName}" },
{ "trigger": "case", "contents": "char ${1:Expression1, Expression2, ...}" },
{ "trigger": "clear", "contents": "clear${1:/e \"${2:Entity}\"}" },
{ "trigger": "clock", "contents": "clock" },
{ "trigger": "close", "contents": "close \"${1:DBPath}\"" },
{ "trigger": "clrmess", "contents": "clrmess" },
{ "trigger": "$collhandle", "contents": "\\$collhandle(${1:Entity})" },
{ "trigger": "commit", "contents": "commit${1: [\"DBPath\"]}" },
{ "trigger": "compare", "contents": "compare${1:/previous}${2:/next} (${3:FieldList}) from \"${4:Entity}\"" },
{ "trigger": "$componentinfo", "contents": "\\$componentinfo({1:InstanceName}, \"VARIABLES\")" },
{ "trigger": "$componentname", "contents": "\\$componentname({1:InstanceName})" },
{ "trigger": "$componenttype", "contents": "\\$componenttype({1:InstanceName})" },
{ "trigger": "$concat", "contents": "\\$concat({1:String1}, {2:String2...5})" },
{ "trigger": "$condition", "contents": "\\$condition({1:Condition}, ${2:[DataList])" },
{ "trigger": "creocc", "contents": "creocc \"${1:Entity}\", ${2:Occurence}" },
{ "trigger": "$curhits", "contents": "\\$curhits(${1:Entity})" },
{ "trigger": "$curkey", "contents": "\\$curkey" },
{ "trigger": "$curline", "contents": "\\$curline" },
{ "trigger": "$curocc", "contents": "\\$curocc(${1:Entity})" },
{ "trigger": "$curoccvideo", "contents": "\\$curoccvideo(${1:Entity},\"COL=${2:Colour}\")" },
{ "trigger": "curoccvideo", "contents": "curoccvideo \"${1:Entity}\",\"COL=${2:Colour}\"" },
{ "trigger": "$curword", "contents": "curword" },
{ "trigger": "dataerrorcontext", "contents": "dataerrorcontext" },
{ "trigger": "$date", "contents": "\\$date(${1:(Source)})" },
{ "trigger": "$datim", "contents": "\\$datim(${1:(Source)})" },
{ "trigger": "$dberror", "contents": "\\$dberror" },
{ "trigger": "$dberrortext", "contents": "\\$dberrortext" },
{ "trigger": "$dbocc", "contents": "\\$dbocc(${1:Entity})" },
{ "trigger": "debug", "contents": "debug" },
{ "trigger": "deleteinstance", "contents": "deleteinstance \"{1:InstanceName}\"" },
{ "trigger": "delitem", "contents": "delitem {1:List}, {2:Index}" },
{ "trigger": "delitem/id", "contents": "delitem/id {1:List}, {2:Index}" },
{ "trigger": "detachedinstances", "contents": "detachedinstances" },
{ "trigger": "discard", "contents": "discard \"${1:Entity}\", ${2:FromOccurence}, ${3:ToOccurence}" },
{ "trigger": "display", "contents": "display" },
{ "trigger": "displaylength", "contents": "displaylength ${1:String}" },
{ "trigger": "$displaylength", "contents": "\\$displaylength(${1:String})" },
{ "trigger": "done", "contents": "done" },
{ "trigger": "edit", "contents": "edit" },
{ "trigger": "$editmode", "contents": "\\$editmode [= ${1:0=Edit,1=Query,2=Display}]" },
{ "trigger": "eject", "contents": "eject" },
{ "trigger": "$empty", "contents": "$empty ${1:EntityOrAreaFrameName}" },
{ "trigger": "else", "contents": "else" },
{ "trigger": "end", "contents": "end" },
{ "trigger": "endfor", "contents": "endfor" },
{ "trigger": "endif", "contents": "endif" },
{ "trigger": "endparams", "contents": "endparams" },
{ "trigger": "endvariables", "contents": "endvariables" },
{ "trigger": "$entinfo", "contents": "\\$entinfo(${1:Entity}, ${2:DATAACCESS,DBMSPATH,INNER,OBJECTSERVICE,OUTER,PAINTEDFIELDS,SUPERTYPE})" },
{ "trigger": "$entityproperties", "contents": "$entityproperties(${1:Entity})" },
{ "trigger": "$entname", "contents": "$entname()" },
{ "trigger": "entry", "contents": "entry ${1:EntryName}" },
{ "trigger": "erase", "contents": "erase/e \"${1:Entity}\"" },
{ "trigger": "exit", "contents": "exit" },
{ "trigger": "$expression", "contents": "\\$expression(${1:Expression}, ${2:[DataList]})" },
{ "trigger": "$fieldcheck", "contents": "\\$fieldcheck(${1:Field})" },
{ "trigger": "$fielddbmod", "contents": "\\$fielddbmod(${1:Field})" },
{ "trigger": "$fielddbvalue", "contents": "\\$fielddbvalue(${1:Field})" },
{ "trigger": "$fieldendmod", "contents": "\\$fieldendmod" },
{ "trigger": "$fieldindb", "contents": "\\$fieldindb(${1:Field})" },
{ "trigger": "$fieldinfo", "contents": "\\$fieldinfo(${1:Field})" },
{ "trigger": "$fieldmod", "contents": "\\$fieldmod(${1:Field})" },
{ "trigger": "$fieldname", "contents": "\\$fieldname${1:[(Field)]}" },
{ "trigger": "$fieldprofile", "contents": "\\$fieldprofile(${1:Field})" },
{ "trigger": "$fieldproperties", "contents": "\\$fieldproperties(${1:Field}, ${2:[PropertyList]}) = ${3:[PropertyValuesList]}" },
{ "trigger": "$fieldsyntax", "contents": "\\$fieldsyntax(${1:Field}}) = ${2:[AttributeList]" },
{ "trigger": "fieldsyntax", "contents": "fieldsyntax ${1:Field}, ${2:\"AttributeList\"}" },
{ "trigger": "$fieldvalidation", "contents": "\\$fieldvalidation(${1:Field})" },
{ "trigger": "$fieldvalrep", "contents": "\\$fieldvalrep(${1:Field})= ${2:[ValRepList]" },
{ "trigger": "$fieldvideo","contents" : "\\$fieldvideo(${1:Field}}) = ${2:[AttributeList]" },
{ "trigger": "fieldvideo", "contents": "fieldvideo ${1:Field}, ${2:\"AttributeList\"}" },
{ "trigger": "filebox", "contents": "filebox ${1:[Filter]}, ${2:[DefaultDirectory]}" },
{ "trigger": "filebox/save", "contents": "filebox/save ${1:[Filter]}, ${2:[DefaultDirectory]}" },
{ "trigger": "filebox/savenocheck", "contents": "filebox/savenocheck ${1:[Filter]}, ${2:[DefaultDirectory]}" },
{ "trigger": "filebo/dir", "contents": "filebox/dir ${1:[Filter]}, ${2:[DefaultDirectory]}" },
{ "trigger": "filedump", "contents": "filedump ${1:Source}, ${2:Filename}}" },
{ "trigger": "filedump/append", "contents": "filedump/append ${1:Source}, ${2:Filename}}" },
{ "trigger": "filedump/image", "contents": "filedump/image ${1:Source}, ${2:Filename}}" },
{ "trigger": "filedump/raw", "contents": "filedump/raw ${1:Source}, ${2:Filename}" },
{ "trigger": "fileload", "contents": "fileload ${1:FilePath}, ${2:Target}" },
{ "trigger": "fileload/image", "contents": "fileload/image ${1:FilePath}, ${2:Target}" },
{ "trigger": "fileload/raw", "contents": "fileload/raw ${1:FilePath}, ${2:Target}" },
{ "trigger": "findkey", "contents": "findkey \"${1:Entity}\", ${2:KeyNumber}" },
{ "trigger": "for", "contents": "for ${1:Counter} = ${2:StartValue} to ${3:EndValue}" },
{ "trigger": "$foreign", "contents": "\\$foreign(${1:Entity})" },
{ "trigger": "forentity", "contents": "forentity \"${1:Entity}\"" },
{ "trigger": "$format", "contents": "\\$format = ${1:[FormattedData]}" },
{ "trigger": "$formdb", "contents": "\\$formdb" },
{ "trigger": "$formdbmod", "contents": "\\$formdbmod" },
{ "trigger": "$formfocus", "contents": "\\$formfocus" },
{ "trigger": "$formmod", "contents": "\\$formmod" },
{ "trigger": "$formmodality", "contents": "\\$formmodality" },
{ "trigger": "$formname", "contents": "\\$formname" },
{ "trigger": "$formtitle", "contents": "\\$formtitle" },
{ "trigger": "$framedepth", "contents": "\\$framedepth(${1:FrameName})" },
{ "trigger": "getitem", "contents": "getitem ${1:Target}, ${2:List}, ${3:SequenceNumber}" },
{ "trigger": "getitem/id", "contents": "getitem/id ${1:Target}, ${2:List}, ${3:Index}" },
{ "trigger": "getitem/id/case", "contents": "getitem/id/case ${1:Target}, ${2:List}, ${3:Index}" },
{ "trigger": "getlistitems", "contents": "getlistitems ${1:List}, ${2:Field}" },
{ "trigger": "getlistitems/occ", "contents": "getlistitems/occ ${1:List}, \"${2:Entity}\"" },
{ "trigger": "getlistitems/occ/init", "contents": "getlistitems/occ/init ${1:List}, \"${2:Entity}\"" },
{ "trigger": "getlistitems/id", "contents": "getlistitems ${1:List}, ${2:TargetValue}, ${3:[TargetRepresentation]}" },
{ "trigger": "getlistitems/id/field", "contents": "getlistitems ${1:List}" },
{ "trigger": "getlistitems/id/component", "contents": "getlistitems ${1:List}" },
{ "trigger": "getlistitems/id/global", "contents": "getlistitems ${1:List}" },
{ "trigger": "goto", "contents": "goto ${1:Label}" },
{ "trigger": "$hits", "contents": "\\$hits(${1:Entity})" },
{ "trigger": "$idpart", "contents": "\\$idpart(${1:AssociativeListItem})" },
{ "trigger": "if", "contents": "if (${1:Condition})" },
{ "trigger": "$instancechildren", "contents": "\\$instancechildren(${1:InstanceName})" },
{ "trigger": "$instancedb", "contents": "\\$instancedb(${1:InstanceName})" },
{ "trigger": "$instancedbmod", "contents": "\\$instancedbmod(${1:InstanceName})" },
{ "trigger": "$instancehandle", "contents": "\\$instancehandle(${1:InstanceName})" },
{ "trigger": "$instancemod", "contents": "\\$instancemod(${1:InstanceName})" },
{ "trigger": "$instancename", "contents": "\\$instancename" },
{ "trigger": "$instanceparent", "contents": "\\$instanceparent" },
{ "trigger": "$instancepath", "contents": "\\$instancepath" },
{ "trigger": "$instancevalidation", "contents": "\\$instancevalidation(${1:InstanceName})" },
{ "trigger": "$interactive", "contents": "\\$interactive" },
{ "trigger": "$ioprint", "contents": "\\$ioprint = ${1:2047}" },
{ "trigger": "$item", "contents": "\\$item(${1:ID}, ${2:AssociativeList})" },
{ "trigger": "$itemnr", "contents": "\\$itemnr(${1:SequenceNumber}, ${2:List})" },
{ "trigger": "$keyboard", "contents": "\\$keyboard" },
{ "trigger": "$keycheck", "contents": "\\$keycheck(${1:Entity}, ${2:KeyNumber})" },
{ "trigger": "$keyfields", "contents": "\\$keyfields(${1:Entity}, ${2:KeyNumber})" },
{ "trigger": "$keymod", "contents": "\\$keymod(${1:Entity}, ${2:KeyNumber})" },
{ "trigger": "$keytype", "contents": "\\$keytype(${1:Entity}, ${2:KeyNumber})" },
{ "trigger": "$keyvalidation", "contents": "\\$keyvalidation(${1:Entity}, ${2:KeyNumber})" },
{ "trigger": "$ldir", "contents": "\\$ldir" },
{ "trigger": "ldircreate", "contents": "ldircreate ${1:NewDirPath}" },
{ "trigger": "ldirdelete", "contents": "ldirdelete ${1:DirPath}" },
{ "trigger": "$ldirlist", "contents": "\\$ldirlist(${1:DirPath}, ${2:FILE,DIR})" },
{ "trigger": "ldirrename", "contents": "ldirrename ${1:DirPath}, ${2:NewDirName})" },
{ "trigger": "length", "contents": "length ${1:String}" },
{ "trigger": "$length", "contents": "length(${1:String})" },
{ "trigger": "lfilecopy", "contents": "lfilecopy ${1:FilePath}, ${2:NewFilenameOrDirPath}" },
{ "trigger": "lfiledelete", "contents": "lfiledelete ${1:FilePath}" },
{ "trigger": "lfiledump", "contents": "lfiledump ${1:Source}, ${2:Filename}}" },
{ "trigger": "lfiledump/append", "contents": "lfiledump/append ${1:Source}, ${2:Filename}}" },
{ "trigger": "lfiledump/image", "contents": "lfiledump/image ${1:Source}, ${2:Filename}}" },
{ "trigger": "lfiledump/raw", "contents": "lfiledump/raw ${1:Source}, ${2:Filename}" },
{ "trigger": "$lfileexists", "contents": "\\$lfileexists(${2:FilePathOrDirPath})" },
{ "trigger": "lfileload", "contents": "lfileload ${1:FilePath}, ${2:Target}" },
{ "trigger": "lfileload/image", "contents": "lfileload/image ${1:FilePath}, ${2:Target}" },
{ "trigger": "lfileload/raw", "contents": "lfileload/raw ${1:FilePath}, ${2:Target}" },
{ "trigger": "lfilemove", "contents": "lfilemove ${1:FilePath}, ${2:NewFilenameOrDirPath}" },
{ "trigger": "$lfileproperties", "contents": "\\$lfileproperties(${2:FilePathOrDirPath})" },
{ "trigger": "lfilerename", "contents": "lfilerename ${1:FilePath}, ${2:NewFilename}" },
{ "trigger": "$lines", "contents": "\\$lines" },
{ "trigger": "lock", "contents": "lock" },
{ "trigger": "$logical", "contents": "\\$logical(${1:LogicalName})" },
{ "trigger": "lookup", "contents": "lookup" },
{ "trigger": "lowercase", "contents": "lowercase ${1:Source}, ${2:Target}" },
{ "trigger": "$lowercase", "contents": "\\$lowercase(${1:String})" },
{ "trigger": "$ltrim", "contents": "\\$ltrim(${1:Source}, ${2:PatternToRemove})" },
{ "trigger": "macro", "contents": "macro \"${1:String}\"" },
{ "trigger": "macro/exit", "contents": "macro/exit \"${1:String}\"" },
{ "trigger": "message", "contents": "message ${1:MessageText}" },
{ "trigger": "message/error", "contents": "message/error ${1:MessageText}" },
{ "trigger": "message/warning", "contents": "message/warning ${1:MessageText}" },
{ "trigger": "message/hint", "contents": "message/hint ${1:MessageText}" },
{ "trigger": "message/nobeep", "contents": "message/nobeep ${1:MessageText}" },
{ "trigger": "message/clear", "contents": "message/clear ${1:MessageText}" },
{ "trigger": "message/info", "contents": "message/info ${1:MessageText}" },
{ "trigger": "$modelname", "contents": "\\$modelname" },
{ "trigger": "moveocc", "contents": "moveocc${1:/allfields} \"${2:Entity}\", ${3:Occurence}, ${4:[FieldList]}" },
{ "trigger": "$msgdata", "contents": "\\$msgdata" },
{ "trigger": "$msgdst", "contents": "\\$msgdst" },
{ "trigger": "$msgid", "contents": "\\$msgid" },
{ "trigger": "$msginfo", "contents": "\\$msginfo(${1:DATA,DST,ID,INSTANCENAME,INSTANCEPATH,SRC)" },
{ "trigger": "$msgsrc", "contents": "\\$msgsrc" },
{ "trigger": "newinstance", "contents": "newinstance ${1:ComponentName}, ${2:HandleOrInstanceNameString}" },
{ "trigger": "$next", "contents": "\\$next(${1:Field})" },
{ "trigger": "$nls_sort_order", "contents": "\\$nls_sort_order = ${1:CLASSIC,BINARY}" },
{ "trigger": "$nmforms", "contents": "\\$nmforms" },
{ "trigger": "nodebug", "contents": "nodebug" },
{ "trigger": "$number", "contents": "\\$number(${1:String})" },
{ "trigger": "numgen", "contents": "numgen ${1:CounterName}, ${2:Increment}, ${3:[FieldOrVariableName]}" },
{ "trigger": "numset", "contents": "numset ${1:CounterName}, ${2:InitialValue}, ${3:[FieldOrVariableName]}" },
{ "trigger": "$occcheck", "contents": "\\$occcheck(${1:Entity})" },
{ "trigger": "$occcrc", "contents": "\\$occcrc(${1:Entity})" },
{ "trigger": "$occdbmod", "contents": "\\$occdbmod(${1:Entity})" },
{ "trigger": "$occdel", "contents": "\\$occdel(${1:Entity})" },
{ "trigger": "$occdepth", "contents": "\\$occdepth(${1:Entity})" },
{ "trigger": "$occhandle", "contents": "\\$occhandle(${1:Entity})" },
{ "trigger": "$occmod", "contents": "\\$occmod(${1:Entity})" },
{ "trigger": "$occproperties", "contents": "\\$occproperties(${1:Entity})" },
{ "trigger": "$occstatus", "contents": "\\$occstatus(${1:Entity})" },
{ "trigger": "$occvalidation", "contents": "\\$occvalidation(${1:Entity})" },
{ "trigger": "$ocxhandle", "contents": "\\$ocxhandle(${1:Field})" },
{ "trigger": "open", "contents": "open ${1:LogonParameters}, ${2:PathString}" },
{ "trigger": "operation", "contents": "${1:partner} operation ${2:OperationName}" },
{ "trigger": "$page", "contents": "\\$page" },
{ "trigger": "$paintedocc", "contents": "\\$paintedocc(${1:Entity})" },
{ "trigger": "params", "contents": "params\n\t${1:Type} ${2:Name} : ${3:Direction}\nendparams" },
{ "trigger": "$password", "contents": "\\$password" },
{ "trigger": "perform", "contents": "perform ${1:Lit3GLFunctionName}" },
{ "trigger": "pragma", "contents": "pragma ${1:v5profile,v6profile}" },
{ "trigger": "$previous", "contents": "\\$previous(${1:Field})" },
{ "trigger": "print", "contents": "print ${1:PrintJobModel}), ${2:PrintMode})" },
{ "trigger": "print/ask", "contents": "print/ask ${1:PrintJobModel}), ${2:PrintMode})" },
{ "trigger": "print/preview", "contents": "print/preview ${1:PrintJobModel}), ${2:PrintMode})" },
{ "trigger": "printbreak", "contents": "printbreak ${1:BreakFrameName}" },
{ "trigger": "proccompile", "contents": "proccompile ${1:ProcToBeCompiled }, ${2:[ContextList]}" },
{ "trigger": "proccompile/expression", "contents": "proccompile/expression ${1:ProcToBeCompiled}, ${2:[ContextList]}" },
{ "trigger": "proccompile/condition", "contents": "proccompile/condition ${1:ProcToBeCompiled}, ${2:[ContextList]}" },
{ "trigger": "$procerror", "contents": "\\$procerror = ${1:Value}" },
{ "trigger": "procerrorcontext", "contents": "procerrorcontext" },
{ "trigger": "$prompt", "contents": "\\$prompt = ${1:Field}" },
{ "trigger": "$properties", "contents": "\\$properties ${1:Field}, ${2:PropertyList} = ${3:[PropertyValuesList]}" },
{ "trigger": "pulldown", "contents": "pulldown ${1:MenuBar}" },
{ "trigger": "putitem", "contents": "putitem ${1:List}, ${2:SequenceNumber}, ${3:Source}" },
{ "trigger": "putitem/id", "contents": "putitem/id ${1:List}, ${2:SequenceNumber}, ${3:[Source]}" },
{ "trigger": "putitem/id/case", "contents": "putitem/id ${1:List}, ${2:SequenceNumber}, ${3:[Source]}" },
{ "trigger": "putlistitems", "contents": "putlistitems ${1:List}, ${2:Field}" },
{ "trigger": "putlistitems/id", "contents": "putlistitems/id ${1:List}, ${2:SourceValue}, ${3:[SourceRepresentation]}" },
{ "trigger": "putlistitems/occ", "contents": "putlistitems/occ ${1:List}, \"${2:Entity}\"}" },
{ "trigger": "putlistitems/id/field", "contents": "putlistitems ${1:List}" },
{ "trigger": "putlistitems/id/component", "contents": "putlistitems ${1:List}" },
{ "trigger": "putlistitems/id/global", "contents": "putlistitems ${1:List}" },
{ "trigger": "putmess", "contents": "putmess ${1:MessageText}" },
{ "trigger": "$putmess", "contents": "\\$putmess" },
{ "trigger": "read", "contents": "read" },
{ "trigger": "refresh", "contents": "refresh" },
{ "trigger": "$relation", "contents": "\\$relation(${1:Field})" },
{ "trigger": "release", "contents": "release/e${1:/mod} \"${2:Entity}\"" },
{ "trigger": "reload", "contents": "reload${1:/nolock}" },
{ "trigger": "remocc", "contents": "remocc \"${1:Entity}\", ${2:Occurence}" },
{ "trigger": "repeat", "contents": "repeat" },
{ "trigger": "$replace", "contents": "\\$replace(${1:Source}, ${2:StartPos}, ${3:SearchFor}, ${4:ReplaceWith}, ${5:[Count]})" },
{ "trigger": "reset", "contents": "reset ${1:ProcFunctionName}" },
{ "trigger": "$result", "contents": "\\$result = ${1:Expression}" },
{ "trigger": "retrieve", "contents": "retrieve${1:\/${2:e,a,o,x,reconnect} \"${3:Entity}\"}" },
{ "trigger": "$rettype", "contents": "\\$rettype" },
{ "trigger": "return", "contents": "return ${1:Expression}" },
{ "trigger": "returns", "contents": "returns ${1:DataType}" },
{ "trigger": "rollback", "contents": "rollback ${1:DBPath}" },
{ "trigger": "$rtrim", "contents": "\\$rtrim(${1:Source}, ${2:PatternToRemove})" },
{ "trigger": "run", "contents": "run${1:/display,/query} \"${2:FormDefinition}\"${3:, ${4:[VerticalPosn]}, ${5:[HorizontalPosn]}}" },
{ "trigger": "$runmode", "contents": "\\$runmode" },
{ "trigger": "$scan", "contents": "\\$scan(${1:String}, ${2:SubstringOrProfile})" },
{ "trigger": "scan", "contents": "scan ${1:String}, ${2:SubstringOrProfile}" },
{ "trigger": "$selblk", "contents": "\\$selblk = ${1:[String]}" },
{ "trigger": "selectcase", "contents": "selectcase ${1:FieldOrVariable}\ncase ${2:Value}\n\nendselectcase" },
{ "trigger": "selectdb", "contents": "selectdb ${1:FieldNameOrFunctionName} [from \"${2:Entity}\"] [using ${3:Index}] [u_where (${4:SelectionCriteria})] [condition (${5:Condition})] [to ${6:Destination}]" },
{ "trigger": "$selectlist", "contents": "\\$selectlist(${1:[Entity]})" },
{ "trigger": "set", "contents": "set ${1:ProcFunctionName}" },
{ "trigger": "setformfocus", "contents": "setformfocus ${1:InstanceName}" },
{ "trigger": "setocc", "contents": "setocc \"${1:Entity}\", ${2:Occurence}" },
{ "trigger": "show", "contents": "show" },
{ "trigger": "skip", "contents": "skip ${1:NumberOfLines}" },
{ "trigger": "sleep", "contents": "sleep ${1:Ticks}" },
{ "trigger": "sort/list", "contents": "sort/list ${1:List}, \"${2:SortElement1:SortOptions1;SortElement2:SortOptions2...}\"" },
{ "trigger": "sort", "contents": "sort \"${1:Entity}\", \"${2:Field1:SortOptions1;Field2:SortOptions2...}\"" },
{ "trigger": "spawn", "contents": "spawn ${1:OSCommand}" },
{ "trigger": "$split", "contents": "\\$split(Source, ${1:StartPos}, ${2:SearchFor}, ${3:[LeftPart]}, ${4:[RightPart]})" },
{ "trigger": "sql", "contents": "sql ${1:SqlStatement}, ${2:DBPath}" },
{ "trigger": "sql/print", "contents": "sql ${1:SqlStatement}, ${2:DBPath}" },
{ "trigger": "$status", "contents": "\\$status = ${1:[Expression]}" },
{ "trigger": "store", "contents": "store${1:\/e \"${2:Entity}\"}" },
{ "trigger": "$storetype", "contents": "\\$storetype ${1:Entity}" },
{ "trigger": "$stripattributes", "contents": "\\$stripattributes(${1:Source}, ${2:Target})" },
{ "trigger": "$subsetreturn", "contents": "\\$[set/reset] subsetreturn(${1:[Entity]}) = ${2:[Expression]}" },
{ "trigger": "$syntax", "contents": "\\$syntax(${1:String}, ${2:[Classic,CaseInsensitive,CaseSensitive]})" },
{ "trigger": "$text", "contents": "\\$text(${1:IDString})" },
{ "trigger": "$textexist", "contents": "\\$textexist(${1:IDString})" },
{ "trigger": "$totdbocc", "contents": "\\$totdbocc(${1:Entity})" },
{ "trigger": "$totkeys", "contents": "\\$totkeys(${1:Entity})" },
{ "trigger": "$totlines", "contents": "\\$totlines" },
{ "trigger": "$totocc", "contents": "\\$totocc(${1:Entity})" },
{ "trigger": "$typed", "contents": "\\$typed(\"\\$${1:boolean,clock,date,datim,float,number,string,syntax}(${2:Value})\")" },
{ "trigger": "u_condition", "contents": "u_condition(${1:Condition})" },
{ "trigger": "u_where", "contents": "u_where(${1:SelectionCriteria})" },
{ "trigger": "$uppercase", "contents": "\\$uppercase(${1:String})" },
{ "trigger": "$user", "contents": "\\$user(${1:[DBPath]})" },
{ "trigger": "$uuid", "contents": "\\$uuid" },
{ "trigger": "validate", "contents": "validate${1:/${2:e,o} \"${3:Entity}\"}" },
{ "trigger": "validatefield", "contents": "validatefield ${1:Field}" },
{ "trigger": "validatekey", "contents": "validatekey \"${1:Entity}\", ${2:KeyNumber}" },
{ "trigger": "validateocc", "contents": "validateocc \"${1:Entity}\"" },
{ "trigger": "$valrep", "contents": "\\$valrep(${1:Field}) = ${2:[List]}" },
{ "trigger": "$valuepart", "contents": "\\$valuepart(${1:AssociativeListItem})" },
{ "trigger": "variables", "contents": "variables\n\t${1:Type} ${2:Name}\nendvariables" },
{ "trigger": "$windowproperties", "contents": "\\$windowproperties(${1:InstanceName}, ${2:[PropertyList]}) = ${3:[PropertyValuesList]}" },
{ "trigger": "while", "contents": "while (${1:Condition})\n\nendwhile" },
{ "trigger": "write", "contents": "write" },
{ "trigger": "xmlload{/incldefmap", "contents": "xmlload{/incldefmap ${1:XMLVariable}, ${2:DTDName}, ${3:[DTDMapping]}" },
{ "trigger": "xmlload/noprofile", "contents": "xmlload/noprofile ${1:XMLVariable}, ${2:DTDName}, ${3:[DTDMapping]}" },
{ "trigger": "xmlload", "contents": "xmlload ${1:XMLVariable}, ${2:DTDName}, ${3:[DTDMapping]}" },
{ "trigger": "xmlsave", "contents": "xmlsave ${1:[/mod]} ${2:[/one]} ${3:[/dtd|/ref]} ${4:[/includefmap]} ${5:[/root]} ${6:XMLVariable}, ${7:DTDName}, ${8:DTDMapping}" },
{ "trigger": "xmlvalidate", "contents": "xmlvalidate ${1:[/file]} ${2:XMLStream}, ${3:[ValidationData]}" },
{ "trigger": "#define", "contents": "#define ${1:Constant} = ${2:Value}" },
{ "trigger": "#elseif", "contents": "#elseif" },
{ "trigger": "#endif", "contents": "#endif" },
{ "trigger": "#error", "contents": "#error ${1:ErrorMessage}" },
{ "trigger": "#for", "contents": "#for ${1:Constant} = (${2:Value1}, ${3:Value2, Value3...}) ; Use this const via <${1}>" },
{ "trigger": "#if", "contents": "#if (${1:Condition})\n\n#endif" },
{ "trigger": "#ifdefined", "contents": "#ifdefined ${1:Constant}\n\n#endif" },
{ "trigger": "#ifundefined", "contents": "#ifundefined ${1:Constant}\n\n#endif" },
{ "trigger": "#include", "contents": "#include ${1:GlobalProcName}" },
{ "trigger": "#info", "contents": "#info ${1:InfoMessage}" },
{ "trigger": "#undefine", "contents": "#undefine ${1:Constant}" },
{ "trigger": "#warning", "contents": "#warning ${1:WarningMessage}" }
]
}
{
"tab_size": 3,
"translate_tabs_to_spaces": false
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>uni</string>
<string>Uniface</string>
<string>pro</string>
</array>
<key>name</key>
<string>Uniface</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#general</string>
</dict>
</array>
<key>repository</key>
<dict>
<key>arithmetic</key>
<dict>
<key>match</key>
<string>(\-|\+|\*|\/|~|%)</string>
<key>name</key>
<string>keyword.operator.arithmetic.Uniface</string>
</dict>
<key>call</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.source.Uniface</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.call.Uniface</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(call)\s+([A-Za-z0-9_]+)</string>
</dict>
<key>comment</key>
<dict>
<key>match</key>
<string>(;.*)$</string>
<key>name</key>
<string>comment.line.semicolon.Uniface</string>
</dict>
<key>comparison</key>
<dict>
<key>match</key>
<string>(==|!=|&lt;=|&gt;=|&lt;&gt;|&lt;|&gt;)</string>
<key>name</key>
<string>keyword.operator.comparison.Uniface</string>
</dict>
<key>conditional</key>
<dict>
<key>match</key>
<string>\b(?i)(?:case|if|else|elsecase|elseif|endif|endselectcase|selectcase)\b</string>
<key>name</key>
<string>keyword.control.conditional.Uniface</string>
</dict>
<key>data_types</key>
<dict>
<key>match</key>
<string>\b(?i)(?:any|boolean|date|datetime|entity|float|handle|image|lineardate|lineardatetime|lineartime|numeric|occurrence|raw|string|time|xmlstream)\b</string>
<key>name</key>
<string>storage.type.Uniface</string>
</dict>
<key>entry_or_operation</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>keyword.source.Uniface</string>
</dict>
<key>2</key>
<dict>
<key>name</key>
<string>entity.name.function.Uniface</string>
</dict>
</dict>
<key>match</key>
<string>^\s*(entry|operation)\s+([A-Za-z0-9_]+).*</string>
<key>name</key>
<string>meta.function.Uniface</string>
</dict>
<key>function</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>support.function.Uniface</string>
</dict>
</dict>
<key>match</key>
<string>[^\$](\$[A-Za-z0-9_]+)[^\$A-Za-z0-9_]</string>
</dict>
<key>general</key>
<dict>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#invalid_string</string>
</dict>
<dict>
<key>include</key>
<string>#invalid_deprecated</string>
</dict>
<dict>
<key>include</key>
<string>#comment</string>
</dict>
<dict>
<key>include</key>
<string>#string_double</string>
</dict>
<dict>
<key>include</key>
<string>#string_single</string>
</dict>
<dict>
<key>include</key>
<string>#data_types</string>
</dict>
<dict>
<key>include</key>
<string>#parameter_direction</string>
</dict>
<dict>
<key>include</key>
<string>#conditional</string>
</dict>
<dict>
<key>include</key>
<string>#call</string>
</dict>
<dict>
<key>include</key>
<string>#entry_or_operation</string>
</dict>
<dict>
<key>include</key>
<string>#function</string>
</dict>
<dict>
<key>include</key>
<string>#repeat</string>
</dict>
<dict>
<key>include</key>
<string>#comparison</string>
</dict>
<dict>
<key>include</key>
<string>#increment-decrement</string>
</dict>
<dict>
<key>include</key>
<string>#arithmetic</string>
</dict>
<dict>
<key>include</key>
<string>#logical</string>
</dict>
<dict>
<key>include</key>
<string>#keywords</string>
</dict>
<dict>
<key>include</key>
<string>#redirect</string>
</dict>
<dict>
<key>include</key>
<string>#variable_dollar</string>
</dict>
<dict>
<key>include</key>
<string>#variable</string>
</dict>
</array>
</dict>
<key>increment-decrement</key>
<dict>
<key>match</key>
<string>(\-\-|\+\+)</string>
<key>name</key>
<string>keyword.operator.increment-decrement.Uniface</string>
</dict>
<key>invalid_deprecated</key>
<dict>
<key>match</key>
<string>\b(?i)(?:sendmessage|abs|acos|asin|atan|concat|condition|cos|curocc_video|delete_instance|display_length|exp|exp10|fact|field_syntax|field_video|file_dump|file_load|frac|idpart|int|item|log|log10|ltrim|new_instance|\$outer|perform|pi|power|pragma|print_break|replace|rtrim|run|scan|sendmessage|sin|spawn|split|sqrt|strip_attributes|tan|\$time|typed|valuepart)\b</string>
<key>name</key>
<string>invalid.deprecated.Uniface</string>
</dict>
<key>invalid_string</key>
<dict>
<key>match</key>
<string>^[^;"]*"([^"\\]*)$</string>
<key>name</key>
<string>invalid.illegal.Uniface</string>
</dict>
<key>keywords</key>
<dict>
<key>match</key>
<string>\b(?i)(?:define|elseif|endif|error|for|if|ifdefined|ifundefined|include|info|undefine|warning|activate|addmonths|apexit|askmess|blockdata|break|call|char|check|clear\/e|clear|clock|close|clrmess|cmpStateManagedBy|collhandle|commit|compare|componentinfo|componentname|componenttype|concat|condition|creocc|curhits|curkey|curline|curocc|curoccvideo|curword|dataerrorcontext|date|datim|dberror|dbocc|debug|delete|deleteinstance|delitem|detachedinstances|direction|disable|discard|display|displaylength|done|edit|editmode|eject|empty|end|endfor|endparams|endvariables|entinfo|entityproperties|entname|entry|erase|exit|expression|Field|fieldcheck|fielddbmod|fielddbvalue|fieldendmod|fieldindb|fieldinfo|fieldmod|fieldname|fieldprofile|fieldproperties|fieldsyntax|fieldvalidation|fieldvalrep|fieldvideo|filebox|filedump|fileload|findkey|for|foreign|forentity|format|formdb|formdbmod|formfocus|formmod|formmodality|formname|formtitle|framedepth|getitem|getlistitems|goto|gui|hide|hits|idpart|ifdefined|ifundefined|info|instancechildren|instancedb|instancedbmod|instancehandle|instancemod|instancename|instanceparent|instancepath|instances|instancevalidation|interactive|ioprint|item|itemnr|keyboard|keycheck|keyfields|keymod|keytype|keyvalidation|language|ldir|ldircreate|ldirdelete|ldirlist|ldirrename|length|lfilecopy|lfiledelete|lfiledump|lfileexists|lfileload|lfilemove|lfileproperties|lfilerename|libraryName|lines|lock|logical|lookup|lowercase|ltrim|macro|message\/error|message\/warning|message\/hint|message|modelname|moveocc|msgdata|msgdst|msgid|msginfo|msgsrc|newinstance|next|nls_sort_order|nmforms|nodebug|number|numgen|numset|occcheck|occcrc|occdbmod|occdel|occdepth|occhandle|occmod|occproperties|occstatus|occvalidation|ocxhandle|open|operation|oprsys|outer|page|paintedocc|params|password|perform|pragma|previous|print|printbreak|printing|proccompile|procerror|procerrorcontext|prompt|properties|pulldown|putitem|putlistitems|putmess|read|refresh|relation|release|reload|remocc|repeat|replace|reset|result|retrieve\/a|retrieve\/e|retrieve\/o|retrieve\/reconnect|retrieve\/x|retrieve|rettype|return|returns|rollback|rtrim|run|runmode|scan|selblk|selectdb|selectlist|set|setformfocus|setocc|show|skip|sleep|sort\/list|sort|spawn|split|sql|status|store|storetype|stripattributes|subsetreturn|syntax|tableName|text|textexist|time|totdbocc|totkeys|totlines|totocc|typed|u_condition|u_where|undefine|uppercase|user|uuid|validate|validatefield|validatekey|validateocc|valrep|valuepart|variables|variation|web|webgen|webget|webinfo|windowproperties|write|XML|xmlload|xmlsave|xmlvalidate)\b</string>
<key>name</key>
<string>keyword.source.Uniface</string>
</dict>
<key>logical</key>
<dict>
<key>match</key>
<string>(!|&amp;&amp;|\|\|)</string>
<key>name</key>
<string>keyword.operator.logical.Uniface</string>
</dict>
<key>parameter_direction</key>
<dict>
<key>match</key>
<string>:\s*(inout|in|out|partner|public)</string>
<key>name</key>
<string>storage.modifier.Uniface</string>
</dict>
<key>redirect</key>
<dict>
<key>match</key>
<string>&amp;&gt;|\d*&gt;&amp;\d*|\d*(&gt;&gt;|&gt;|&lt;)|\d*&lt;&amp;|\d*&lt;&gt;</string>
<key>name</key>
<string>keyword.operator.redirect.Uniface</string>
</dict>
<key>repeat</key>
<dict>
<key>match</key>
<string>\b(?i)(?:for|while|repeat|endwhile)\b</string>
<key>name</key>
<string>keyword.control.repeat.Uniface</string>
</dict>
<key>string_double</key>
<dict>
<key>begin</key>
<string>"</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.Uniface</string>
</dict>
</dict>
<key>end</key>
<string>"</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.Uniface</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.Uniface</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_gold</string>
</dict>
<dict>
<key>include</key>
<string>#variable_quoted</string>
</dict>
</array>
</dict>
<key>string_gold</key>
<dict>
<key>match</key>
<string>·\S</string>
<key>name</key>
<string>constant.character.escape</string>
</dict>
<key>string_single</key>
<dict>
<key>begin</key>
<string>'</string>
<key>beginCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.begin.Uniface</string>
</dict>
</dict>
<key>end</key>
<string>'</string>
<key>endCaptures</key>
<dict>
<key>0</key>
<dict>
<key>name</key>
<string>punctuation.definition.string.end.Uniface</string>
</dict>
</dict>
<key>name</key>
<string>string.quoted.double.Uniface</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>#string_gold</string>
</dict>
<dict>
<key>include</key>
<string>#string_syntax</string>
</dict>
<dict>
<key>include</key>
<string>#variable_quoted</string>
</dict>
</array>
</dict>
<key>string_syntax</key>
<dict>
<key>match</key>
<string>[\(\)]</string>
<key>name</key>
<string>constant.character.escape</string>
</dict>
<key>variable</key>
<dict>
<key>match</key>
<string>([A-Za-z_][A-Za-z0-9_\.]*)</string>
<key>name</key>
<string>variable.parameter.Uniface</string>
</dict>
<key>variable_dollar</key>
<dict>
<key>match</key>
<string>(\$\$[A-Za-z0-9_]+|\$[A-Za-z0-9_]+\$)</string>
<key>name</key>
<string>variable.parameter.Uniface</string>
</dict>
<key>variable_quoted</key>
<dict>
<key>captures</key>
<dict>
<key>1</key>
<dict>
<key>name</key>
<string>variable.parameter.Uniface</string>
</dict>
</dict>
<key>match</key>
<string>%%([$A-Za-z_][$A-Za-z0-9_\.]*)</string>
</dict>
</dict>
<key>scopeName</key>
<string>source.Uniface</string>
<key>uuid</key>
<string>36fb77f3-e99f-4578-a68d-c7d72c4b1ffc</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment