#!/usr/bin/env php $language) { if (!isset($language['extensions'])) { continue; } foreach ($language['extensions'] as $extension) { $extension = substr($extension, 1); $languageMap[$extension] = [ 'name' => $name, 'group' => $language['group'] ?? null, 'color' => $language['color'] ?? null, 'ace' => $language['ace_mode'] ?? null, 'cm' => $language['codemirror_mode'] ?? null, ]; } } $sourceFile = __DIR__ . '/../src/SCM/Language.php'; $template = file_get_contents($sourceFile); $blockStart = 'const MAP = ['; $blockEnd = '];'; $blockStartPos = strpos($template, $blockStart) + strlen($blockStart); $blockEndPos = strpos($template, $blockEnd); $languageMapSource = var_export($languageMap, true); $languageMapSource = substr($languageMapSource, 7); $languageMapSource = substr($languageMapSource, 0, -1); $updatedSource = substr_replace($template, $languageMapSource, $blockStartPos); $updatedSource .= substr($template, $blockEndPos); file_put_contents($sourceFile, $updatedSource);