Skip to content
On this page

自定义文件系统

1. 导入导出

import 命令可以导入 json 文件系统

export 命令可以导出当前文件系统

通过 mkdir 和 touch 命令修改当前文件系统,然后通过 export 导出

2. 代码中自定义

格式类似下文

json
{
  "name": "/",
  "type": 0,
  "body": [
    {
      "name": "usr",
      "type": 0,
      "body": [
        {
          "name": "bin",
          "type": 0,
          "body": []
        },
        {
          "name": "config",
          "type": 1,
          "body": "{\"user\": \"insorker\",\"version\":\"v1.0.0\",\"hostname\":\"xdsh\",\"wdpathLength\":2}"
        }
      ]
    },
    {
      "name": "xdsh",
      "type": 0,
      "body": [
        {
          "name": "docs",
          "type": 2,
          "body": "https://github.com/xdshell/docs"
        },
        {
          "name": "xdsh",
          "type": 2,
          "body": "https://github.com/xdshell/xdsh"
        }
      ]
    },
    {
      "name": "insorker",
      "type": 0,
      "body": [
        {
          "name": "bilibili",
          "type": 2,
          "body": "https://space.bilibili.com/434618849/"
        },
        {
          "name": "github",
          "type": 2,
          "body": "https://github.com/xdshell"
        }
      ]
    }
  ]
}

导入代码

ts
import { Terminal } from './src/js/components/terminal'
import img from './img.json'

let content = <HTMLDivElement>document.getElementsByClassName('content')[0]
let { terminal, xdsh } = Terminal.newTerminal(img)

xdsh.registerCmd({
  name: 'test',
  manual: 'test',
  exec: (args: string[]): boolean => {
    xdsh.cli.history.append('test')
    return true
  }
})

xdsh.registerHotkey('m', (event)=>{
  event.preventDefault()

  xdsh.cli.history.append('ctrl+m')
}, true)

content.appendChild(terminal)

更多详见源码