This commit is contained in:
guqiankun.gqk 2022-08-18 10:13:31 +08:00
parent fe87c48055
commit a13efbb364
18 changed files with 11921 additions and 1 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

4
.stackblitzrc Normal file
View File

@ -0,0 +1,4 @@
{
"installDependencies": true,
"startCommand": "npm run start"
}

View File

@ -1,2 +1,4 @@
# Alex-demo
Alex-demo
<!-- -->
http://localhost:8080/gitlink/qingyou/test/tree/master

12
common.ts Normal file
View File

@ -0,0 +1,12 @@
export declare type SlotLocation = string;
export const SlotLocation = {
top: 'top',
left: 'left',
right: 'right',
main: 'main',
statusBar: 'statusBar',
bottom: 'bottom',
extra: 'extra',
float: 'float',
action: 'action',
};

5
index.d.ts vendored Normal file
View File

@ -0,0 +1,5 @@
declare module 'alex';
declare module '*.js';
declare module '*.module.less';
declare module 'antd';
declare module 'localforage';

8324
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

45
package.json Normal file
View File

@ -0,0 +1,45 @@
{
"name": "getting-started-using-a-configuration",
"version": "1.0.0",
"private": true,
"scripts": {
"build": "webpack",
"start": "webpack serve --open"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"antd": "^3.20.3",
"localforage": "^1.10.0",
"lodash": "^4.17.21",
"moment": "2.29.3",
"react": "^16.14.0",
"react-dom": "^16.14.0"
},
"devDependencies": {
"@types/react": "^16.14.0",
"@types/react-dom": "^16.4.2",
"clean-webpack-plugin": "^3.0.0",
"copy-webpack-plugin": "^8.1.1",
"css-loader": "^5.2.4",
"file-loader": "^6.2.0",
"html-webpack-plugin": "^5.3.1",
"less": "^3.13.1",
"less-loader": "^7.0.1",
"mini-css-extract-plugin": "^1.6.0",
"postcss": "^8.2.14",
"postcss-loader": "^5.2.0",
"postcss-preset-env": "^6.7.0",
"sass": "^1.32.12",
"sass-loader": "^11.0.1",
"serve": "^12.0.0",
"style-loader": "^2.0.0",
"terser-webpack-plugin": "^5.1.1",
"ts-loader": "^9.1.2",
"typescript": "^4.2.4",
"webpack": "^5.38.1",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2"
}
}

View File

@ -0,0 +1,901 @@
module.exports = {
"extension": {
"publisher": "alex-ext-public",
"name": "css-language-features-worker",
"version": "1.53.0-patch.1"
},
"packageJSON": {
"name": "css-language-features-worker",
"publisher": "alex",
"version": "1.53.0-patch.1",
"displayName": "%displayName%",
"description": "%description%",
"icon": "icons/css.png",
"activationEvents": [
"onLanguage:css",
"onLanguage:less",
"onLanguage:scss",
"onCommand:_css.applyCodeAction"
],
"kaitianContributes": {
"workerMain": "client/dist/browser/cssClientMain.js"
},
"contributes": {
"configuration": [
{
"order": 22,
"id": "css",
"title": "%css.title%",
"properties": {
"css.customData": {
"type": "array",
"markdownDescription": "%css.customData.desc%",
"default": [],
"items": {
"type": "string"
},
"scope": "resource"
},
"css.completion.triggerPropertyValueCompletion": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%css.completion.triggerPropertyValueCompletion.desc%"
},
"css.completion.completePropertyWithSemicolon": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%css.completion.completePropertyWithSemicolon.desc%"
},
"css.validate": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%css.validate.desc%"
},
"css.lint.compatibleVendorPrefixes": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.compatibleVendorPrefixes.desc%"
},
"css.lint.vendorPrefix": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%css.lint.vendorPrefix.desc%"
},
"css.lint.duplicateProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.duplicateProperties.desc%"
},
"css.lint.emptyRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%css.lint.emptyRules.desc%"
},
"css.lint.importStatement": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.importStatement.desc%"
},
"css.lint.boxModel": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%css.lint.boxModel.desc%"
},
"css.lint.universalSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%css.lint.universalSelector.desc%"
},
"css.lint.zeroUnits": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.zeroUnits.desc%"
},
"css.lint.fontFaceProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%css.lint.fontFaceProperties.desc%"
},
"css.lint.hexColorLength": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%css.lint.hexColorLength.desc%"
},
"css.lint.argumentsInColorFunction": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%css.lint.argumentsInColorFunction.desc%"
},
"css.lint.unknownProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%css.lint.unknownProperties.desc%"
},
"css.lint.validProperties": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
},
"scope": "resource",
"default": [],
"description": "%css.lint.validProperties.desc%"
},
"css.lint.ieHack": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.ieHack.desc%"
},
"css.lint.unknownVendorSpecificProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.unknownVendorSpecificProperties.desc%"
},
"css.lint.propertyIgnoredDueToDisplay": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%css.lint.propertyIgnoredDueToDisplay.desc%"
},
"css.lint.important": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%css.lint.important.desc%"
},
"css.lint.float": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%css.lint.float.desc%"
},
"css.lint.idSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%css.lint.idSelector.desc%"
},
"css.lint.unknownAtRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%css.lint.unknownAtRules.desc%"
},
"css.trace.server": {
"type": "string",
"scope": "window",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "%css.trace.server.desc%"
}
}
},
{
"id": "scss",
"order": 24,
"title": "%scss.title%",
"properties": {
"scss.completion.triggerPropertyValueCompletion": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%scss.completion.triggerPropertyValueCompletion.desc%"
},
"scss.completion.completePropertyWithSemicolon": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%scss.completion.completePropertyWithSemicolon.desc%"
},
"scss.validate": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%scss.validate.desc%"
},
"scss.lint.compatibleVendorPrefixes": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.compatibleVendorPrefixes.desc%"
},
"scss.lint.vendorPrefix": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%scss.lint.vendorPrefix.desc%"
},
"scss.lint.duplicateProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.duplicateProperties.desc%"
},
"scss.lint.emptyRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%scss.lint.emptyRules.desc%"
},
"scss.lint.importStatement": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.importStatement.desc%"
},
"scss.lint.boxModel": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%scss.lint.boxModel.desc%"
},
"scss.lint.universalSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%scss.lint.universalSelector.desc%"
},
"scss.lint.zeroUnits": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.zeroUnits.desc%"
},
"scss.lint.fontFaceProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%scss.lint.fontFaceProperties.desc%"
},
"scss.lint.hexColorLength": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%scss.lint.hexColorLength.desc%"
},
"scss.lint.argumentsInColorFunction": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%scss.lint.argumentsInColorFunction.desc%"
},
"scss.lint.unknownProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%scss.lint.unknownProperties.desc%"
},
"scss.lint.validProperties": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
},
"scope": "resource",
"default": [],
"description": "%scss.lint.validProperties.desc%"
},
"scss.lint.ieHack": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.ieHack.desc%"
},
"scss.lint.unknownVendorSpecificProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.unknownVendorSpecificProperties.desc%"
},
"scss.lint.propertyIgnoredDueToDisplay": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%scss.lint.propertyIgnoredDueToDisplay.desc%"
},
"scss.lint.important": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%scss.lint.important.desc%"
},
"scss.lint.float": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%scss.lint.float.desc%"
},
"scss.lint.idSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%scss.lint.idSelector.desc%"
},
"scss.lint.unknownAtRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%scss.lint.unknownAtRules.desc%"
}
}
},
{
"id": "less",
"order": 23,
"type": "object",
"title": "%less.title%",
"properties": {
"less.completion.triggerPropertyValueCompletion": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%less.completion.triggerPropertyValueCompletion.desc%"
},
"less.completion.completePropertyWithSemicolon": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%less.completion.completePropertyWithSemicolon.desc%"
},
"less.validate": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%less.validate.desc%"
},
"less.lint.compatibleVendorPrefixes": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.compatibleVendorPrefixes.desc%"
},
"less.lint.vendorPrefix": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%less.lint.vendorPrefix.desc%"
},
"less.lint.duplicateProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.duplicateProperties.desc%"
},
"less.lint.emptyRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%less.lint.emptyRules.desc%"
},
"less.lint.importStatement": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.importStatement.desc%"
},
"less.lint.boxModel": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%less.lint.boxModel.desc%"
},
"less.lint.universalSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%less.lint.universalSelector.desc%"
},
"less.lint.zeroUnits": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.zeroUnits.desc%"
},
"less.lint.fontFaceProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%less.lint.fontFaceProperties.desc%"
},
"less.lint.hexColorLength": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%less.lint.hexColorLength.desc%"
},
"less.lint.argumentsInColorFunction": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "error",
"description": "%less.lint.argumentsInColorFunction.desc%"
},
"less.lint.unknownProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%less.lint.unknownProperties.desc%"
},
"less.lint.validProperties": {
"type": "array",
"uniqueItems": true,
"items": {
"type": "string"
},
"scope": "resource",
"default": [],
"description": "%less.lint.validProperties.desc%"
},
"less.lint.ieHack": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.ieHack.desc%"
},
"less.lint.unknownVendorSpecificProperties": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.unknownVendorSpecificProperties.desc%"
},
"less.lint.propertyIgnoredDueToDisplay": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"markdownDescription": "%less.lint.propertyIgnoredDueToDisplay.desc%"
},
"less.lint.important": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%less.lint.important.desc%"
},
"less.lint.float": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"markdownDescription": "%less.lint.float.desc%"
},
"less.lint.idSelector": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "ignore",
"description": "%less.lint.idSelector.desc%"
},
"less.lint.unknownAtRules": {
"type": "string",
"scope": "resource",
"enum": [
"ignore",
"warning",
"error"
],
"default": "warning",
"description": "%less.lint.unknownAtRules.desc%"
}
}
}
],
"configurationDefaults": {
"[css]": {
"editor.suggest.insertMode": "replace"
},
"[scss]": {
"editor.suggest.insertMode": "replace"
},
"[less]": {
"editor.suggest.insertMode": "replace"
}
},
"jsonValidation": [
{
"fileMatch": "*.css-data.json",
"url": "https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/master/docs/customData.schema.json"
},
{
"fileMatch": "package.json",
"url": "./schemas/package.schema.json"
}
],
"workerMain": "client/dist/browser/cssClientMain.js"
},
"browser": "./client/dist/browser/cssClientMain"
},
"defaultPkgNlsJSON": {
"displayName": "CSS Language Features",
"description": "Provides rich language support for CSS, LESS and SCSS files.",
"css.title": "CSS",
"css.customData.desc": "A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-css-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its CSS support for the custom CSS properties, at directives, pseudo classes and pseudo elements you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.",
"css.completion.triggerPropertyValueCompletion.desc": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.",
"css.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties",
"css.lint.argumentsInColorFunction.desc": "Invalid number of parameters.",
"css.lint.boxModel.desc": "Do not use `width` or `height` when using `padding` or `border`.",
"css.lint.compatibleVendorPrefixes.desc": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.",
"css.lint.duplicateProperties.desc": "Do not use duplicate style definitions.",
"css.lint.emptyRules.desc": "Do not use empty rulesets.",
"css.lint.float.desc": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.",
"css.lint.fontFaceProperties.desc": "`@font-face` rule must define `src` and `font-family` properties.",
"css.lint.hexColorLength.desc": "Hex colors must consist of three or six hex numbers.",
"css.lint.idSelector.desc": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.",
"css.lint.ieHack.desc": "IE hacks are only necessary when supporting IE7 and older.",
"css.lint.important.desc": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.",
"css.lint.importStatement.desc": "Import statements do not load in parallel.",
"css.lint.propertyIgnoredDueToDisplay.desc": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.",
"css.lint.universalSelector.desc": "The universal selector (`*`) is known to be slow.",
"css.lint.unknownAtRules.desc": "Unknown at-rule.",
"css.lint.unknownProperties.desc": "Unknown property.",
"css.lint.validProperties.desc": "A list of properties that are not validated against the `unknownProperties` rule.",
"css.lint.unknownVendorSpecificProperties.desc": "Unknown vendor specific property.",
"css.lint.vendorPrefix.desc": "When using a vendor-specific prefix, also include the standard property.",
"css.lint.zeroUnits.desc": "No unit for zero needed.",
"css.trace.server.desc": "Traces the communication between VS Code and the CSS language server.",
"css.validate.title": "Controls CSS validation and problem severities.",
"css.validate.desc": "Enables or disables all validations.",
"less.title": "LESS",
"less.completion.triggerPropertyValueCompletion.desc": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.",
"less.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties",
"less.lint.argumentsInColorFunction.desc": "Invalid number of parameters.",
"less.lint.boxModel.desc": "Do not use `width` or `height` when using `padding` or `border`.",
"less.lint.compatibleVendorPrefixes.desc": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.",
"less.lint.duplicateProperties.desc": "Do not use duplicate style definitions.",
"less.lint.emptyRules.desc": "Do not use empty rulesets.",
"less.lint.float.desc": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.",
"less.lint.fontFaceProperties.desc": "`@font-face` rule must define `src` and `font-family` properties.",
"less.lint.hexColorLength.desc": "Hex colors must consist of three or six hex numbers.",
"less.lint.idSelector.desc": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.",
"less.lint.ieHack.desc": "IE hacks are only necessary when supporting IE7 and older.",
"less.lint.important.desc": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.",
"less.lint.importStatement.desc": "Import statements do not load in parallel.",
"less.lint.propertyIgnoredDueToDisplay.desc": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.",
"less.lint.universalSelector.desc": "The universal selector (`*`) is known to be slow.",
"less.lint.unknownAtRules.desc": "Unknown at-rule.",
"less.lint.unknownProperties.desc": "Unknown property.",
"less.lint.validProperties.desc": "A list of properties that are not validated against the `unknownProperties` rule.",
"less.lint.unknownVendorSpecificProperties.desc": "Unknown vendor specific property.",
"less.lint.vendorPrefix.desc": "When using a vendor-specific prefix, also include the standard property.",
"less.lint.zeroUnits.desc": "No unit for zero needed.",
"less.validate.title": "Controls LESS validation and problem severities.",
"less.validate.desc": "Enables or disables all validations.",
"scss.title": "SCSS (Sass)",
"scss.completion.triggerPropertyValueCompletion.desc": "By default, VS Code triggers property value completion after selecting a CSS property. Use this setting to disable this behavior.",
"scss.completion.completePropertyWithSemicolon.desc": "Insert semicolon at end of line when completing CSS properties",
"scss.lint.argumentsInColorFunction.desc": "Invalid number of parameters.",
"scss.lint.boxModel.desc": "Do not use `width` or `height` when using `padding` or `border`.",
"scss.lint.compatibleVendorPrefixes.desc": "When using a vendor-specific prefix make sure to also include all other vendor-specific properties.",
"scss.lint.duplicateProperties.desc": "Do not use duplicate style definitions.",
"scss.lint.emptyRules.desc": "Do not use empty rulesets.",
"scss.lint.float.desc": "Avoid using `float`. Floats lead to fragile CSS that is easy to break if one aspect of the layout changes.",
"scss.lint.fontFaceProperties.desc": "`@font-face` rule must define `src` and `font-family` properties.",
"scss.lint.hexColorLength.desc": "Hex colors must consist of three or six hex numbers.",
"scss.lint.idSelector.desc": "Selectors should not contain IDs because these rules are too tightly coupled with the HTML.",
"scss.lint.ieHack.desc": "IE hacks are only necessary when supporting IE7 and older.",
"scss.lint.important.desc": "Avoid using `!important`. It is an indication that the specificity of the entire CSS has gotten out of control and needs to be refactored.",
"scss.lint.importStatement.desc": "Import statements do not load in parallel.",
"scss.lint.propertyIgnoredDueToDisplay.desc": "Property is ignored due to the display. E.g. with `display: inline`, the `width`, `height`, `margin-top`, `margin-bottom`, and `float` properties have no effect.",
"scss.lint.universalSelector.desc": "The universal selector (`*`) is known to be slow.",
"scss.lint.unknownAtRules.desc": "Unknown at-rule.",
"scss.lint.unknownProperties.desc": "Unknown property.",
"scss.lint.validProperties.desc": "A list of properties that are not validated against the `unknownProperties` rule.",
"scss.lint.unknownVendorSpecificProperties.desc": "Unknown vendor specific property.",
"scss.lint.vendorPrefix.desc": "When using a vendor-specific prefix, also include the standard property.",
"scss.lint.zeroUnits.desc": "No unit for zero needed.",
"scss.validate.title": "Controls SCSS validation and problem severities.",
"scss.validate.desc": "Enables or disables all validations.",
"css.colorDecorators.enable.deprecationMessage": "The setting `css.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`.",
"scss.colorDecorators.enable.deprecationMessage": "The setting `scss.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`.",
"less.colorDecorators.enable.deprecationMessage": "The setting `less.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`."
},
"pkgNlsJSON": {},
"nlsList": [],
"extendConfig": {},
"webAssets": [
"package.json",
"server/dist/browser/cssServerMain.js",
"README.md",
"icons/css.png",
"https://raw.githubusercontent.com/microsoft/vscode-css-languageservice/master/docs/customData.schema.json",
"schemas/package.schema.json",
"client/dist/browser/cssClientMain.js"
],
"mode": "public"
}

View File

@ -0,0 +1,284 @@
module.exports = {
"extension": {
"publisher": "alex-ext-public",
"name": "html-language-features-worker",
"version": "1.53.0-patch.1"
},
"packageJSON": {
"name": "html-language-features-worker",
"publisher": "alex",
"version": "1.53.0-patch.1",
"displayName": "%displayName%",
"description": "%description%",
"icon": "icons/html.png",
"activationEvents": [
"onLanguage:html",
"onLanguage:handlebars"
],
"kaitianContributes": {
"workerMain": "client/dist/browser/htmlClientMain.js"
},
"contributes": {
"configuration": {
"id": "html",
"order": 20,
"type": "object",
"title": "HTML",
"properties": {
"html.customData": {
"type": "array",
"markdownDescription": "%html.customData.desc%",
"default": [],
"items": {
"type": "string"
},
"scope": "resource"
},
"html.format.enable": {
"type": "boolean",
"scope": "window",
"default": true,
"description": "%html.format.enable.desc%"
},
"html.format.wrapLineLength": {
"type": "integer",
"scope": "resource",
"default": 120,
"description": "%html.format.wrapLineLength.desc%"
},
"html.format.unformatted": {
"type": [
"string",
"null"
],
"scope": "resource",
"default": "wbr",
"markdownDescription": "%html.format.unformatted.desc%"
},
"html.format.contentUnformatted": {
"type": [
"string",
"null"
],
"scope": "resource",
"default": "pre,code,textarea",
"markdownDescription": "%html.format.contentUnformatted.desc%"
},
"html.format.indentInnerHtml": {
"type": "boolean",
"scope": "resource",
"default": false,
"markdownDescription": "%html.format.indentInnerHtml.desc%"
},
"html.format.preserveNewLines": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.format.preserveNewLines.desc%"
},
"html.format.maxPreserveNewLines": {
"type": [
"number",
"null"
],
"scope": "resource",
"default": null,
"markdownDescription": "%html.format.maxPreserveNewLines.desc%"
},
"html.format.indentHandlebars": {
"type": "boolean",
"scope": "resource",
"default": false,
"markdownDescription": "%html.format.indentHandlebars.desc%"
},
"html.format.endWithNewline": {
"type": "boolean",
"scope": "resource",
"default": false,
"description": "%html.format.endWithNewline.desc%"
},
"html.format.extraLiners": {
"type": [
"string",
"null"
],
"scope": "resource",
"default": "head, body, /html",
"markdownDescription": "%html.format.extraLiners.desc%"
},
"html.format.wrapAttributes": {
"type": "string",
"scope": "resource",
"default": "auto",
"enum": [
"auto",
"force",
"force-aligned",
"force-expand-multiline",
"aligned-multiple",
"preserve",
"preserve-aligned"
],
"enumDescriptions": [
"%html.format.wrapAttributes.auto%",
"%html.format.wrapAttributes.force%",
"%html.format.wrapAttributes.forcealign%",
"%html.format.wrapAttributes.forcemultiline%",
"%html.format.wrapAttributes.alignedmultiple%",
"%html.format.wrapAttributes.preserve%",
"%html.format.wrapAttributes.preservealigned%"
],
"description": "%html.format.wrapAttributes.desc%"
},
"html.format.wrapAttributesIndentSize": {
"type": [
"number",
"null"
],
"scope": "resource",
"default": null,
"description": "%html.format.wrapAttributesIndentSize.desc%"
},
"html.format.templating": {
"type": [
"boolean"
],
"scope": "resource",
"default": false,
"description": "%html.format.templating.desc%"
},
"html.format.unformattedContentDelimiter": {
"type": [
"string"
],
"scope": "resource",
"default": "",
"markdownDescription": "%html.format.unformattedContentDelimiter.desc%"
},
"html.suggest.html5": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.suggest.html5.desc%"
},
"html.validate.scripts": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.validate.scripts%"
},
"html.validate.styles": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.validate.styles%"
},
"html.autoClosingTags": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.autoClosingTags%"
},
"html.hover.documentation": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.hover.documentation%"
},
"html.hover.references": {
"type": "boolean",
"scope": "resource",
"default": true,
"description": "%html.hover.references%"
},
"html.mirrorCursorOnMatchingTag": {
"type": "boolean",
"scope": "resource",
"default": false,
"description": "%html.mirrorCursorOnMatchingTag%",
"deprecationMessage": "%html.mirrorCursorOnMatchingTagDeprecationMessage%"
},
"html.trace.server": {
"type": "string",
"scope": "window",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "%html.trace.server.desc%"
}
}
},
"configurationDefaults": {
"[html]": {
"editor.suggest.insertMode": "replace"
},
"[handlebars]": {
"editor.suggest.insertMode": "replace"
}
},
"jsonValidation": [
{
"fileMatch": "*.html-data.json",
"url": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/master/docs/customData.schema.json"
},
{
"fileMatch": "package.json",
"url": "./schemas/package.schema.json"
}
],
"workerMain": "client/dist/browser/htmlClientMain.js"
},
"browser": "./client/dist/browser/htmlClientMain"
},
"defaultPkgNlsJSON": {
"displayName": "HTML Language Features",
"description": "Provides rich language support for HTML and Handlebar files",
"html.customData.desc": "A list of relative file paths pointing to JSON files following the [custom data format](https://github.com/microsoft/vscode-html-languageservice/blob/master/docs/customData.md).\n\nVS Code loads custom data on startup to enhance its HTML support for the custom HTML tags, attributes and attribute values you specify in the JSON files.\n\nThe file paths are relative to workspace and only workspace folder settings are considered.",
"html.format.enable.desc": "Enable/disable default HTML formatter.",
"html.format.wrapLineLength.desc": "Maximum amount of characters per line (0 = disable).",
"html.format.unformatted.desc": "List of tags, comma separated, that shouldn't be reformatted. `null` defaults to all tags listed at https://www.w3.org/TR/html5/dom.html#phrasing-content.",
"html.format.contentUnformatted.desc": "List of tags, comma separated, where the content shouldn't be reformatted. `null` defaults to the `pre` tag.",
"html.format.indentInnerHtml.desc": "Indent `<head>` and `<body>` sections.",
"html.format.preserveNewLines.desc": "Controls whether existing line breaks before elements should be preserved. Only works before elements, not inside tags or for text.",
"html.format.maxPreserveNewLines.desc": "Maximum number of line breaks to be preserved in one chunk. Use `null` for unlimited.",
"html.format.indentHandlebars.desc": "Format and indent `{{#foo}}` and `{{/foo}}`.",
"html.format.endWithNewline.desc": "End with a newline.",
"html.format.extraLiners.desc": "List of tags, comma separated, that should have an extra newline before them. `null` defaults to `\"head, body, /html\"`.",
"html.format.wrapAttributes.desc": "Wrap attributes.",
"html.format.wrapAttributes.auto": "Wrap attributes only when line length is exceeded.",
"html.format.wrapAttributes.force": "Wrap each attribute except first.",
"html.format.wrapAttributes.forcealign": "Wrap each attribute except first and keep aligned.",
"html.format.wrapAttributes.forcemultiline": "Wrap each attribute.",
"html.format.wrapAttributes.alignedmultiple": "Wrap when line length is exceeded, align attributes vertically.",
"html.format.wrapAttributes.preserve": "Preserve wrapping of attributes",
"html.format.wrapAttributes.preservealigned": "Preserve wrapping of attributes but align.",
"html.format.templating.desc": "Honor django, erb, handlebars and php templating language tags.",
"html.format.unformattedContentDelimiter.desc": "Keep text content together between this string.",
"html.format.wrapAttributesIndentSize.desc": "Alignment size when using 'force aligned' and 'aligned multiple' in `#html.format.wrapAttributes#` or `null` to use the default indent size.",
"html.suggest.html5.desc": "Controls whether the built-in HTML language support suggests HTML5 tags, properties and values.",
"html.trace.server.desc": "Traces the communication between VS Code and the HTML language server.",
"html.validate.scripts": "Controls whether the built-in HTML language support validates embedded scripts.",
"html.validate.styles": "Controls whether the built-in HTML language support validates embedded styles.",
"html.autoClosingTags": "Enable/disable autoclosing of HTML tags.",
"html.mirrorCursorOnMatchingTag": "Enable/disable mirroring cursor on matching HTML tag.",
"html.mirrorCursorOnMatchingTagDeprecationMessage": "Deprecated in favor of `editor.linkedEditing`",
"html.hover.documentation": "Show tag and attribute documentation in hover.",
"html.hover.references": "Show references to MDN in hover."
},
"pkgNlsJSON": {},
"nlsList": [],
"extendConfig": {},
"webAssets": [
"package.json",
"server/dist/browser/htmlServerMain.js",
"README.md",
"icons/html.png",
"https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/master/docs/customData.schema.json",
"schemas/package.schema.json",
"client/dist/browser/htmlClientMain.js"
],
"mode": "public"
}

View File

@ -0,0 +1,156 @@
module.exports = {
"extension": {
"publisher": "alex-ext-public",
"name": "json-language-features-worker",
"version": "1.53.0-patch.1"
},
"packageJSON": {
"name": "json-language-features-worker",
"publisher": "alex",
"version": "1.53.0-patch.1",
"displayName": "%displayName%",
"description": "%description%",
"icon": "icons/json.png",
"activationEvents": [
"onLanguage:json",
"onLanguage:jsonc"
],
"kaitianContributes": {
"workerMain": "client/dist/browser/jsonClientMain.js"
},
"contributes": {
"configuration": {
"id": "json",
"order": 20,
"type": "object",
"title": "JSON",
"properties": {
"json.schemas": {
"type": "array",
"scope": "resource",
"description": "%json.schemas.desc%",
"items": {
"type": "object",
"default": {
"fileMatch": [
"/myfile"
],
"url": "schemaURL"
},
"properties": {
"url": {
"type": "string",
"default": "/user.schema.json",
"description": "%json.schemas.url.desc%"
},
"fileMatch": {
"type": "array",
"items": {
"type": "string",
"default": "MyFile.json",
"description": "%json.schemas.fileMatch.item.desc%"
},
"minItems": 1,
"description": "%json.schemas.fileMatch.desc%"
},
"schema": {
"$ref": "http://json-schema.org/draft-07/schema#",
"description": "%json.schemas.schema.desc%"
}
}
}
},
"json.format.enable": {
"type": "boolean",
"scope": "window",
"default": true,
"description": "%json.format.enable.desc%"
},
"json.trace.server": {
"type": "string",
"scope": "window",
"enum": [
"off",
"messages",
"verbose"
],
"default": "off",
"description": "%json.tracing.desc%"
},
"json.colorDecorators.enable": {
"type": "boolean",
"scope": "window",
"default": true,
"description": "%json.colorDecorators.enable.desc%",
"deprecationMessage": "%json.colorDecorators.enable.deprecationMessage%"
},
"json.maxItemsComputed": {
"type": "number",
"default": 5000,
"description": "%json.maxItemsComputed.desc%"
},
"json.schemaDownload.enable": {
"type": "boolean",
"default": true,
"description": "%json.enableSchemaDownload.desc%",
"tags": [
"usesOnlineServices"
]
}
}
},
"configurationDefaults": {
"[json]": {
"editor.quickSuggestions": {
"strings": true
},
"editor.suggest.insertMode": "replace"
},
"[jsonc]": {
"editor.quickSuggestions": {
"strings": true
},
"editor.suggest.insertMode": "replace"
}
},
"jsonValidation": [
{
"fileMatch": "*.schema.json",
"url": "http://json-schema.org/draft-07/schema#"
}
],
"workerMain": "client/dist/browser/jsonClientMain.js"
},
"browser": "./client/dist/browser/jsonClientMain"
},
"defaultPkgNlsJSON": {
"displayName": "JSON Language Features",
"description": "Provides rich language support for JSON files.",
"json.schemas.desc": "Associate schemas to JSON files in the current project",
"json.schemas.url.desc": "A URL to a schema or a relative path to a schema in the current directory",
"json.schemas.fileMatch.desc": "An array of file patterns to match against when resolving JSON files to schemas. `*` can be used as a wildcard. Exclusion patterns can also be defined and start with '!'. A file matches when there is at least one matching pattern and the last matching pattern is not an exclusion pattern.",
"json.schemas.fileMatch.item.desc": "A file pattern that can contain '*' to match against when resolving JSON files to schemas.",
"json.schemas.schema.desc": "The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL.",
"json.format.enable.desc": "Enable/disable default JSON formatter",
"json.tracing.desc": "Traces the communication between VS Code and the JSON language server.",
"json.colorDecorators.enable.desc": "Enables or disables color decorators",
"json.colorDecorators.enable.deprecationMessage": "The setting `json.colorDecorators.enable` has been deprecated in favor of `editor.colorDecorators`.",
"json.schemaResolutionErrorMessage": "Unable to resolve schema.",
"json.clickToRetry": "Click to retry.",
"json.maxItemsComputed.desc": "The maximum number of outline symbols and folding regions computed (limited for performance reasons).",
"json.maxItemsExceededInformation.desc": "Show notification when exceeding the maximum number of outline symbols and folding regions.",
"json.enableSchemaDownload.desc": "When enabled, JSON schemas can be fetched from http and https locations."
},
"pkgNlsJSON": {},
"nlsList": [],
"extendConfig": {},
"webAssets": [
"package.json",
"server/dist/browser/jsonServerMain.js",
"README.md",
"icons/json.png",
"http://json-schema.org/draft-07/schema#",
"client/dist/browser/jsonClientMain.js"
],
"mode": "public"
}

View File

@ -0,0 +1,351 @@
module.exports = {
"extension": {
"publisher": "alex-ext-public",
"name": "markdown-language-features-worker",
"version": "1.53.0-patch.1"
},
"packageJSON": {
"name": "markdown-language-features-worker",
"publisher": "alex",
"version": "1.53.0-patch.1",
"displayName": "%displayName%",
"description": "%description%",
"icon": "icon.png",
"activationEvents": [
"onLanguage:markdown",
"onCommand:markdown.preview.toggleLock",
"onCommand:markdown.preview.refresh",
"onCommand:markdown.showPreview",
"onCommand:markdown.showPreviewToSide",
"onCommand:markdown.showLockedPreviewToSide",
"onCommand:markdown.showSource",
"onCommand:markdown.showPreviewSecuritySelector",
"onCommand:markdown.api.render",
"onWebviewPanel:markdown.preview",
"onCustomEditor:vscode.markdown.preview.editor"
],
"kaitianContributes": {
"workerMain": "./dist/browser/extension.js"
},
"contributes": {
"commands": [
{
"command": "markdown.showPreview",
"title": "%markdown.preview.title%",
"category": "Markdown",
"icon": {
"light": "./media/preview-light.svg",
"dark": "./media/preview-dark.svg"
}
},
{
"command": "markdown.showPreviewToSide",
"title": "%markdown.previewSide.title%",
"category": "Markdown",
"icon": "$(open-preview)"
},
{
"command": "markdown.showLockedPreviewToSide",
"title": "%markdown.showLockedPreviewToSide.title%",
"category": "Markdown",
"icon": "$(open-preview)"
},
{
"command": "markdown.showSource",
"title": "%markdown.showSource.title%",
"category": "Markdown",
"icon": "$(go-to-file)"
},
{
"command": "markdown.showPreviewSecuritySelector",
"title": "%markdown.showPreviewSecuritySelector.title%",
"category": "Markdown"
},
{
"command": "markdown.preview.refresh",
"title": "%markdown.preview.refresh.title%",
"category": "Markdown"
},
{
"command": "markdown.preview.toggleLock",
"title": "%markdown.preview.toggleLock.title%",
"category": "Markdown"
}
],
"menus": {
"editor/title": [
{
"command": "markdown.showPreviewToSide",
"when": "editorLangId == markdown && !notebookEditorFocused",
"alt": "markdown.showPreview",
"group": "navigation"
},
{
"command": "markdown.showSource",
"when": "markdownPreviewFocus",
"group": "navigation"
},
{
"command": "markdown.preview.refresh",
"when": "markdownPreviewFocus",
"group": "1_markdown"
},
{
"command": "markdown.preview.toggleLock",
"when": "markdownPreviewFocus",
"group": "1_markdown"
},
{
"command": "markdown.showPreviewSecuritySelector",
"when": "markdownPreviewFocus",
"group": "1_markdown"
}
],
"explorer/context": [
{
"command": "markdown.showPreview",
"when": "resourceLangId == markdown",
"group": "navigation"
}
],
"editor/title/context": [
{
"command": "markdown.showPreview",
"when": "resourceLangId == markdown",
"group": "1_open"
}
],
"commandPalette": [
{
"command": "markdown.showPreview",
"when": "editorLangId == markdown && !notebookEditorFocused",
"group": "navigation"
},
{
"command": "markdown.showPreviewToSide",
"when": "editorLangId == markdown && !notebookEditorFocused",
"group": "navigation"
},
{
"command": "markdown.showLockedPreviewToSide",
"when": "editorLangId == markdown && !notebookEditorFocused",
"group": "navigation"
},
{
"command": "markdown.showSource",
"when": "markdownPreviewFocus",
"group": "navigation"
},
{
"command": "markdown.showPreviewSecuritySelector",
"when": "editorLangId == markdown && !notebookEditorFocused"
},
{
"command": "markdown.showPreviewSecuritySelector",
"when": "markdownPreviewFocus"
},
{
"command": "markdown.preview.toggleLock",
"when": "markdownPreviewFocus"
},
{
"command": "markdown.preview.refresh",
"when": "editorLangId == markdown && !notebookEditorFocused"
},
{
"command": "markdown.preview.refresh",
"when": "markdownPreviewFocus"
}
]
},
"keybindings": [
{
"command": "markdown.showPreview",
"key": "shift+ctrl+v",
"mac": "shift+cmd+v",
"when": "editorLangId == markdown && !notebookEditorFocused"
},
{
"command": "markdown.showPreviewToSide",
"key": "ctrl+k v",
"mac": "cmd+k v",
"when": "editorLangId == markdown && !notebookEditorFocused"
}
],
"configuration": {
"type": "object",
"title": "Markdown",
"order": 20,
"properties": {
"markdown.styles": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "%markdown.styles.dec%",
"scope": "resource"
},
"markdown.preview.breaks": {
"type": "boolean",
"default": false,
"description": "%markdown.preview.breaks.desc%",
"scope": "resource"
},
"markdown.preview.linkify": {
"type": "boolean",
"default": true,
"description": "%markdown.preview.linkify%",
"scope": "resource"
},
"markdown.preview.fontFamily": {
"type": "string",
"default": "-apple-system, BlinkMacSystemFont, 'Segoe WPC', 'Segoe UI', system-ui, 'Ubuntu', 'Droid Sans', sans-serif",
"description": "%markdown.preview.fontFamily.desc%",
"scope": "resource"
},
"markdown.preview.fontSize": {
"type": "number",
"default": 14,
"description": "%markdown.preview.fontSize.desc%",
"scope": "resource"
},
"markdown.preview.lineHeight": {
"type": "number",
"default": 1.6,
"description": "%markdown.preview.lineHeight.desc%",
"scope": "resource"
},
"markdown.preview.scrollPreviewWithEditor": {
"type": "boolean",
"default": true,
"description": "%markdown.preview.scrollPreviewWithEditor.desc%",
"scope": "resource"
},
"markdown.preview.markEditorSelection": {
"type": "boolean",
"default": true,
"description": "%markdown.preview.markEditorSelection.desc%",
"scope": "resource"
},
"markdown.preview.scrollEditorWithPreview": {
"type": "boolean",
"default": true,
"description": "%markdown.preview.scrollEditorWithPreview.desc%",
"scope": "resource"
},
"markdown.preview.doubleClickToSwitchToEditor": {
"type": "boolean",
"default": true,
"description": "%markdown.preview.doubleClickToSwitchToEditor.desc%",
"scope": "resource"
},
"markdown.preview.openMarkdownLinks": {
"type": "string",
"default": "inPreview",
"description": "%configuration.markdown.preview.openMarkdownLinks.description%",
"scope": "resource",
"enum": [
"inPreview",
"inEditor"
],
"enumDescriptions": [
"%configuration.markdown.preview.openMarkdownLinks.inPreview%",
"%configuration.markdown.preview.openMarkdownLinks.inEditor%"
]
},
"markdown.links.openLocation": {
"type": "string",
"default": "currentGroup",
"description": "%configuration.markdown.links.openLocation.description%",
"scope": "resource",
"enum": [
"currentGroup",
"beside"
],
"enumDescriptions": [
"%configuration.markdown.links.openLocation.currentGroup%",
"%configuration.markdown.links.openLocation.beside%"
]
},
"markdown.trace": {
"type": "string",
"enum": [
"off",
"verbose"
],
"default": "off",
"description": "%markdown.trace.desc%",
"scope": "window"
}
}
},
"configurationDefaults": {
"[markdown]": {
"editor.wordWrap": "on",
"editor.quickSuggestions": false
}
},
"jsonValidation": [
{
"fileMatch": "package.json",
"url": "./schemas/package.schema.json"
}
],
"markdown.previewStyles": [
"./media/markdown.css",
"./media/highlight.css"
],
"markdown.previewScripts": [
"./media/index.js"
],
"workerMain": "./dist/browser/extension.js"
},
"browser": "./dist/browser/extension"
},
"defaultPkgNlsJSON": {
"displayName": "Markdown Language Features",
"description": "Provides rich language support for Markdown.",
"markdown.preview.breaks.desc": "Sets how line-breaks are rendered in the markdown preview. Setting it to 'true' creates a <br> for newlines inside paragraphs.",
"markdown.preview.linkify": "Enable or disable conversion of URL-like text to links in the markdown preview.",
"markdown.preview.doubleClickToSwitchToEditor.desc": "Double click in the markdown preview to switch to the editor.",
"markdown.preview.fontFamily.desc": "Controls the font family used in the markdown preview.",
"markdown.preview.fontSize.desc": "Controls the font size in pixels used in the markdown preview.",
"markdown.preview.lineHeight.desc": "Controls the line height used in the markdown preview. This number is relative to the font size.",
"markdown.preview.markEditorSelection.desc": "Mark the current editor selection in the markdown preview.",
"markdown.preview.scrollEditorWithPreview.desc": "When a markdown preview is scrolled, update the view of the editor.",
"markdown.preview.scrollPreviewWithEditor.desc": "When a markdown editor is scrolled, update the view of the preview.",
"markdown.preview.title": "Open Preview",
"markdown.previewSide.title": "Open Preview to the Side",
"markdown.showLockedPreviewToSide.title": "Open Locked Preview to the Side",
"markdown.showSource.title": "Show Source",
"markdown.styles.dec": "A list of URLs or local paths to CSS style sheets to use from the markdown preview. Relative paths are interpreted relative to the folder open in the explorer. If there is no open folder, they are interpreted relative to the location of the markdown file. All '\\' need to be written as '\\\\'.",
"markdown.showPreviewSecuritySelector.title": "Change Preview Security Settings",
"markdown.trace.desc": "Enable debug logging for the markdown extension.",
"markdown.preview.refresh.title": "Refresh Preview",
"markdown.preview.toggleLock.title": "Toggle Preview Locking",
"configuration.markdown.preview.openMarkdownLinks.description": "Controls how links to other markdown files in the markdown preview should be opened.",
"configuration.markdown.preview.openMarkdownLinks.inEditor": "Try to open links in the editor",
"configuration.markdown.preview.openMarkdownLinks.inPreview": "Try to open links in the markdown preview",
"configuration.markdown.links.openLocation.description": "Controls where links in markdown files should be opened.",
"configuration.markdown.links.openLocation.currentGroup": "Open links in the active editor group.",
"configuration.markdown.links.openLocation.beside": "Open links beside the active editor."
},
"pkgNlsJSON": {},
"nlsList": [],
"extendConfig": {},
"webAssets": [
"package.json",
"media/highlight.css",
"media/index.js",
"media/markdown.css",
"media/pre.js",
"media/preview-dark.svg",
"media/preview-light.svg",
"README.md",
"icon.png",
"schemas/package.schema.json",
"dist/browser/extension.js"
],
"mode": "public"
}

File diff suppressed because it is too large Load Diff

42
src/index.html Normal file
View File

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>ALEX</title>
<link
href="https://gw.alipayobjects.com/os/lib/alipay/alex/2.0.13/bundle/alex.all.global.min.css"
rel="stylesheet"
/>
<style>
html,
body {
margin: 0;
padding: 0;
/* // 使用该字体获取与vscode一致的图标表现
// 仅mac下可用windows待区分
// https://stackoverflow.com/questions/32660748/how-to-use-apples-new-san-francisco-font-on-a-webpage
font-family: -apple-system, BlinkMacSystemFont, sans-serif;
// 全局默认字体颜色 */
color: var(--foreground);
background-color: var(--editor-background);
font-size: var(--base-font-size);
/* // 设置 antialiased 会导致整体清晰度降低 */
/* -webkit-font-smoothing: antialiased; */
}
/* 覆盖样式 */
.quick-open-overlay quick-open-container {
position: fixed!important;
top: 0px!important;
}
</style>
</head>
<body>
<div id="root" style="height: 100%"></div>
<script src="https://gw.alipayobjects.com/os/lib/react/16.14.0/umd/react.development.js"></script>
<script src="https://gw.alipayobjects.com/os/lib/react-dom/16.14.0/umd/react-dom.development.js"></script>
<script src="https://gw.alipayobjects.com/os/lib/moment/2.29.4/moment.js"></script>
<script src="https://gw.alipayobjects.com/os/lib/alipay/alex/2.0.13/bundle/alex.all.global.js"></script>
</body>
</html>

130
src/main.tsx Normal file
View File

@ -0,0 +1,130 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { AppRenderer, requireModule } from 'alex';
import { useEffect, useState, useMemo } from 'react';
import { SlotLocation } from '../common';
import css from './extensions/alex-ext-public.css-language-features-worker.js';
import html from './extensions/alex-ext-public.html-language-features-worker.js';
import json from './extensions/alex-ext-public.json-language-features-worker.js';
import markdown from './extensions/alex-ext-public.markdown-language-features-worker.js';
import typescript from './extensions/alex-ext-public.typescript-language-features-worker.js';
import * as SCMPlugin from './plugins/web-scm.plugin';
const CodeServiceModule = requireModule(
'@alipay/alex-code-service'
).CodeServiceModule;
const CodeAPIModule = requireModule('@alipay/alex-code-api').CodeAPIModule;
console.log(CodeServiceModule, CodeAPIModule);
const layoutConfig = {
[SlotLocation.top]: {
modules: ['@opensumi/ide-menu-bar'],
},
[SlotLocation.action]: {
modules: [''],
},
[SlotLocation.left]: {
modules: [
'@opensumi/ide-explorer',
'@opensumi/ide-search',
'@opensumi/ide-extension-manager',
'@opensumi/ide-scm',
],
},
[SlotLocation.main]: {
modules: ['@opensumi/ide-editor'],
},
[SlotLocation.bottom]: {
modules: ['@opensumi/ide-output', '@opensumi/ide-markers'],
},
[SlotLocation.statusBar]: {
modules: ['@opensumi/ide-status-bar'],
},
[SlotLocation.extra]: {
modules: ['breadcrumb-menu'],
},
};
const platformConfig = {
gitlink: {
owner: 'qingyou',
name: 'test',
refPath: '',
commit: '',
},
};
const platform = 'gitlink';
let pathParts = location.pathname.split('/').filter(Boolean);
const config = platformConfig[platform];
if (pathParts[1]) {
config.owner = pathParts[1];
}
if (pathParts[2]) {
config.name = pathParts[2];
}
config.refPath = pathParts.slice(3).join('/');
const App = () => (
<AppRenderer
appConfig={{
plugins: [SCMPlugin],
modules: [
CodeServiceModule.Config({
platform: platform,
owner: config.owner,
name: config.name,
refPath: config.refPath,
commit: config.commit,
hash: location.hash,
gitlink: {
// webpack 代理转发
endpoint: '/code-service',
// origin: 'https://testforgeplus.trustie.net'
},
}),
CodeAPIModule,
// StartupModule,
],
extensionMetadata: [
css,
html,
json,
markdown,
typescript,
// TODO 后续增加插件 这些插件暂时还没有在公网发布
// gitlens,
// graph,
// imagePreview,
// webSCM,
// referencesView,
// codeswing,
// emmet,
// anycodeCSharp,
// anycodeCpp,
// anycodeGo,
// anycodeJava,
// anycodePhp,
// anycodePython,
// anycodeRust,
// anycodeTypescript,
// anycode,
// codeRunner,
],
workspaceDir: `${platform}/${config.owner}/${config.name}`,
layoutConfig,
defaultPreferences: {
'general.theme': 'opensumi-dark',
},
}}
runtimeConfig={{
biz: 'alex',
// scm文件树
scmFileTree: true,
}}
/>
);
ReactDOM.render(<App />, document.getElementById('root')!);

58
src/plugins/common.ts Normal file
View File

@ -0,0 +1,58 @@
export interface IPluginAPI {
context: {
readonly subscriptions: { dispose(): any }[];
};
commands: {
/**
* vscode.commands.registerCommand
*/
registerCommand(
command: string,
callback: (...args: any[]) => any,
thisArg?: any
): IDisposable;
/**
* vscode.commands.executeCommand
*/
executeCommand<T>(command: string, ...rest: any[]): Thenable<T | undefined>;
/**
* _ vscode.commands.getCommands
*/
getCommands(filterInternal?: boolean): Thenable<string[]>;
};
}
export interface IPluginModule {
/**
* ID
*/
PLUGIN_ID: string;
/**
*
*/
activate?(ctx: IPluginAPI): void | Promise<void>;
/**
*
*/
deactivate?(): void;
}
interface Thenable<T> {
then<TResult>(
onfulfilled?: (value: T) => TResult | Thenable<TResult>,
onrejected?: (reason: any) => TResult | Thenable<TResult>
): Thenable<TResult>;
then<TResult>(
onfulfilled?: (value: T) => TResult | Thenable<TResult>,
onrejected?: (reason: any) => void
): Thenable<TResult>;
}
export interface IDisposable {
/**
* Dispose this object.
*/
dispose(): void;
}

View File

@ -0,0 +1,96 @@
import type { IPluginAPI } from './common';
import * as localforage from 'localforage';
export const PLUGIN_ID = 'web-scm';
export interface CacheFile {
uri: any;
content: string;
length?: number;
type?: Status;
}
export enum Status {
INDEX_MODIFIED,
INDEX_ADDED,
INDEX_DELETED,
INDEX_RENAMED,
INDEX_COPIED,
MODIFIED,
DELETED,
UNTRACKED,
IGNORED,
INTENT_TO_ADD,
ADDED,
ADDED_BY_US,
ADDED_BY_THEM,
DELETED_BY_US,
DELETED_BY_THEM,
BOTH_ADDED,
BOTH_DELETED,
BOTH_MODIFIED,
}
export const activate = ({ commands }: IPluginAPI) => {
if (!localforage.supports(localforage.INDEXEDDB)) {
throw new Error('[SCM] IndexedDB Not Support');
}
// 只存储在IndexedDB
localforage.config({
driver: localforage.INDEXEDDB,
name: 'WEB_SCM',
storeName: 'WEB_SCM_TABLE',
});
commands.registerCommand('web-scm.localforage.get', async (key: string) => {
return await localforage.getItem(key);
});
commands.registerCommand(
'web-scm.localforage.set',
async (key: string, value: any) => {
return await localforage.setItem(key, value);
}
);
commands.registerCommand(
'web-scm.localforage.remove',
async (key: string, valye: any) => {
return await localforage.removeItem(key);
}
);
commands.registerCommand(
'web-scm.localforage.removeModify',
async (key: string, value: any) => {
return await localforage.removeItem(key);
}
);
commands.registerCommand('web-scm.localforage.clear', async () => {
return await localforage.clear();
});
commands.registerCommand(
'web-scm.localforage.iterate',
async (basePath: string) => {
const files: CacheFile[] = [];
await localforage.iterate((value: CacheFile, key: string) => {
if (key.startsWith(basePath)) {
if (key.endsWith(':MODIFY')) {
files.push(value);
}
// if (
// value.type === Status.ADDED ||
// value.type === Status.UNTRACKED
// ) {
// } else if (value.type === Status.DELETED) {
// } else if (value.type === Status.MODIFIED) {
// }
}
});
return files;
}
);
commands.registerCommand('web-scm.windowOpen', async (path: string) => {
window.open(path);
});
};

10
tsconfig.json Normal file
View File

@ -0,0 +1,10 @@
{
"compilerOptions": {
"target": "ES2020",
"jsx": "react-jsx",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true /* Skip type checking of declaration files. */,
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
}
}

133
webpack.config.js Normal file
View File

@ -0,0 +1,133 @@
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CODE_SERVICE_HOST = 'https://www.gitlink.org.cn/';
module.exports = (env, options) => {
return {
entry: './src/main.tsx',
target: 'web',
mode: 'development',
watch: true,
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/,
},
{
test: /\.scss$/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: [['postcss-preset-env']],
},
},
},
'sass-loader',
],
},
{
test: /\.module.less$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
sourceMap: true,
esModule: false,
modules: {
mode: 'local',
localIdentName: '[local]___[hash:base64:5]',
},
},
},
'less-loader',
],
},
{
test: /^((?!\.module).)*less$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
importLoaders: 1,
sourceMap: true,
esModule: false,
},
},
{
loader: 'less-loader',
options: {
lessOptions: {
javascriptEnabled: true,
},
},
},
],
},
{
test: /\.css$/,
use: [
'style-loader',
{
loader: 'css-loader',
options: {
esModule: false,
},
},
],
},
],
},
externals: {
react: 'React',
'react-dom': 'ReactDOM',
alex: 'Alex',
// moment: 'moment',
// antd: 'antd',
},
resolve: { extensions: ['.tsx', '.ts', '.js'] },
output: {
filename: 'main.bundle.js',
path: path.resolve(__dirname, 'dist'),
publicPath: '',
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
publicPath: '/',
inject: true,
minify: false,
}),
],
devServer: {
proxy: {
'/code-service': {
target: CODE_SERVICE_HOST,
headers: {
// cookie 模拟
Cookie:
'autologin_trustie=ebdf7bf2e3a7b7e38db85cbfb052a4f5639b480b;user_id=BAhpA3p1AQ%3D%3D--016cfd4d2c67651b141d9ea39b418fff55bd859c;states=%7B%22select_params%22%3A%7B%22page%22%3A1%2C%22limit%22%3A15%2C%22fixed_version_id%22%3A%222031%22%7D%2C%22assigned_to_ids%22%3A%22%E8%B4%9F%E8%B4%A3%E4%BA%BA%22%2C%22status_type%22%3A%221%22%2C%22issue_tag_ids%22%3A%22%E6%A0%87%E8%AE%B0%22%2C%22tracker_ids%22%3A%22%E7%B1%BB%E5%9E%8B%22%2C%22author_ids%22%3A%22%E5%8F%91%E5%B8%83%E4%BA%BA%22%2C%22fixed_version_ids%22%3A%22CloudIDE%22%2C%22status_ids%22%3A%22%E7%8A%B6%E6%80%81%22%2C%22done_ratios%22%3A%22%E5%AE%8C%E6%88%90%E5%BA%A6%22%2C%22paix%22%3A%22%E6%8E%92%E5%BA%8F%22%2C%22update_author_ids%22%3A%22%E6%9B%B4%E6%8D%A2%E8%B4%9F%E8%B4%A3%E4%BA%BA%22%2C%22update_status_ids%22%3A%22%E4%BF%AE%E6%94%B9%E7%8A%B6%E6%80%81%22%2C%22begin%22%3A%22%22%2C%22end%22%3A%22%22%7D;_educoder_session=bd5f5284909f8e080964f649497d837b',
},
secure: false,
changeOrigin: true,
pathRewrite: {
'^/code-service': '',
},
onProxyReq(request) {
request.setHeader('origin', CODE_SERVICE_HOST);
},
},
},
historyApiFallback: true,
},
};
};