No description
  • Dockerfile 70.3%
  • Makefile 29.7%
Find a file
Millefeuille 386bf02e8c
misc(Dockerfile): fix deletion of temp files
Signed-off-by: mlabouri <mlabouri@student.42.fr>
2024-11-06 21:27:37 +00:00
.devcontainer misc(Dockerfile): fix deletion of temp files 2024-11-06 21:27:37 +00:00
cmd/hareForceOne add program_config generator function and fix types 2024-10-15 18:13:05 +02:00
.gitignore misc(git): add gitignore 2024-10-15 15:08:46 +02:00
conf.ini init 2024-10-14 17:17:33 +02:00
Makefile misc(makefile): added QOL 2024-10-15 15:07:30 +02:00
README.md init 2024-10-14 17:17:33 +02:00

Taskmaster

How does it work

Configuration file

The configuration file should be in the ini format with the following elements: -

The file is validated and parsed with the following regex:

/^\s*(?:;|#).*$|^\s*\[\s*([\w _-]+?)\s*\]\s*?(?:(?:;|#).*)?$|^\s*([^=#;\s]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^;\s=#]+))\s*?(?:(?:;|#).*)?$/gm
  • ^\s*(?:;|#).*$: This first block matches the comment lines
    • Start line with any number of whitespace characters
    • ; or # once
    • Any number of any character until end of line
  • ^\s*\[\s*([\w _-]+?)\s*\]\s*?(?:(?:;|#).*)?$: This section matches the section headers (including inline comments)
    • Start line with any number of whitespace characters
    • [ once
    • Any number of whitespace characters
    • At least one character of a charset (alnum + underscore + dash + space)
      • This will match as few as character as possible, meaning it won't match surrounding whitespace characters
    • Any number of whitespace characters
    • ] once
    • Any number of whitespace characters but as few as possible
    • (?:(?:;|#).*)?: One or zero inline comment (almost identical as the line comment)
    • End of line
  • ^\s*([^=#;\s]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^;\s=#]+))\s*?(?:(?:;|#).*)?$: This section matches the keyval pairs (including inline comments)
    • Start line with any number of whitespace characters
    • At least one character that is not of a charset (comment symbols and =)
    • Any number of whitespace characters
    • = character
    • Any number of whitespace characters
    • Either one of the three:
      • "([^"]*)": Anything that is not a double quote and between double quotes
      • '([^']*)': Anything that is not a simple quote and between double quotes
      • ([^;\s=#]+): At least one character that is not of a charset (comment symbols and =)
    • Any number of whitespace characters but as few as possible
    • (?:(?:;|#).*)?: One or zero inline comment (almost identical as the line comment)