1
0
mirror of https://shylinux.com/x/ContextOS synced 2025-04-25 16:58:06 +08:00
2023-07-04 11:04:46 +08:00

46 lines
3.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

title "编辑器"
spark `作为一个功能完备的工具系统,编辑器是必不少的工具。
web.code.vimer 就是 Contexts 自带的编辑器,具有语法高亮、语法模板、语法补全、语法跳转等功能。
web.code.vimer 也是一个编辑器框架,默认已经支持 Contexts 用到的语言 Golang、Javascript、HTML、CSS、sh、shy 等,
如需其它语言,直接添加语法模块即可。`
spark `Contexts 中所有的工具,都可以被当成插件,在编辑器中使用。`
spark `<a>http://localhost:9020/chat/cmd/web.code.vimer</a>`
field web.code.vimer
chapter "目录与文件"
section "目录结构"
spark `在 Contexts 中,当前空间的所有的代码和文档都保存在 ./src/ 目录下,但有时会用户外部依赖库,并且根据当前需要去更改依赖库的代码。
可以使用 web.code.git.repos 命令,来管理这些依赖库。这些依赖库,全部直接保存在 ./usr/ 目录下。
`
section "工具参数"
spark `web.code.vimer 最核心的功能,当然是展示目录结构与文件内容。
所以定义了三个参数 path、file、file。这样 vimer 在使用的地方,就可以通过这三个参数进行控制。
vimer 也会根据场景有不同的界面。如在命令网页中vimer 会占据整个网页显示完整的功能。在架构图的工具中使用时,则只展示文件内容。`
section "目录列表"
spark `在左边导航区,显示目录列表,是由参数 path 指定的目录,加上代码仓库管理工具 web.code.git.repos 返回的代码仓库列表中的目录。
vimer 也实现了延时加载,默认只加载项目列表与当前目录下的文件列表,只有点击打开了目录,才会请求此目录下的文件列表。`
chapter "语法与插件"
spark `vimer 在加载文件内容时,会根据文件的扩展名,自动的加载语法插件。`
chapter "预览与输出"
spark `每种语法的文件,使用方式是不一样的。所以在 vimer 里实现了一种语法引擎的框架,可加载各种语法的模块,并分发各种处理事件。
每种语法模块,都可以定义当前文件的预览界面与输出界面如何显示。`
order `
.shy 的语法模块,就定义了 .shy 的文件预览效果,是生成一个网页来显示文档的效果。
.go 的语法模块,就会根据文件名,查找出它生成的软件工具,在预览界面中展示此工具。
.js 的语法模块,也会根据文件名,查找出它关联的后端模块,并在预览界面中展示此工具。
.html 的语法模块,会直接用文件内容生成一个网页,展示出来。
`
chapter "模块与插件"
spark `Contexts 是一个工具系统,内置了大量的软件工具。这些工具既要完全独立,又要能和其它所有工具更深度的配合。这就是为什么 Contexts 要自研前后端框架的动力。`
spark `Contexts 中的所有前端、后端的各种工具,都可以直接在编辑器中使用。但为了更好的和编辑配合起来,实现更高效的互动,在编辑器的代码添加了很多框架性的功能。
如编译时 vimer 调用编译工具 web.code.compile 执行编译后,有时会生成一些错误提示信息,这时 vimer 就会根据这些信息实现跳转的功能。
`
chapter "分屏与按键"
spark `vim 是一个非常高效且强大的编辑器,所以 Contexts 为了致敬 vim便将自己的编辑器命名为 vimer很多编辑器的操作都是借鉴了 vim 的习惯。`