No description
Find a file
Adam Goode 84ce778ac2 Fix duplicate clang-format directive
Otherwise:

/Users/agoode/multiversal/.clang-format:91:1: error: duplicated mapping key 'SpaceBeforeParens'
SpaceBeforeParens: Never
^~~~~~~~~~~~~~~~~
Error reading /Users/agoode/multiversal/.clang-format: Invalid argument
/tmp/multiversal/CIncludes/Multiverse.h
2024-03-30 14:53:32 -04:00
custom add SetFInfo, HSetFInfo 2020-03-08 16:11:15 +01:00
defs seeking for MPW 2023-05-01 17:37:42 +02:00
.clang-format Fix duplicate clang-format directive 2024-03-30 14:53:32 -04:00
.gitignore clean up .gitignore 2019-09-24 00:59:20 +02:00
cincludes.rb do not include MPW definitions as prt of CIncludes 2023-12-26 20:10:05 +01:00
COPYING add a license 2019-08-31 17:45:41 +02:00
executor.rb C calling convention support for Executor 2022-05-26 21:37:46 +02:00
generator.rb windows compatibility 2020-05-29 21:08:57 +01:00
make-multiverse.rb handle "api: carbon" 2019-11-10 17:08:41 +01:00
multiversal.schema.json C calling convention support for Executor 2022-05-26 21:37:46 +02:00
README.md Fix typos in README.md 2022-03-17 23:19:20 -05:00
uncrustify.cfg add support for some more code formatters, or none at all 2019-09-26 23:23:16 +02:00

Multiversal Interfaces

Interfaces to Apple's classic Mac OS APIs (pre-Carbon, i.e. 20th century), encoded in YAML files along with a Ruby program to convert them

  1. to C/C++ headers for use with Retro68.
  2. to C++ headers for use as part of Executor 2000

The API definition files were automatically generated from the header files that were originally included with Executor 2000. As Executor was a clean-room implementation of Mac OS and is now available under a liberal license, the resulting header files can be used and redistributed freely. The translator program can still be found in the separate multiversal-parser repository.

JSON Schema

A JSON schema definition for the definition files is available in the file multiversal.schema.json. When it's finished, it will serve as documentation for the API definition YAML files.

If you're using vscode to edit the YAML files, you can set up automatic schema validation (= error messages and completion hints as you type) by installing the YAML extension and adding

"yaml.schemas": {
    "multiversal.schema.json": "defs/*.yaml"
}

to your vscode workspace settings (.vscode/settings.json). If you have checked out the Multiversal Interfaces as a submodule of Executor 2000 or Retro68, add the subdirectory to the relative paths:

"yaml.schemas": {
    "multiversal/multiversal.schema.json": "multiversal/defs/*.yaml"
}