{
  "name": "language-1c-bsl",
  "displayName": "Language 1C (BSL)",
  "description": "Syntax highlighting for 1C:Enterprise 8.",
  "icon": "images/1c-syntax.png",
  "version": "1.28.0",
  "publisher": "1c-syntax",
  "galleryBanner": {
    "color": "#0000FF",
    "theme": "dark"
  },
  "license": "SEE LICENSE IN LICENSE.md",
  "bugs": {
    "url": "https://github.com/1c-syntax/vsc-language-1c-bsl/issues"
  },
  "homepage": "https://github.com/1c-syntax/vsc-language-1c-bsl/blob/master/README.md",
  "repository": {
    "type": "git",
    "url": "https://github.com/1c-syntax/vsc-language-1c-bsl.git"
  },
  "categories": [
    "Programming Languages"
  ],
  "engines": {
    "vscode": "^1.66.0"
  },
  "main": "./out/src/extension",
  "scripts": {
    "test": "vscode-test",
    "watch": "tsc -watch -p ./",
    "vscode:prepublish": "tsc -p ./",
    "lint": "tslint --project tsconfig.json 'src/**/*.ts' -t verbose",
    "compile": "tsc -watch -p ./",
    "preLaunch": "tsc -p ./",
    "snyk-protect": "snyk-protect",
    "prepare": "npm run snyk-protect"
  },
  "activationEvents": [
    "onLanguage:bsl",
    "onLanguage:sdbl",
    "onCommand:language-1c-bsl.update",
    "onCommand:language-1c-bsl.syntaxHelper",
    "onCommand:language-1c-bsl.quickopen"
  ],
  "contributes": {
    "jsonValidation": [
      {
        "fileMatch": ".bsl-language-server.json",
        "url": "https://1c-syntax.github.io/bsl-language-server/configuration/schema.json"
      }
    ],
    "commands": [
      {
        "command": "language-1c-bsl.update",
        "title": "Update reference cache",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.createComments",
        "title": "Create comment to current method",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.createDescriptionAPIModule",
        "title": "Create a description for the API module",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.createMarkdownTextWithAPI",
        "title": "Create a Markdown text of the module's API",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.dynamicSnippets",
        "title": "Show dynamic snippets list",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.expandAbbreviation",
        "title": "Expand abbrebiation",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.addComment",
        "title": "Add comment",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.beautify",
        "title": "Выровнять блок пробелами",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.syntaxHelper",
        "title": "Show syntax-helper",
        "category": "Language 1C (BSL)",
        "icon": {
          "light": "./images/preview-darkgray.svg",
          "dark": "./images/preview-lightgray.svg"
        }
      },
      {
        "command": "language-1c-bsl.quickopen",
        "title": "QuickOpen",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.openContent",
        "title": "OpenContent",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.languageServer.restart",
        "title": "Restart the BSL Language Server",
        "category": "Language 1C (BSL)"
      },
      {
        "command": "language-1c-bsl.languageServer.runTest",
        "title": "Run test",
        "category": "Language 1C (BSL)",
        "enablement": "false"
      },
      {
        "command": "language-1c-bsl.languageServer.runAllTests",
        "title": "Run test",
        "category": "Language 1C (BSL)",
        "enablement": "false"
      }
    ],
    "menus": {
      "editor/title": [
        {
          "when": "resourceLangId == bsl",
          "command": "language-1c-bsl.syntaxHelper",
          "group": "navigation"
        }
      ],
      "editor/context": [
        {
          "when": "resourceLangId == bsl && editorHasSelection",
          "command": "language-1c-bsl.beautify"
        }
      ],
      "commandPalette": [
        {
          "command": "language-1c-bsl.addComment",
          "when": "false"
        },
        {
          "command": "language-1c-bsl.openContent",
          "when": "false"
        }
      ]
    },
    "configuration": {
      "title": "Language 1C (BSL) configuration",
      "properties": {
        "language-1c-bsl.enableOneScriptLinter": {
          "description": "Lint files through `OneScript -check` command",
          "type": "boolean",
          "default": true
        },
        "language-1c-bsl.onescriptPath": {
          "description": "Full path to oscript binary. Fill this only if oscript is not in your $PATH",
          "type": "string"
        },
        "language-1c-bsl.lintOtherExtensions": {
          "description": "List of extensions (except `os`) to lint via OneScriptLint. (format - 'bsl,txt')",
          "type": "string",
          "default": ""
        },
        "language-1c-bsl.linterEntryPoint": {
          "description": "Entry point for OneScriptLinter. Relative path from project root folder",
          "type": "string"
        },
        "language-1c-bsl.languageAutocomplete": {
          "description": "Autocomplete language (en/ru)",
          "type": "string",
          "default": "ru"
        },
        "language-1c-bsl.dynamicSnippets": {
          "description": "Paths to dynamic snippets' files",
          "type": "array",
          "default": []
        },
        "language-1c-bsl.rootPath": {
          "description": "Путь по умолчанию к корню файла конфигурации (./src/cf) относительно каталога workspace для правильного autocomplete",
          "type": "string"
        },
        "language-1c-bsl.autoDetect": {
          "type": "string",
          "enum": [
            "off",
            "on"
          ],
          "default": "on",
          "description": "Controls whether auto detection of opm scripts is on or off. Default is on."
        },
        "language-1c-bsl.languageServerEnabled": {
          "description": "BSL Language Server enabled",
          "type": "boolean",
          "default": true
        },
        "language-1c-bsl.languageServerBaseInstallDir": {
          "description": "BSL Language Server base install dir.",
          "type": "string",
          "default": ""
        },
        "language-1c-bsl.languageServerConfiguration": {
          "description": "Path to BSL Language Server configuration file. Relative to workspace folder.",
          "type": "string",
          "default": ".bsl-language-server.json"
        },
        "bsl.trace.server": {
          "type": "string",
          "scope": "window",
          "enum": [
            "off",
            "messages",
            "verbose"
          ],
          "enumDescriptions": [
            "No traces",
            "Error only",
            "Full log"
          ],
          "default": "off",
          "description": "Trace requests to the BSL Language Server"
        },
        "language-1c-bsl.downloadLanguageServer": {
          "description": "Download the BSL Language Server from GitHub",
          "type": "boolean",
          "default": true
        },
        "language-1c-bsl.githubToken": {
          "description": "GitHub OAuth token. Fill property if you get an `API rate limit exceeded` error with BSL LS downloading. Get new token: https://github.com/settings/tokens. No additional scopes are required. Can be obtained from enviroment variable $LANGUAGE_1C_BSL_GITHUB_TOKEN",
          "type": "string",
          "default": ""
        },
        "language-1c-bsl.languageServerReleaseChannel": {
          "description": "BSL Language server download channel. Use `prerelease` if you want to check latest release candidates",
          "type": "string",
          "enum": [
            "stable",
            "prerelease"
          ],
          "default": "stable"
        },
        "language-1c-bsl.languageServerExternalJar": {
          "description": "Use external bsl-language-server.jar",
          "type": "boolean",
          "default": false
        },
        "language-1c-bsl.languageServerExternalJarPath": {
          "description": "Path to BSL Language Server jar-file. Leave default value to use bundled language server. Relative to vsc-language-1c-bsl folder.",
          "type": "string",
          "default": ""
        },
        "language-1c-bsl.languageServerExternalJarJavaPath": {
          "description": "Path to Java runtime binary. Leave default value to use java from PATH.",
          "type": "string",
          "default": "java"
        },
        "language-1c-bsl.languageServerExternalJarJavaOpts": {
          "description": "Additional java options.",
          "type": "array",
          "default": [
            "-Xmx2g"
          ]
        }
      }
    },
    "keybindings": [
      {
        "command": "language-1c-bsl.syntaxHelper",
        "key": "ctrl+f1",
        "mac": "cmd+f1",
        "when": "editorTextFocus && editorLangId == 'bsl'"
      },
      {
        "command": "language-1c-bsl.dynamicSnippets",
        "key": "ctrl+q",
        "mac": "cmd+q",
        "when": "editorTextFocus && editorLangId == 'bsl'"
      },
      {
        "command": "language-1c-bsl.expandAbbreviation",
        "when": "editorTextFocus && editorLangId == 'bsl'"
      },
      {
        "command": "language-1c-bsl.addComment",
        "key": "shift+enter",
        "mac": "shift+enter",
        "when": "editorTextFocus && editorLangId == 'bsl'"
      }
    ],
    "languages": [
      {
        "id": "bsl",
        "extensions": [
          ".bsl",
          ".os"
        ],
        "aliases": [
          "1C (BSL)",
          "BSL"
        ],
        "configuration": "./language-configuration.json"
      },
      {
        "id": "sdbl",
        "extensions": [
          ".sdbl",
          ".query"
        ],
        "aliases": [
          "1C (Query)",
          "SDBL"
        ]
      }
    ],
    "grammars": [
      {
        "language": "bsl",
        "scopeName": "source.bsl",
        "path": "./syntaxes/1c.tmLanguage.json"
      },
      {
        "language": "sdbl",
        "scopeName": "source.sdbl",
        "path": "./syntaxes/1c-query.tmLanguage.json"
      }
    ],
    "problemMatchers": [
      {
        "name": "OneScript Linter",
        "label": "onescript",
        "owner": "bsl",
        "fileLocation": "absolute",
        "pattern": {
          "regexp": "Модуль\\s+(.*)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^}]*)",
          "file": 1,
          "line": 2,
          "message": 3
        }
      }
    ],
    "snippets": [
      {
        "language": "bsl",
        "path": "./snippets/snippets.json"
      }
    ],
    "taskDefinitions": [
      {
        "type": "bsl",
        "properties": {
          "command": {
            "type": "string",
            "description": ""
          },
          "args": {
            "type": "array",
            "description": ""
          }
        }
      }
    ],
    "configurationDefaults": {
      "[bsl]": {
        "editor.insertSpaces": false,
        "editor.tabSize": 4
      }
    }
  },
  "devDependencies": {
    "@snyk/protect": "^1.896.0",
    "@types/extract-zip": "^1.6.2",
    "@types/fs-extra": "^9.0.13",
    "@types/glob": "^7.2.0",
    "@types/mocha": "^10.0.6",
    "@types/node": "13.5.1",
    "@types/request": "^2.48.8",
    "@types/request-promise-native": "^1.0.18",
    "@types/semver": "^7.3.4",
    "@types/vscode": "^1.66.0",
    "@types/which": "^1.3.2",
    "@vscode/test-cli": "^0.0.10",
    "@vscode/test-electron": "^2.4.1",
    "cross-env": "^7.0.3",
    "decache": "^4.6.1",
    "istanbul": "^0.4.5",
    "mocha": "^10.2.0",
    "remap-istanbul": "^0.13.0",
    "should": "^13.2.3",
    "tslint": "^6.1.3",
    "typescript": "^4.6.3",
    "vsce": "^2.7.0"
  },
  "dependencies": {
    "alignment": "0.0.1",
    "cross-spawn": "^7.0.6",
    "extract-zip": "1.7.0",
    "fast-xml-parser": "4.2.5",
    "filequeue": "^0.5.0",
    "fs-extra": "^10.1.0",
    "glob": "^7.2.3",
    "iconv-lite": "^0.6.3",
    "json-date-parser": "^1.0.1",
    "language-1c-bsl": "file:",
    "lokijs": "^1.5.12",
    "onec-syntaxparser": "0.1.11",
    "request": "^2.88.2",
    "request-progress": "^3.0.0",
    "request-promise-native": "^1.0.9",
    "semver": "^7.5.2",
    "source-map-support": "^0.5.21",
    "vscode-languageclient": "^8.1.0",
    "which": "^2.0.2",
    "xml2js": "^0.6.2"
  },
  "snyk": true
}