/dialogue

Primary LanguageTypeScript

Dialogue

(几乎)纯文本的编辑器

使用

编辑器提供一系列的多行文本框(称为行),你可以在行中编写任意的事件。基本的,行分为 对话, 指令, 脚本 三种

对话

一般的,你键入的任何内容都是对话

aaaaa

如果首行以 # 开头,这行会被认为是对话的属性,我们将在之后介绍对话的所有属性

# 伯伯
aaaaaa

指令

你可以用 @ + 指令名来调取一个指令,指令是诸如移动等操作

@结束事件

你可以给指令附加参数

@等待 500

特别的,在某些情况下,你会需要指定具名参数

@移动 -t 500

指令也可以包含一个指令体,每个指令的第二行开始就被认为是指令体

@移动 -t 500
    向上移动

脚本

$: 开头的语句会被认为是脚本

$: let i = 0;

设计

基本概念

Line 行,编辑器以行为单位进行编辑,一个行内可以是多行文本,子行,以及它们的组合。

Model 文档模型,存放所有文档数据的地方,也负责实现实际的编辑操作。

"@lezer/generator": "^0.15.4",
"mocha": "^9.0.1",
"rollup": "^2.60.2",
"rollup-plugin-dts": "^4.0.1",
"rollup-plugin-ts": "^2.0.4",
"typescript": "^4.3.4"