From df41796245c84dde2807c26b0ac9de084f061e62 Mon Sep 17 00:00:00 2001 From: Zef Hemel Date: Fri, 7 Oct 2022 10:42:54 +0200 Subject: [PATCH] Could this be working!? --- dep_common.ts | 39 ++++++----- import_map.json | 3 +- packages/esbuild_deno_loader | 1 + packages/web/editor.tsx | 127 ++++++++++++++++++----------------- packages/web/line_wrapper.ts | 4 +- packages/web/smart_quotes.ts | 2 +- packages/web/style.ts | 2 +- 7 files changed, 92 insertions(+), 86 deletions(-) create mode 160000 packages/esbuild_deno_loader diff --git a/dep_common.ts b/dep_common.ts index 2fd822c9..b9c2e61c 100644 --- a/dep_common.ts +++ b/dep_common.ts @@ -18,21 +18,6 @@ export { encode as b64encode, } from "https://deno.land/std@0.158.0/encoding/base64.ts"; -export { - defaultHighlightStyle, - defineLanguageFacet, - foldNodeProp, - HighlightStyle, - indentNodeProp, - Language, - languageDataProp, - LanguageDescription, - LanguageSupport, - ParseContext, - syntaxHighlighting, - syntaxTree, -} from "@codemirror/language"; -export { markdown } from "https://esm.sh/@codemirror/lang-markdown@6.0.1?external=@codemirror/state"; export { history, historyKeymap, @@ -49,7 +34,7 @@ export { Tag, tagHighlighter, tags, -} from "https://esm.sh/@lezer/highlight"; +} from "https://esm.sh/@lezer/highlight@1.1.1"; export type { BlockContext, @@ -57,7 +42,7 @@ export type { LeafBlockParser, MarkdownConfig, MarkdownExtension, -} from "https://esm.sh/@lezer/markdown"; +} from "https://esm.sh/@lezer/markdown@1.0.2"; export { Emoji, @@ -69,11 +54,11 @@ export { Superscript, Table, TaskList, -} from "https://esm.sh/@lezer/markdown"; +} from "https://esm.sh/@lezer/markdown@1.0.2"; -export type { SyntaxNode, Tree } from "https://esm.sh/@lezer/common"; +export type { SyntaxNode, Tree } from "https://esm.sh/@lezer/common@1.0.1"; -export { searchKeymap } from "https://esm.sh/@codemirror/search?external=@codemirror/state"; +export { searchKeymap } from "https://esm.sh/@codemirror/search@6.2.1?external=@codemirror/state"; export { Decoration, drawSelection, @@ -100,3 +85,17 @@ export { Transaction, } from "@codemirror/state"; export type { ChangeSpec, StateCommand } from "@codemirror/state"; +export { + defineLanguageFacet, + foldNodeProp, + HighlightStyle, + indentNodeProp, + // bla + Language, + languageDataProp, + LanguageDescription, + LanguageSupport, + ParseContext, + syntaxHighlighting, + syntaxTree, +} from "https://esm.sh/@codemirror/language@6.2.1?external=@codemirror/state"; diff --git a/import_map.json b/import_map.json index 8281617f..520ac6cc 100644 --- a/import_map.json +++ b/import_map.json @@ -1,7 +1,6 @@ { "imports": { - "@codemirror/state": "https://esm.sh/@codemirror/state", - "@codemirror/language": "https://esm.sh/@codemirror/language", + "@codemirror/state": "https://esm.sh/@codemirror/state@6.1.2", "@lezer/lr": "https://esm.sh/@lezer/lr@1.2.3", "yaml": "https://deno.land/std@0.158.0/encoding/yaml.ts", "$sb/": "./packages/", diff --git a/packages/esbuild_deno_loader b/packages/esbuild_deno_loader new file mode 160000 index 00000000..70c34bb6 --- /dev/null +++ b/packages/esbuild_deno_loader @@ -0,0 +1 @@ +Subproject commit 70c34bb6d77b2dd05255f0e4a813bb62239d62d1 diff --git a/packages/web/editor.tsx b/packages/web/editor.tsx index 377b497a..ee9abe7d 100644 --- a/packages/web/editor.tsx +++ b/packages/web/editor.tsx @@ -1,60 +1,67 @@ -import { autocompletion, completionKeymap, CompletionResult } from "../../dep_web.ts"; -import { closeBrackets, closeBracketsKeymap } from "../../dep_web.ts"; -import { indentWithTab, standardKeymap } from "../../dep_web.ts"; -import { history, historyKeymap } from "../../dep_web.ts"; -import { syntaxHighlighting } from "../../dep_web.ts"; -import { searchKeymap } from "../../dep_web.ts"; -import { EditorSelection, EditorState } from "../../dep_web.ts"; +import ReactDOM from "https://esm.sh/react-dom@17"; +import React, { useEffect, useReducer } from "https://esm.sh/react@17"; + import { + autocompletion, + closeBrackets, + closeBracketsKeymap, + completionKeymap, + CompletionResult, drawSelection, dropCursor, + EditorSelection, + EditorState, EditorView, highlightSpecialChars, + history, + historyKeymap, + indentWithTab, KeyBinding, keymap, runScopeHandlers, + searchKeymap, + standardKeymap, + syntaxHighlighting, + syntaxTree, ViewPlugin, ViewUpdate, -} from "../../dep_web.ts"; -import React, { useEffect, useReducer } from "https://esm.sh/react@17"; -import ReactDOM from "https://esm.sh/react-dom@17"; +} from "../../dep_common.ts"; +import { SilverBulletHooks } from "../common/manifest.ts"; +import { markdown } from "../common/markdown/index.ts"; +import { loadMarkdownExtensions, MDExt } from "../common/markdown_ext.ts"; +import buildMarkdown from "../common/parser.ts"; +import { Space } from "../common/spaces/space.ts"; +import { markdownSyscalls } from "../common/syscalls/markdown.ts"; +import { FilterOption, PageMeta } from "../common/types.ts"; +import { safeRun, throttle } from "../common/util.ts"; import { createSandbox as createIFrameSandbox } from "../plugos/environments/webworker_sandbox.ts"; +import { EventHook } from "../plugos/hooks/event.ts"; +import { eventSyscalls } from "../plugos/syscalls/event.ts"; +import sandboxSyscalls from "../plugos/syscalls/sandbox.ts"; +import { System } from "../plugos/system.ts"; import { AppEvent, ClickEvent } from "./app_event.ts"; import { CommandPalette } from "./components/command_palette.tsx"; +import { FilterList } from "./components/filter.tsx"; import { PageNavigator } from "./components/page_navigator.tsx"; -import { TopBar } from "./components/top_bar.tsx"; -import { lineWrapper } from "./line_wrapper.ts"; -import { markdown } from "../common/markdown/index.ts"; -import { PathPageNavigator } from "./navigator.ts"; -import buildMarkdown from "../common/parser.ts"; -import reducer from "./reducer.ts"; -import { smartQuoteKeymap } from "./smart_quotes.ts"; -import { Space } from "../common/spaces/space.ts"; -import customMarkdownStyle from "./style.ts"; -import { editorSyscalls } from "./syscalls/editor.ts"; -import { indexerSyscalls } from "./syscalls/index.ts"; -import { spaceSyscalls } from "./syscalls/space.ts"; -import { Action, AppViewState, initialViewState } from "./types.ts"; -import { SilverBulletHooks } from "../common/manifest.ts"; -import { safeRun, throttle } from "../common/util.ts"; -import { System } from "../plugos/system.ts"; -import { EventHook } from "../plugos/hooks/event.ts"; -import { systemSyscalls } from "./syscalls/system.ts"; import { Panel } from "./components/panel.tsx"; +import { TopBar } from "./components/top_bar.tsx"; +import { attachmentExtension, pasteLinkExtension } from "./editor_paste.ts"; import { CommandHook } from "./hooks/command.ts"; import { SlashCommandHook } from "./hooks/slash_command.ts"; -import { attachmentExtension, pasteLinkExtension } from "./editor_paste.ts"; -import { markdownSyscalls } from "../common/syscalls/markdown.ts"; -import { clientStoreSyscalls } from "./syscalls/clientStore.ts"; -import { loadMarkdownExtensions, MDExt } from "../common/markdown_ext.ts"; -import { FilterList } from "./components/filter.tsx"; -import { FilterOption, PageMeta } from "../common/types.ts"; -import { syntaxTree } from "../../dep_web.ts"; -import sandboxSyscalls from "../plugos/syscalls/sandbox.ts"; -import { eventSyscalls } from "../plugos/syscalls/event.ts"; -import { storeSyscalls } from "./syscalls/store.ts"; import { inlineImagesPlugin } from "./inline_image.ts"; +import { lineWrapper } from "./line_wrapper.ts"; +import { PathPageNavigator } from "./navigator.ts"; +import reducer from "./reducer.ts"; +import { smartQuoteKeymap } from "./smart_quotes.ts"; +import customMarkdownStyle from "./style.ts"; +import { clientStoreSyscalls } from "./syscalls/clientStore.ts"; +import { editorSyscalls } from "./syscalls/editor.ts"; import { fulltextSyscalls } from "./syscalls/fulltext.ts"; +import { indexerSyscalls } from "./syscalls/index.ts"; +import { spaceSyscalls } from "./syscalls/space.ts"; +import { storeSyscalls } from "./syscalls/store.ts"; +import { systemSyscalls } from "./syscalls/system.ts"; +import { Action, AppViewState, initialViewState } from "./types.ts"; class PageState { constructor( @@ -69,28 +76,28 @@ const saveInterval = 1000; // properly, no idea why // TODO: Remove at some point -EditorState.prototype.languageDataAt = function ( - name: string, - pos: number, - side = -1, -) { - let values = []; - // console.log("Getting language data"); - // @ts-ignore - for (let provider of this.facet(EditorState.languageData)) { - let providerResult = provider(this, pos, side); - if (!providerResult) { - // console.log("Empty provider result"); - continue; - } - for (let result of providerResult) { - if (Object.prototype.hasOwnProperty.call(result, name)) { - values.push(result[name]); - } - } - } - return values; -}; +// EditorState.prototype.languageDataAt = function ( +// name: string, +// pos: number, +// side = -1, +// ) { +// let values = []; +// // console.log("Getting language data"); +// // @ts-ignore +// for (let provider of this.facet(EditorState.languageData)) { +// let providerResult = provider(this, pos, side); +// if (!providerResult) { +// // console.log("Empty provider result"); +// continue; +// } +// for (let result of providerResult) { +// if (Object.prototype.hasOwnProperty.call(result, name)) { +// values.push(result[name]); +// } +// } +// } +// return values; +// }; export class Editor { readonly commandHook: CommandHook; diff --git a/packages/web/line_wrapper.ts b/packages/web/line_wrapper.ts index e483d979..bfa368f3 100644 --- a/packages/web/line_wrapper.ts +++ b/packages/web/line_wrapper.ts @@ -1,11 +1,11 @@ -import { syntaxTree } from "../../dep_web.ts"; +import { syntaxTree } from "../../dep_common.ts"; import { Decoration, DecorationSet, EditorView, ViewPlugin, ViewUpdate, -} from "../../dep_web.ts"; +} from "../../dep_common.ts"; import { Range } from "../../dep_web.ts"; diff --git a/packages/web/smart_quotes.ts b/packages/web/smart_quotes.ts index 0d6468c4..fdac26a5 100644 --- a/packages/web/smart_quotes.ts +++ b/packages/web/smart_quotes.ts @@ -1,5 +1,5 @@ import { KeyBinding } from "../../dep_web.ts"; -import { syntaxTree } from "../../dep_web.ts"; +import { syntaxTree } from "../../dep_common.ts"; const straightQuoteContexts = ["CommentBlock", "FencedCode", "InlineCode"]; diff --git a/packages/web/style.ts b/packages/web/style.ts index 7714cdd1..a404dd44 100644 --- a/packages/web/style.ts +++ b/packages/web/style.ts @@ -1,4 +1,4 @@ -import { HighlightStyle } from "../../dep_web.ts"; +import { HighlightStyle } from "../../dep_common.ts"; import { tagHighlighter, tags as t } from "../../dep_web.ts"; import * as ct from "../common/customtags.ts"; import { MDExt } from "../common/markdown_ext.ts";