{
    "name": "unicloud",
    "displayName":"uniCloud",
    "description": "uniCloud支持",
    "version": "0.0.0",
    "publisher": "tangxiaobo",
    "categories": [
        "Native"
    ],
    "activationEvents": [
        "*"
    ],
    "contributes": {
        "launchers":[
            {
                "type":"JQLQuery",
                "label":"执行JQL查询语句",
                "terminateLabel":"终止JQL查询",
                "when":"isJQL"
            }
        ],
        "keybindings":[
            {
                "command":"unicloud.JQLRunOrStop",
                "key":"f5",
                "when":"isJQL"
            }
        ],
        "commandInterceptors": [          
          {
            "id": "interceptor.checkPluginExists",
            "patterns": [
              "unicloud.DBUpload",
              "unicloud.DBDownload"
            ],
            "args": {
              "pluginId": "unicloud",
              "pluginName": "unicloud"
            }
          }
        ],
        "expressions":{
            "isUnicloud":"(workspaceFolderRelativePath =~ /^uniCloud\\-(tcb|aliyun|alipay|dcloud)/)",
            "isUnimodule":"(workspaceFolderRelativePath =~ /^(uni_modules|src\\/uni_modules)$/)",
            "isUnimoduleUniCloud":"(workspaceFolderRelativePath =~ /^(uni_modules|src\\/uni_modules)(\\/.*\\/uniCloud)/)",
            "enableNewPage":"explorerResourceIsFolder && selcount == 1 && workspaceFolder.type == 'UniApp_Vue' && !expression.isUnicloud && !expression.isUnimodule && !expression.isUnimoduleUniCloud"
        },
        "commands": [
        {"title":"删除 action(&L)","command":"unicloud.ClientDBActionDeleteFiles"}        
        ,{"title":"上传DB Schema(&B)","command":"unicloud.DBSchemaUpload"}
        ,{"title":"新建DB Schema(&S)","command":"unicloud.newDBSchemaJson"}
        ,{"title":"新建数据库JQL文件(&Q)","command":"unicloud.newJQLFile"}
        ,{"title":"下载DB Schema(&M)","command":"unicloud.DBSchemaDownload"}
        ,{"title":"创建 cloudfunctions 目录(&T)","command":"unicloud.newFuncsFolder"}
        ,{"title":"创建 database 目录(&H)","command":"unicloud.newDBFolder"}
        ,{"title":"创建 db_init.json(&O)","command":"unicloud.newDBInitJson"}
        ,{"title":"创建 cloudfunctions_init.json(&N)","command":"unicloud.newFuncsInitJson"}
        ,{"title":"创建数据库扩展校验函数目录(&V)","command":"unicloud.newValidationFolder"}
        ,{"title":"下载所有DB Schema（含扩展）(&A)","command":"unicloud.DBDownload"}
        ,{"title":"上传所有DB Schema（含扩展）(&E)","command":"unicloud.DBUpload"}
        ,{"title":"创建 common 目录(&R)","command":"unicloud.createCommon"}
        ,{"title":"新建页面(&P)","command":"newPage"}
        ,{"title":"运行","command":"unicloud.JQLRunOrStop"}
        ,{"title":"执行JQL查询语句","command":"unicloud.localRunRelease"}
        ,{"title":"uniCloud cli教程...","command":"uniCloudCli"}
        ],
        "menus": {
            "explorer/context": [
            {"command": "unicloud.newFuncsFolder", "group": "new","when":"selcount == 1 && unicloud.canShownewFuncsFolder"},
            {"command": "unicloud.newDBFolder", "group": "new","when":"selcount == 1 && unicloud.canShownewDBFolder"},            
            {"command": "unicloud.newJQLFile", "group": "new","when":"selcount == 1 && workspaceFolderRelativePath =~ /(uniCloud-(tcb|aliyun)\\/database)$/"},
            {"id":"newDBInit", "command": "unicloud.newDBInitJson", "group": "new","when":"selcount == 1 && unicloud.canShownewDBInitJson"},
            {"command": "-unicloud.newFuncsInitJson", "group": "new","when":"selcount == 1 && unicloud.canShownewFuncsInitJson"},
            {"command": "unicloud.newValidationFolder", "group": "new","when":"selcount == 1 && unicloud.canShownewValidationFolder"},
            {"command": "unicloud.createCommon", "group": "new","when":"selcount == 1 && unicloud.canShowcreateCommon"},
            {"command": "newPage", "group": "new", "when":"expression.enableNewPage"},
            {"command": "uniCloudCli", "group": "new", "when":"selcount == 1 && workspaceFolder.type == 'UniApp_Vue' && (workspaceFolderRelativePath =~ /^uniCloud\\-(tcb|aliyun)$/)"},
            {"group":"new"}
            ],
            "editor/context":[
                {"command": "unicloud.JQLRunOrStop", "title":"执行JQL查询语句(&N)", "group":"copy", "when":"isJQL && !isJQLRuning"},
                {"command": "unicloud.JQLRunOrStop", "title":"终止JQL查询(&O)", "group":"copy", "when":"isJQL && isJQLRuning"},
                {"group":"copy"}
            ]
        }
    }
}
