28 lines
666 B
Svelte
28 lines
666 B
Svelte
|
<script lang="ts">
|
||
|
import type { Ace } from "ace-builds";
|
||
|
import ace from "ace-builds/src-noconflict/ace?client";
|
||
|
import * as aceGithubTheme from "ace-builds/src-noconflict/theme-github?client";
|
||
|
|
||
|
import { onMount } from "svelte";
|
||
|
|
||
|
export let editSession: Ace.EditSession;
|
||
|
|
||
|
let editorDiv: HTMLDivElement | undefined;
|
||
|
let editor: Ace.Editor | undefined;
|
||
|
|
||
|
onMount(async () => {
|
||
|
let renderer = new ace.VirtualRenderer(editorDiv);
|
||
|
editor = new ace.Editor(renderer, editSession);
|
||
|
editor.setTheme(aceGithubTheme);
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<div bind:this={editorDiv} class="editor" />
|
||
|
|
||
|
<style>
|
||
|
.editor {
|
||
|
width: 100%;
|
||
|
height: 100%;
|
||
|
}
|
||
|
</style>
|