Simplify spyglass imports

This commit is contained in:
Misode
2024-11-18 17:16:38 +01:00
parent 2366716cae
commit 5db012f101

View File

@@ -1,12 +1,7 @@
import * as core from '@spyglassmc/core' import * as core from '@spyglassmc/core'
import { FormatterContext } from '@spyglassmc/core'
import { BrowserExternals } from '@spyglassmc/core/lib/browser.js' import { BrowserExternals } from '@spyglassmc/core/lib/browser.js'
import { dissectUri } from '@spyglassmc/java-edition/lib/binder/index.js' import * as je from '@spyglassmc/java-edition'
import type { McmetaSummary } from '@spyglassmc/java-edition/lib/dependency/index.js' import { ReleaseVersion } from '@spyglassmc/java-edition/lib/dependency/index.js'
import { Fluids, ReleaseVersion, symbolRegistrar } from '@spyglassmc/java-edition/lib/dependency/index.js'
import * as jeJson from '@spyglassmc/java-edition/lib/json/index.js'
import * as jeMcf from '@spyglassmc/java-edition/lib/mcfunction/index.js'
import type { JsonFileNode, JsonNode, JsonStringNode } from '@spyglassmc/json'
import * as json from '@spyglassmc/json' import * as json from '@spyglassmc/json'
import { localize } from '@spyglassmc/locales' import { localize } from '@spyglassmc/locales'
import * as mcdoc from '@spyglassmc/mcdoc' import * as mcdoc from '@spyglassmc/mcdoc'
@@ -100,7 +95,7 @@ export class SpyglassService {
} }
public dissectUri(uri: string) { public dissectUri(uri: string) {
return dissectUri(uri, this.getCheckerContext(TextDocument.create(uri, 'json', 1, ''))) return je.binder.dissectUri(uri, this.getCheckerContext(TextDocument.create(uri, 'json', 1, '')))
} }
public async openFile(uri: string) { public async openFile(uri: string) {
@@ -165,10 +160,10 @@ export class SpyglassService {
} }
} }
public formatNode(node: JsonNode, uri: string) { public formatNode(node: json.JsonNode, uri: string) {
const formatter = this.service.project.meta.getFormatter(node.type) const formatter = this.service.project.meta.getFormatter(node.type)
const doc = TextDocument.create(uri, 'json', 1, '') const doc = TextDocument.create(uri, 'json', 1, '')
const ctx = FormatterContext.create(this.service.project, { doc, tabSize: 2, insertSpaces: true }) const ctx = core.FormatterContext.create(this.service.project, { doc, tabSize: 2, insertSpaces: true })
return formatter(node, ctx) return formatter(node, ctx)
} }
@@ -336,11 +331,11 @@ const initialize: core.ProjectInitializer = async (ctx) => {
return return
} }
const summary: McmetaSummary = { const summary: je.dependency.McmetaSummary = {
registries: Object.fromEntries((await fetchRegistries(version.id)).entries()), registries: Object.fromEntries((await fetchRegistries(version.id)).entries()),
blocks: Object.fromEntries([...(await fetchBlockStates(version.id)).entries()] blocks: Object.fromEntries([...(await fetchBlockStates(version.id)).entries()]
.map(([id, data]) => [id, data])), .map(([id, data]) => [id, data])),
fluids: Fluids, fluids: je.dependency.Fluids,
commands: { type: 'root', children: {} }, commands: { type: 'root', children: {} },
} }
@@ -348,7 +343,7 @@ const initialize: core.ProjectInitializer = async (ctx) => {
meta.registerSymbolRegistrar('mcmeta-summary', { meta.registerSymbolRegistrar('mcmeta-summary', {
checksum: versionChecksum, checksum: versionChecksum,
registrar: symbolRegistrar(summary), registrar: je.dependency.symbolRegistrar(summary),
}) })
meta.registerSymbolRegistrar('mcdoc-block-states', { meta.registerSymbolRegistrar('mcdoc-block-states', {
@@ -401,15 +396,15 @@ const initialize: core.ProjectInitializer = async (ctx) => {
registerAttributes(meta, release, versions) registerAttributes(meta, release, versions)
json.initialize(ctx) json.initialize(ctx)
jeJson.initialize(ctx) je.json.initialize(ctx)
jeMcf.initialize(ctx, summary.commands, release) je.mcf.initialize(ctx, summary.commands, release)
nbt.initialize(ctx) nbt.initialize(ctx)
// Until spyglass registers these correctly // Until spyglass registers these correctly
meta.registerFormatter<JsonFileNode>('json:file', (node, ctx) => { meta.registerFormatter<json.JsonFileNode>('json:file', (node, ctx) => {
return ctx.meta.getFormatter(node.children[0].type)(node.children[0], ctx) return ctx.meta.getFormatter(node.children[0].type)(node.children[0], ctx)
}) })
meta.registerFormatter<JsonStringNode>('json:string', (node) => { meta.registerFormatter<json.JsonStringNode>('json:string', (node) => {
return JSON.stringify(node.value) return JSON.stringify(node.value)
}) })
meta.registerFormatter<core.ErrorNode>('error', () => { meta.registerFormatter<core.ErrorNode>('error', () => {