diff --git a/knip.json b/knip.json index b184a53..06e485b 100644 --- a/knip.json +++ b/knip.json @@ -3,7 +3,7 @@ "workspaces": { "packages/vscode": { "entry": ["src/extension.ts"], - "ignoreDependencies": ["doodl-language-server"] + "ignoreDependencies": ["tempblot-language-server"] } }, "ignoreDependencies": ["uuid"] diff --git a/packages/compiler/README.md b/packages/compiler/README.md index 17d5cd0..09eb6e6 100644 --- a/packages/compiler/README.md +++ b/packages/compiler/README.md @@ -1,8 +1,8 @@ -# Doodl ✏︎ +# Tempblot ✏︎ > A modern type-safe templating engine -```dood +```blot import {v4} from "uuid"; @@ -24,7 +24,7 @@ const data = { # Installation ```shell -npm install doodl +npm install tempblot ``` # Prerequisites diff --git a/packages/compiler/package.json b/packages/compiler/package.json index 30717b3..0151721 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,5 +1,5 @@ { - "name": "doodl", + "name": "tempblot", "type": "module", "version": "0.0.1", "description": "A modern type-safe templating engine", @@ -7,7 +7,7 @@ "license": "MIT", "repository": { "type": "git", - "url": "https://github.com/crutchcorn/doodl.git", + "url": "https://github.com/crutchcorn/tempblot.git", "directory": "packages/compiler" }, "funding": { diff --git a/packages/compiler/src/index.ts b/packages/compiler/src/index.ts index ab5d3b4..a53dc0d 100644 --- a/packages/compiler/src/index.ts +++ b/packages/compiler/src/index.ts @@ -7,7 +7,7 @@ import { transformOutput } from "./output-transformer.js"; const outputVarName = "o" + crypto.randomUUID().replace(/-/g, ""); /** - * @param sourcePath - the absolute path to the `.dood` source file + * @param sourcePath - the absolute path to the `.blot` source file * @returns the compiled output as a string */ export async function compilePath(sourcePath: string): Promise { @@ -21,7 +21,7 @@ export async function compilePath(sourcePath: string): Promise { export const ${outputVarName} = \`${transformedOutput}\`; `; // Write a temporary file to disk - const tempPath = path.join(sourceDir, `.doodl_${outputVarName}.ts`); + const tempPath = path.join(sourceDir, `.tempblot_${outputVarName}.ts`); await fs.writeFile(tempPath, concatenatedSetupOutput); const compiledOutput: string = (await import(tempPath))[outputVarName]; await fs.unlink(tempPath); diff --git a/packages/compiler/tests/index.spec.ts b/packages/compiler/tests/index.spec.ts index 8ef5890..11d7efe 100644 --- a/packages/compiler/tests/index.spec.ts +++ b/packages/compiler/tests/index.spec.ts @@ -11,7 +11,7 @@ const __dirname = dirname(__filename); test("compiles a basic file", async () => { const result = await compilePath( - path.resolve(__dirname, "../../../sample/test.json.dood"), + path.resolve(__dirname, "../../../sample/test.json.blot"), ); expect(result).toMatchSnapshot(); @@ -19,7 +19,7 @@ test("compiles a basic file", async () => { test("compiles an array-interpolated file", async () => { const result = await compilePath( - path.resolve(__dirname, "../../../sample/array.json.dood"), + path.resolve(__dirname, "../../../sample/array.json.blot"), ); expect(result).toMatchSnapshot(); @@ -27,7 +27,7 @@ test("compiles an array-interpolated file", async () => { test("compiles a top-level await file", async () => { const result = await compilePath( - path.resolve(__dirname, "../../../sample/top-await.json.dood"), + path.resolve(__dirname, "../../../sample/top-await.json.blot"), ); expect(result).toMatchSnapshot(); @@ -35,7 +35,7 @@ test("compiles a top-level await file", async () => { test("compiles an import file", async () => { const result = await compilePath( - path.resolve(__dirname, "../../../sample/import.json.dood"), + path.resolve(__dirname, "../../../sample/import.json.blot"), ); expect(result).toMatchSnapshot(); diff --git a/packages/compiler/vite.config.ts b/packages/compiler/vite.config.ts index 4727076..2e1f837 100644 --- a/packages/compiler/vite.config.ts +++ b/packages/compiler/vite.config.ts @@ -12,7 +12,7 @@ export default defineConfig({ })], build: { lib: { - name: "Doodl", + name: "Tempblot", fileName: 'index', entry: resolve(__dirname, "src/index.ts"), formats: ["es"], diff --git a/packages/language-server/bin/doodl-language-server.js b/packages/language-server/bin/tempblot-language-server.js similarity index 100% rename from packages/language-server/bin/doodl-language-server.js rename to packages/language-server/bin/tempblot-language-server.js diff --git a/packages/language-server/package.json b/packages/language-server/package.json index 50b634a..898361e 100644 --- a/packages/language-server/package.json +++ b/packages/language-server/package.json @@ -1,5 +1,5 @@ { - "name": "doodl-language-server", + "name": "tempblot-language-server", "version": "0.0.1", "main": "out/index.js", "files": [ @@ -7,7 +7,7 @@ "out/**/*.d.ts" ], "bin": { - "doodl-language-server": "./bin/doodl-language-server.js" + "tempblot-language-server": "./bin/tempblot-language-server.js" }, "dependencies": { "@volar/language-core": "~2.4.23", diff --git a/packages/language-server/src/index.ts b/packages/language-server/src/index.ts index 9f3929e..1f15e63 100644 --- a/packages/language-server/src/index.ts +++ b/packages/language-server/src/index.ts @@ -2,7 +2,7 @@ import { createConnection, createServer, createTypeScriptProject, Diagnostic, lo import { create as createHtmlService } from 'volar-service-html'; import { create as createTypeScriptServices } from 'volar-service-typescript'; import { URI } from 'vscode-uri'; -import { doodlLanguagePlugin, DoodlVirtualCode } from './languagePlugin'; +import { tempblotLanguagePlugin, TempblotVirtualCode } from './languagePlugin'; const connection = createConnection(); const server = createServer(connection); @@ -13,7 +13,7 @@ connection.onInitialize(params => { const tsdk = loadTsdkByPath(params.initializationOptions.typescript.tsdk, params.locale); return server.initialize( params, - createTypeScriptProject(tsdk.typescript, tsdk.diagnosticMessages, () => ({languagePlugins: [doodlLanguagePlugin]})), + createTypeScriptProject(tsdk.typescript, tsdk.diagnosticMessages, () => ({languagePlugins: [tempblotLanguagePlugin]})), [ createHtmlService(), ...createTypeScriptServices(tsdk.typescript), @@ -30,7 +30,7 @@ connection.onInitialize(params => { return; } const virtualCode = context.language.scripts.get(decoded[0])?.generated?.embeddedCodes.get(decoded[1]); - if (!(virtualCode instanceof DoodlVirtualCode)) { + if (!(virtualCode instanceof TempblotVirtualCode)) { return; } const setupNodes = virtualCode.htmlDocument.roots.filter(root => root.tag === 'setup'); @@ -49,7 +49,7 @@ connection.onInitialize(params => { start: document.positionAt(0), end: document.positionAt(1), }, - source: 'doodl', + source: 'tempblot', message: 'Missing setup tag.', }); } @@ -61,7 +61,7 @@ connection.onInitialize(params => { start: document.positionAt(0), end: document.positionAt(1), }, - source: 'doodl', + source: 'tempblot', message: 'Missing output tag.', }); } @@ -73,7 +73,7 @@ connection.onInitialize(params => { start: document.positionAt(setupNodes[i].start), end: document.positionAt(setupNodes[i].end), }, - source: 'doodl', + source: 'tempblot', message: 'Only one setup tag is allowed.', }); } @@ -85,7 +85,7 @@ connection.onInitialize(params => { start: document.positionAt(outputNodes[i].start), end: document.positionAt(outputNodes[i].end), }, - source: 'doodl', + source: 'tempblot', message: 'Only one output tag is allowed.', }); } diff --git a/packages/language-server/src/languagePlugin.ts b/packages/language-server/src/languagePlugin.ts index d9e8e6f..7076009 100644 --- a/packages/language-server/src/languagePlugin.ts +++ b/packages/language-server/src/languagePlugin.ts @@ -4,19 +4,19 @@ import type * as ts from 'typescript'; import * as html from 'vscode-html-languageservice'; import { URI } from 'vscode-uri'; -export const doodlLanguagePlugin = { +export const tempblotLanguagePlugin = { getLanguageId(uri) { - if (uri.path.endsWith('.dood')) { - return 'doodl'; + if (uri.path.endsWith('.blot')) { + return 'tempblot'; } }, createVirtualCode(_uri, languageId, snapshot) { - if (languageId === 'doodl') { - return new DoodlVirtualCode(snapshot); + if (languageId === 'tempblot') { + return new TempblotVirtualCode(snapshot); } }, typescript: { - extraFileExtensions: [{ extension: 'dood', isMixedContent: true, scriptKind: 3 satisfies ts.ScriptKind.TS }], + extraFileExtensions: [{ extension: 'blot', isMixedContent: true, scriptKind: 3 satisfies ts.ScriptKind.TS }], getServiceScript() { return undefined; }, @@ -39,9 +39,9 @@ export const doodlLanguagePlugin = { const htmlLs = html.getLanguageService(); -export class DoodlVirtualCode implements VirtualCode { +export class TempblotVirtualCode implements VirtualCode { id = 'root'; - languageId = 'doodl'; + languageId = 'tempblot'; mappings: CodeMapping[]; embeddedCodes: VirtualCode[] = []; @@ -63,11 +63,11 @@ export class DoodlVirtualCode implements VirtualCode { }, }]; this.htmlDocument = htmlLs.parseHTMLDocument(html.TextDocument.create('', 'html', 0, snapshot.getText(0, snapshot.getLength()))); - this.embeddedCodes = [...getDoodlEmbeddedCodes(snapshot, this.htmlDocument)]; + this.embeddedCodes = [...getTempblotEmbeddedCodes(snapshot, this.htmlDocument)]; } } -function* getDoodlEmbeddedCodes(snapshot: ts.IScriptSnapshot, htmlDocument: html.HTMLDocument): Generator { +function* getTempblotEmbeddedCodes(snapshot: ts.IScriptSnapshot, htmlDocument: html.HTMLDocument): Generator { const setups = htmlDocument.roots.filter(root => root.tag === 'setup'); const outputs = htmlDocument.roots.filter(root => root.tag === 'output'); @@ -89,7 +89,7 @@ function* getDoodlEmbeddedCodes(snapshot: ts.IScriptSnapshot, htmlDocument: html const interpolationsData = extractInterpolationsWithPositions(outputText); // Create a combined TypeScript context wrapped in a module - // This ensures each .dood file has its own isolated scope + // This ensures each .blot file has its own isolated scope const base = `export {}; // Make this file a module\n\n` let combinedText = `${base}${setupText}\n\n// Output interpolations:\n`; diff --git a/packages/vscode/images/doodl.svg b/packages/vscode/images/tempblot.svg similarity index 100% rename from packages/vscode/images/doodl.svg rename to packages/vscode/images/tempblot.svg diff --git a/packages/vscode/images/doodl_dark.png b/packages/vscode/images/tempblot_dark.png similarity index 100% rename from packages/vscode/images/doodl_dark.png rename to packages/vscode/images/tempblot_dark.png diff --git a/packages/vscode/images/doodl_light.png b/packages/vscode/images/tempblot_light.png similarity index 100% rename from packages/vscode/images/doodl_light.png rename to packages/vscode/images/tempblot_light.png diff --git a/packages/vscode/package.json b/packages/vscode/package.json index 53c6947..f64dd6a 100644 --- a/packages/vscode/package.json +++ b/packages/vscode/package.json @@ -1,43 +1,43 @@ { "private": true, - "name": "doodl-vscode", + "name": "tempblot-vscode", "version": "0.0.1", "categories": [ "Programming Languages" ], - "displayName": "Doodl Language Features", - "description": "Doodl Language Features", + "displayName": "Tempblot Language Features", + "description": "Tempblot Language Features", "repository": { "type": "git", - "url": "https://github.com/crutchcorn/doodl.git" + "url": "https://github.com/crutchcorn/tempblot.git" }, "engines": { "vscode": "^1.104.0" }, "activationEvents": [ - "onLanguage:doodl" + "onLanguage:tempblot" ], "main": "./dist/client.js", "contributes": { "languages": [ { - "id": "doodl", + "id": "tempblot", "icon": { - "light": "images/doodl_light.png", - "dark": "images/doodl_dark.png" + "light": "images/tempblot_light.png", + "dark": "images/tempblot_dark.png" }, "extensions": [ - ".dood" + ".blot" ] } ], "grammars": [ { - "language": "doodl", - "scopeName": "source.doodl", - "path": "./syntaxes/doodl.tmLanguage.json", + "language": "tempblot", + "scopeName": "source.tempblot", + "path": "./syntaxes/tempblot.tmLanguage.json", "embeddedLanguages": { - "source.doodl": "doodl", + "source.tempblot": "tempblot", "text.html.derivative": "html", "text.html.markdown": "markdown", "source.ts": "typescript", @@ -69,7 +69,7 @@ "@types/vscode": "^1.104.0", "@volar/language-server": "~2.4.23", "@volar/vscode": "~2.4.23", - "doodl-language-server": "workspace:*", + "tempblot-language-server": "workspace:*", "esbuild": "^0.25.10", "vsce": "^2.15.0", "vscode-languageclient": "^9.0.1" diff --git a/packages/vscode/src/extension.ts b/packages/vscode/src/extension.ts index 97c7d8a..d1fc740 100644 --- a/packages/vscode/src/extension.ts +++ b/packages/vscode/src/extension.ts @@ -23,7 +23,7 @@ export async function activate(context: vscode.ExtensionContext) { }, }; const clientOptions: lsp.LanguageClientOptions = { - documentSelector: [{ language: 'doodl' }], + documentSelector: [{ language: 'tempblot' }], initializationOptions: { typescript: { tsdk: (await getTsdk(context))!.tsdk, @@ -31,15 +31,15 @@ export async function activate(context: vscode.ExtensionContext) { }, }; client = new lsp.LanguageClient( - 'doodl-language-server', - 'Doodl Language Server', + 'tempblot-language-server', + 'Tempblot Language Server', serverOptions, clientOptions, ); await client.start(); // support for auto close tag - activateAutoInsertion('doodl', client); + activateAutoInsertion('tempblot', client); // support for https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volarjs-labs // ref: https://twitter.com/johnsoncodehk/status/1656126976774791168 diff --git a/packages/vscode/syntaxes/doodl.tmLanguage.json b/packages/vscode/syntaxes/tempblot.tmLanguage.json similarity index 77% rename from packages/vscode/syntaxes/doodl.tmLanguage.json rename to packages/vscode/syntaxes/tempblot.tmLanguage.json index 8294b08..5f4c776 100644 --- a/packages/vscode/syntaxes/doodl.tmLanguage.json +++ b/packages/vscode/syntaxes/tempblot.tmLanguage.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json", - "name": "Doodl", - "scopeName": "source.doodl", + "name": "Tempblot", + "scopeName": "source.tempblot", "patterns": [ { "include": "text.html.basic#comment" @@ -16,13 +16,13 @@ "begin": "(<)", "beginCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" } }, "end": "(>)", "endCaptures": { "1": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "patterns": [ @@ -30,16 +30,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)md\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -62,16 +62,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)html\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -94,16 +94,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)pug\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -126,16 +126,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)stylus\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -158,16 +158,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)postcss\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -190,16 +190,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)sass\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -222,16 +222,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)css\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -254,16 +254,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)scss\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -286,16 +286,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)less\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -318,16 +318,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)js\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -350,16 +350,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)ts\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -382,16 +382,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsx\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -414,16 +414,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)tsx\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -446,16 +446,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -478,16 +478,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)jsonc\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -510,16 +510,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)json5\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -542,16 +542,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)yaml\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -574,16 +574,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)toml\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -606,16 +606,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)(gql|graphql)\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -638,16 +638,16 @@ "begin": "([a-zA-Z0-9:-]+)\\b(?=[^>]*\\blang\\s*=\\s*(['\"]?)(coffee)\\b\\2)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -702,16 +702,16 @@ "begin": "(output)\\b", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -734,16 +734,16 @@ "begin": "(setup)\\b", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -766,16 +766,16 @@ "begin": "(style)\\b", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -798,16 +798,16 @@ "begin": "([a-zA-Z0-9:-]+)", "beginCaptures": { "1": { - "name": "entity.name.tag.$1.html.doodl" + "name": "entity.name.tag.$1.html.tempblot" } }, "end": "()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "patterns": [ @@ -834,16 +834,16 @@ "begin": "(<<)\\s*", "beginCaptures": { "1": { - "name": "punctuation.definition.interpolation.begin.doodl" + "name": "punctuation.definition.interpolation.begin.tempblot" } }, "end": "\\s*(>>)", "endCaptures": { "1": { - "name": "punctuation.definition.interpolation.end.doodl" + "name": "punctuation.definition.interpolation.end.tempblot" } }, - "name": "meta.interpolation.doodl", + "name": "meta.interpolation.tempblot", "patterns": [ { "include": "source.ts" @@ -854,16 +854,16 @@ "begin": "(<)([a-zA-Z0-9:-]+)(?=([^>]+/>))", "beginCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" } }, "end": "(/>)", "endCaptures": { "1": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "name": "self-closing-tag", @@ -887,19 +887,19 @@ "begin": "(<)(output)\\b(>)", "beginCaptures": { "1": { - "name": "punctuation.definition.tag.begin.html.doodl" + "name": "punctuation.definition.tag.begin.html.tempblot" }, "2": { - "name": "entity.name.tag.$2.html.doodl" + "name": "entity.name.tag.$2.html.tempblot" }, "3": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "end": "(/?>)", "endCaptures": { "1": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "name": "meta.output-tag.start", @@ -909,10 +909,10 @@ "end": "(?=/>)|(()", "endCaptures": { "1": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "name": "meta.output-tag.start", @@ -947,10 +947,10 @@ "end": "(?=/>)|(()|(>)", "endCaptures": { "1": { - "name": "punctuation.definition.tag.end.html.doodl" + "name": "punctuation.definition.tag.end.html.tempblot" } }, "name": "meta.tag-stuff", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9935ff..6169c1d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -86,7 +86,7 @@ importers: '@volar/vscode': specifier: ~2.4.23 version: 2.4.23 - doodl-language-server: + tempblot-language-server: specifier: workspace:* version: link:../language-server esbuild: diff --git a/sample/array.json.dood b/sample/array.json.blot similarity index 100% rename from sample/array.json.dood rename to sample/array.json.blot diff --git a/sample/import.json.dood b/sample/import.json.blot similarity index 100% rename from sample/import.json.dood rename to sample/import.json.blot diff --git a/sample/test.json.dood b/sample/test.json.blot similarity index 100% rename from sample/test.json.dood rename to sample/test.json.blot diff --git a/sample/top-await.json.dood b/sample/top-await.json.blot similarity index 100% rename from sample/top-await.json.dood rename to sample/top-await.json.blot