## 使用方法

### 网络版

根目录下运行：`木兰 编辑器/运行.ul` 启动服务后，浏览器访问 http://localhost:8888/

### tk 版本（不再维护）

根目录下运行：`python -m 木兰 编辑器/中.ul 【木兰源代码路径】`

# 功能

## 高亮

对以下几种代码元素进行不同颜色的高亮：

- 关键词【分类方法待明确】
  - func, type, true", false, self, ->
  - 其他
- 字符串：包括单双引号
- 数：整数
- 注释：包括//开头和以/* */起止的
- 内置函数：如"map", "print"
- 内置类型：如"str", "list"

颜色参考 VSC 风格"Light+ (default light)", "Dark+ (default dark)"等

待解决:
- 修改后自动更新高亮
- 当词的开头有\n时, 会误判为注释, [比如](编辑器/示例/注释误判.ul)。判断注释时需加入正则表达式（与词法表达式的 ignore 一致）

## 格式化

输入“格式化”并回车

待解决:
- 重构
- 如果行内无内容(仅有空格), 则删去行内所有空格

## 保存

输入“保存”并回车

## 格式化并保存

执行两步. 由于现在最常用, 作为默认

## 待定

- 集成命令行交互环境，先在 /repl 下，之后考虑集成
- 默认 tab 为 2 空格
- 打开文件
- 自动保存(运行前, 定时)
- 运行
- 高亮出错行: 缘起是, 控制台中的报错信息"见第60行：if 胜负已分(哪方) {", 60 看成了 68
- 请求相关
  - 提供补全
    - 根据历史输入记录, 即使没有输入字符, 也可有默认(比如在保存完成后, 默认的下一步为"运行")

# 开发相关

## 测试
```
python -m 木兰 编辑器/测试/代码分析.ul
```
