{ "module": { "prefix": "module", "body": ["MODULE ${1:ModuleName};", "", "IMPORT ${2:Out};", "", "${3}", "", "BEGIN", " ${4}", "END ${1:ModuleName}."], "description": "Create an Oberon module" }, "procedure": { "prefix": "proc", "body": ["PROCEDURE ${1:ProcedureName}${2}*(${3});", "BEGIN", " ${4}", "END ${1:ProcedureName};"], "description": "Create an Oberon procedure" }, "function": { "prefix": "func", "body": ["PROCEDURE ${1:FunctionName}${2}*(${3}): ${4:INTEGER};", "BEGIN", " ${5}", " RETURN ${6:0}", "END ${1:FunctionName};"], "description": "Create an Oberon function procedure" }, "if": { "prefix": "if", "body": ["IF ${1:condition} THEN", " ${2}", "END;"], "description": "Create an IF statement" }, "while": { "prefix": "while", "body": ["WHILE ${1:condition} DO", " ${2}", "END;"], "description": "Create a WHILE loop" }, "for": { "prefix": "for", "body": ["FOR ${1:i} := ${2:0} TO ${3:n} DO", " ${4}", "END;"], "description": "Create a FOR loop" }, "record": { "prefix": "record", "body": ["${1:T} = RECORD", " ${2:field}: ${3:INTEGER};", "END;"], "description": "Create an Oberon record type" } }