{ "name": "vscord", "displayName": "Discord Rich Presence", "version": "4.5.0", "description": "Fully customizable VS Code extension to get Discord Rich Presence integration", "main": "dist/extension.js", "private": true, "icon": "assets/icon.png", "galleryBanner": { "color": "#5865F2", "theme": "dark" }, "scripts": { "lint": "eslint src --ext ts --fix", "format": "prettier --write src/**/*.ts", "update": "yarn upgrade-interactive --latest", "prebuild": "yarn clean && yarn format && yarn lint", "build": "webpack --mode production", "watch": "webpack --watch --mode development", "clean": "rimraf dist", "vscode:prepublish": "yarn build", "commit": "git-cz", "cz": "git-cz", "prepare": "husky install .github/husky" }, "activationEvents": [ "onStartupFinished" ], "extensionKind": [ "ui", "workspace" ], "repository": { "type": "git", "url": "https://github.com/LeonardSSH/vscord.git" }, "author": "LeonardSSH (https://leonard.sh)", "license": "MIT", "publisher": "LeonardSSH", "bugs": { "url": "https://github.com/LeonardSSH/vscord/issues" }, "homepage": "https://github.com/LeonardSSH/vscord#readme", "dependencies": { "bufferutil": "^4.0.3", "discord-rpc": "^4.0.1", "electron": "^17.0.0", "git-url-parse": "^11.5.0", "utf-8-validate": "^5.0.5" }, "optionalDependencies": { "register-scheme": "devsnek/node-register-scheme" }, "devDependencies": { "@commitlint/cli": "^16.2.1", "@commitlint/config-conventional": "^16.2.1", "@types/discord-rpc": "^4.0.0", "@types/git-url-parse": "^9.0.1", "@types/node": "^17.0.17", "@types/vscode": "^1.59.0", "@typescript-eslint/eslint-plugin": "^5.11.0", "@typescript-eslint/parser": "^5.11.0", "clean-webpack-plugin": "^4.0.0", "cz-conventional-changelog": "^3.3.0", "eslint": "^8.9.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^4.0.0", "husky": "^7.0.1", "lint-staged": "^12.3.4", "prettier": "^2.3.2", "pretty-quick": "^3.1.1", "rimraf": "^3.0.2", "terser-webpack-plugin": "^5.3.1", "ts-loader": "^9.2.6", "typescript": "^4.3.5", "webpack": "^5.68.0", "webpack-cli": "^4.9.2" }, "commitlint": { "extends": [ "@commitlint/config-conventional" ] }, "lint-staged": { "*.{mjs,js,ts}": "eslint --fix --ext mjs,js,ts" }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } }, "keywords": [ "discord", "vscode", "rich", "presence", "rich presence", "rpc", "game status" ], "categories": [ "Visualization", "Other" ], "engines": { "vscode": "^1.63.1" }, "contributes": { "commands": [ { "command": "rpc.enable", "title": "Enable Discord Presence in the current workspace", "category": "Discord Rich Presence" }, { "command": "rpc.disable", "title": "Disable Discord Presence in the current workspace", "category": "Discord Rich Presence" }, { "command": "rpc.disconnect", "title": "Disconnect Discord Presence from Discord", "category": "Discord Rich Presence" }, { "command": "rpc.reconnect", "title": "Reconnect Discord Presence to Discord Gateway", "category": "Discord Rich Presence" } ], "configuration": { "title": "Discord Presence Configuration", "type": "Object", "properties": { "rpc.id": { "type": "string", "default": "782685898163617802", "description": "Application ID. Change only if you known exactly what you're doing." }, "rpc.appName": { "type": "string", "enum": [ "Code", "Visual Studio Code" ], "default": "Code", "description": "Choose the name you want the application to use." }, "rpc.enabled": { "type": "boolean", "default": true, "description": "Controls if the Discord Rich Presence should show across all workspaces." }, "rpc.detailsEditing": { "type": "string", "default": "In {workspace} {problems}", "description": "Custom string for the details section of the rich presence\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.detailsIdling": { "type": "string", "default": "Idling", "description": "Custom string for the details section of the rich presence when idling\n\t- {empty} will be replaced with an empty space." }, "rpc.detailsDebugging": { "type": "string", "default": "Debugging {file_name}", "description": "Custom string for the details section of the rich presence when debugging\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.detailsViewing": { "type": "string", "default": "In {workspace} {problems}", "description": "Custom string for the details section of the rich presence when viewing\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.lowerDetailsEditing": { "type": "string", "default": "Working on {file_name}:{current_line}:{current_column}", "description": "Custom string for the state section of the rich presence\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.lowerDetailsIdling": { "type": "string", "default": "Idling", "description": "Custom string for the state section of the rich presence when idling\n\t- {empty} will be replaced with an empty space." }, "rpc.lowerDetailsDebugging": { "type": "string", "default": "Debugging: {workspace}", "description": "Custom string for the state section of the rich presence when debugging\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.lowerDetailsViewing": { "type": "string", "default": "Viewing {file_name}", "description": "Custom string for the state section of the rich presence when viewing\n\t- {empty} will be replaced with an empty space\n\t- {file_name} will be replaced with the current file name\n\t- {dir_name} will get replaced with the folder name that has the current file\n\t- {full_dir_name} will get replaced with the full directory name without the current file name\n\t- {workspace} will be replaced with the current workspace name, if any\n\t- {workspace_folder} will be replaced with the currently accessed workspace folder, if any\n\t- {workspace_and_folder} will be replaced with the currently accessed workspace and workspace folder like this: 'Workspace - workspace_folder'\n\t- {current_column} will get replaced with the current column of the current line\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number\n\t- {git_repo} will be replaced by the current git repository (also detects repos in subdirectories) if any\n\t- {git_branch} will be replaced by the current git branch if in an repository\n\t- {problems} will be replaced with the count of problems (warnings, errors) present in your workspace." }, "rpc.lowerDetailsNoWorkspaceFound": { "type": "string", "default": "No workspace.", "description": "Custom string for the state section of the rich presence when no workspace is found.\n- {empty} will be replaced with an empty space\n\t- {current_line} will get replaced with the current line number\n\t- {total_lines} will get replaced with the total line number." }, "rpc.largeImage": { "type": "string", "default": "Editing a {LANG} file", "description": "Custom string for the largeImageText section of the rich presence\n\t- {lang} will be replaced with the lowercased language ID\n\t- {Lang} will be replaced with the language ID, first letter being uppercase\n\t- {LANG} will be replaced with the uppercased language ID." }, "rpc.largeImageIdling": { "type": "string", "default": "Idling", "description": "Custom string for the largeImageText section of the rich presence when idling." }, "rpc.smallImage": { "type": "string", "default": "{app_name}", "description": "Custom string for the smallImageText section of the rich presence\n\t- {app_name} will get replaced with the current Visual Studio Code version." }, "rpc.removeElapsedTime": { "type": "boolean", "default": false, "description": "Controls if the RPC should display elapsed time for a workspace or a single file." }, "rpc.removeDetails": { "type": "boolean", "default": false, "description": "Controls if the RPC should remove the details" }, "rpc.removeLowerDetails": { "type": "boolean", "default": false, "description": "Controls if the RPC should remove the lower details" }, "rpc.removeLowerDetailsIdling": { "type": "boolean", "default": true, "description": "Controls if the RPC should remove the lower details when idling" }, "rpc.showProblems": { "type": "boolean", "default": true, "description": "Controls if the RPC should show the count of problems (warnings, errors) present in your workspace." }, "rpc.problemsText": { "type": "string", "default": "- {problemsCount} problems found", "description": "Custom string of the text displaying the amount of problems in your workspace\n\t- {problemsCount} will be replaced by the respective amount of problems." }, "rpc.ignoreWorkspaces": { "type": "array", "items": { "type": "string" }, "default": [], "description": "List of patterns to match workspace names that should prevent their display." }, "rpc.ignoreWorkspacesText": { "type": [ "string", "object" ], "description": "Custom text string that is displayed if a workspace folder has been detected in the ignore list." }, "rpc.checkIdle": { "type": "boolean", "default": true, "description": "Whether or not to check if you are still active or idle and react accordingly." }, "rpc.idleTimeout": { "type": "number", "default": 300, "description": "How long the window should be unfocused (in seconds) to either disable rich presence or display you as idle." }, "rpc.idleText": { "type": "string", "default": "zZz", "description": "Custom string of the text displaying if you're idle when hovering over the small icon." }, "rpc.buttonEnabled": { "type": "boolean", "default": false, "description": "Enable a button on your presence with a link to the Git repository you're working in." }, "rpc.buttonActiveLabel": { "type": "string", "default": "View Repository", "description": "The label to show on the button when the file you are currently editing is located in a Git repository." }, "rpc.buttonInactiveLabel": { "type": "string", "default": null, "description": "The label to show on the button when you are not editing a file in a Git repository. Set to null to disable." }, "rpc.buttonInactiveUrl": { "type": "string", "default": null, "description": "The URL of the button when you are not editing a file in a Git repository. Set to null to disable." }, "rpc.ignoreRepositories": { "type": "array", "items": { "type": "string" }, "default": [], "description": "List of patterns to match repository names that should prevent its display in the button." }, "rpc.ignoreOrganizations": { "type": "array", "items": { "type": "string" }, "default": [], "description": "List of patterns to match organizations names that should prevent its display in the button." }, "rpc.suppressNotifications": { "type": "boolean", "default": true, "description": "Controls whether error messages should be shown to the user." }, "rpc.prioritizeLanguagesOverExtensions": { "type": "boolean", "default": false, "description": "Controls whether languages should be prioritized over extensions when matching a file name." } } } }, "prettier": { "$schema": "http://json.schemastore.org/prettierrc", "endOfLine": "lf", "printWidth": 100, "quoteProps": "as-needed", "semi": true, "singleQuote": true, "tabWidth": 4, "trailingComma": "none", "useTabs": true, "overrides": [ { "files": "*.yml", "options": { "tabWidth": 2, "useTabs": false } } ] }, "__metadata": { "id": "20675c06-f272-4cc8-8611-83ebb5583c5a", "publisherId": "2c34273e-24b8-499a-b859-8e27e48decc5", "publisherDisplayName": "LeonardSSH", "targetPlatform": "undefined", "updated": false, "isPreReleaseVersion": false, "preRelease": false, "installedTimestamp": 1651172735141 } }