{ "Module": { "prefix": [ "module", "MODULE" ], "body": [ "MODULE ${1:ModuleName};", "", "FROM ${2:Module} IMPORT ${3:Item};", "", "VAR", " ${4:variable} : ${5:INTEGER};", "", "BEGIN", " ${0}", "END ${1:ModuleName}." ], "description": "Create a complete Modula-2 module" }, "Definition Module": { "prefix": [ "definition", "defmodule", "DEFINITION" ], "body": [ "DEFINITION MODULE ${1:ModuleName};", "", "EXPORTS", " ${0}", "", "END ${1:ModuleName}." ], "description": "Create a definition module" }, "Implementation Module": { "prefix": [ "implementation", "implmodule", "IMPLEMENTATION" ], "body": [ "IMPLEMENTATION MODULE ${1:ModuleName};", "", "FROM ${2:Module} IMPORT ${3:Item};", "", "BEGIN", " ${0}", "END ${1:ModuleName}." ], "description": "Create an implementation module" }, "Procedure": { "prefix": [ "proc", "procedure", "PROCEDURE" ], "body": [ "PROCEDURE ${1:ProcedureName}(${2:parameters}) : ${3:RETURN_TYPE};", "BEGIN", " ${0}", "END ${1:ProcedureName};" ], "description": "Create a procedure" }, "If": { "prefix": [ "if", "IF" ], "body": [ "IF ${1:condition} THEN", " ${0}", "END;" ], "description": "Create an IF statement" }, "If Else": { "prefix": [ "ifelse", "IFELSE" ], "body": [ "IF ${1:condition} THEN", " ${2}", "ELSE", " ${0}", "END;" ], "description": "Create an IF/ELSE statement" }, "For": { "prefix": [ "for", "FOR" ], "body": [ "FOR ${1:i} := ${2:1} TO ${3:10} DO", " ${0}", "END;" ], "description": "Create a FOR loop" }, "While": { "prefix": [ "while", "WHILE" ], "body": [ "WHILE ${1:condition} DO", " ${0}", "END;" ], "description": "Create a WHILE loop" }, "Repeat": { "prefix": [ "repeat", "REPEAT" ], "body": [ "REPEAT", " ${0}", "UNTIL ${1:condition};" ], "description": "Create a REPEAT/UNTIL loop" }, "Loop": { "prefix": [ "loop", "LOOP" ], "body": [ "LOOP", " ${0}", "END;" ], "description": "Create an unconditional LOOP" }, "Case": { "prefix": [ "case", "CASE" ], "body": [ "CASE ${1:expression} OF", " ${2:value}: ${3}", "ELSE", " ${0}", "END;" ], "description": "Create a CASE statement" }, "Record": { "prefix": [ "record", "RECORD" ], "body": [ "${1:RecordName} = RECORD", " ${2:field} : ${3:INTEGER};", " ${0}", "END;" ], "description": "Create a RECORD type" }, "Type": { "prefix": [ "type", "TYPE" ], "body": [ "TYPE", " ${1:TypeName} = ${0};" ], "description": "Create a TYPE declaration" }, "Variable": { "prefix": [ "var", "variable", "VAR" ], "body": [ "VAR", " ${1:name} : ${2:INTEGER};" ], "description": "Create a VAR declaration" }, "Constant": { "prefix": [ "const", "constant", "CONST" ], "body": [ "CONST", " ${1:Name} = ${0};" ], "description": "Create a CONST declaration" }, "From Import": { "prefix": [ "from", "import", "fromimport", "FROM" ], "body": [ "FROM ${1:Module} IMPORT ${0};" ], "description": "Create a FROM/IMPORT statement" }, "Import": { "prefix": [ "import", "IMPORT" ], "body": [ "IMPORT ${0};" ], "description": "Create an IMPORT statement" }, "Pointer Type": { "prefix": [ "pointer", "ptr", "POINTER" ], "body": [ "TYPE", " ${1:TypeName} = POINTER TO ${0};" ], "description": "Create a pointer type" }, "Set Type": { "prefix": [ "set", "settype", "SET" ], "body": [ "TYPE", " ${1:SetName} = SET OF ${0};" ], "description": "Create a SET type" } }