oberon.json 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. {
  2. "module": {
  3. "prefix": "module",
  4. "body": ["MODULE ${1:ModuleName};", "", "IMPORT ${2:Out};", "", "${3}", "", "BEGIN", " ${4}", "END ${1:ModuleName}."],
  5. "description": "Create an Oberon module"
  6. },
  7. "procedure": {
  8. "prefix": "proc",
  9. "body": ["PROCEDURE ${1:ProcedureName}${2}*(${3});", "BEGIN", " ${4}", "END ${1:ProcedureName};"],
  10. "description": "Create an Oberon procedure"
  11. },
  12. "function": {
  13. "prefix": "func",
  14. "body": ["PROCEDURE ${1:FunctionName}${2}*(${3}): ${4:INTEGER};", "BEGIN", " ${5}", " RETURN ${6:0}", "END ${1:FunctionName};"],
  15. "description": "Create an Oberon function procedure"
  16. },
  17. "if": {
  18. "prefix": "if",
  19. "body": ["IF ${1:condition} THEN", " ${2}", "END;"],
  20. "description": "Create an IF statement"
  21. },
  22. "while": {
  23. "prefix": "while",
  24. "body": ["WHILE ${1:condition} DO", " ${2}", "END;"],
  25. "description": "Create a WHILE loop"
  26. },
  27. "for": {
  28. "prefix": "for",
  29. "body": ["FOR ${1:i} := ${2:0} TO ${3:n} DO", " ${4}", "END;"],
  30. "description": "Create a FOR loop"
  31. },
  32. "record": {
  33. "prefix": "record",
  34. "body": ["${1:T} = RECORD", " ${2:field}: ${3:INTEGER};", "END;"],
  35. "description": "Create an Oberon record type"
  36. }
  37. }