UNPKG

estilo

Version:

Create color schemes for Vim, NeoVim, Airline and Lightline

36 lines (35 loc) 1.53 kB
import * as dntShim from "../_dnt.shims.js"; import { ensureDir } from "./util.js"; import { resolve } from "../deps/jsr.io/@std/path/1.0.8/mod.js"; import { renderColorscheme } from "./render-colorscheme.js"; import { renderStatus } from "./render-status.js"; const paths = { airline: "autoload/airline/themes", lightline: "autoload/lightline/colorscheme", }; export async function renderProject(project) { const { config: projectConfig } = project; for (const config of projectConfig.colorschemes) { const rendered = renderColorscheme(config, project); await writeThing("colors", rendered, config.name, project.projectUrl); } if (projectConfig.airline) { for (const config of projectConfig.airline) { const rendered = renderStatus(config, project, "airline"); await writeThing(paths.airline, rendered, config.name, project.projectUrl); } } if (projectConfig.lightline) { for (const config of projectConfig.lightline) { const rendered = renderStatus(config, project, "lightline"); await writeThing(paths.lightline, rendered, config.name, project.projectUrl); } } console.log("%c✓ Done, your theme is ready\n", "color: green"); } export async function writeThing(folder, txt, name, projectPath) { const folderPath = resolve(projectPath, folder); const filepath = resolve(folderPath, name + ".vim"); await ensureDir(folderPath); await dntShim.Deno.writeTextFile(filepath, txt); }