Configuration

The intention is for the configuration to be a flexible system, able to accept multiple languages for the configuration files.

Languages

Currently I plan to Implement the following languages:

  • Lua

The lua config should be designed to be as simple and flexible as possible. A good example of this is how the configuration for lazy.nvim is implemented.

Something like this:

return {
  -- This is a comment
  -- This is a key
  name = "my-lovely-template"
  key = "value",
  -- This is a list
  list = { "value1", "value2" },
  -- This is a nested table
  nested = {
    key = "value"
  },
  function = function()
    print("Hello, World!")
  end
}

Investigate

How to get returned value of a lua file in a lua script

  • Typescript

Similarly, the typescript configuration should be as standard as possible.

Following the example of mayor projects like nextjs or astro. With a midas.config.ts file that exports a default object typed with the configuration interface.

import { config } from "midas";
 
export default config({
  name: "my-lovely-template",
  key: "value",
  list: ["value1", "value2"],
  nested: {
    key: "value",
  },
  function() {
    console.log("Hello, World!");
  },
});

Specifications