@stylelint/language-server 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +22 -0
- package/README.md +39 -0
- package/bin/stylelint-language-server.mjs +25 -0
- package/build/di/container.d.ts +12 -0
- package/build/di/container.js +76 -0
- package/build/di/container.js.map +1 -0
- package/build/di/hooks.d.ts +16 -0
- package/build/di/hooks.js +25 -0
- package/build/di/hooks.js.map +1 -0
- package/build/di/index.d.ts +7 -0
- package/build/di/index.js +8 -0
- package/build/di/index.js.map +1 -0
- package/build/di/inject.d.ts +48 -0
- package/build/di/inject.js +55 -0
- package/build/di/inject.js.map +1 -0
- package/build/di/module.d.ts +51 -0
- package/build/di/module.js +93 -0
- package/build/di/module.js.map +1 -0
- package/build/di/runtime/application.d.ts +17 -0
- package/build/di/runtime/application.js +209 -0
- package/build/di/runtime/application.js.map +1 -0
- package/build/di/runtime/decorators.d.ts +14 -0
- package/build/di/runtime/decorators.js +26 -0
- package/build/di/runtime/decorators.js.map +1 -0
- package/build/di/runtime/index.d.ts +3 -0
- package/build/di/runtime/index.js +4 -0
- package/build/di/runtime/index.js.map +1 -0
- package/build/di/runtime/symbols.d.ts +1 -0
- package/build/di/runtime/symbols.js +2 -0
- package/build/di/runtime/symbols.js.map +1 -0
- package/build/di/runtime/types.d.ts +20 -0
- package/build/di/runtime/types.js +2 -0
- package/build/di/runtime/types.js.map +1 -0
- package/build/di/tokens.d.ts +8 -0
- package/build/di/tokens.js +7 -0
- package/build/di/tokens.js.map +1 -0
- package/build/di/types.d.ts +16 -0
- package/build/di/types.js +2 -0
- package/build/di/types.js.map +1 -0
- package/build/server/config/default-options.d.ts +2 -0
- package/build/server/config/default-options.js +29 -0
- package/build/server/config/default-options.js.map +1 -0
- package/build/server/decorators.d.ts +121 -0
- package/build/server/decorators.js +272 -0
- package/build/server/decorators.js.map +1 -0
- package/build/server/index.d.ts +2 -0
- package/build/server/index.js +3 -0
- package/build/server/index.js.map +1 -0
- package/build/server/modules/documents.module.d.ts +1 -0
- package/build/server/modules/documents.module.js +12 -0
- package/build/server/modules/documents.module.js.map +1 -0
- package/build/server/modules/index.d.ts +6 -0
- package/build/server/modules/index.js +7 -0
- package/build/server/modules/index.js.map +1 -0
- package/build/server/modules/infrastructure.module.d.ts +1 -0
- package/build/server/modules/infrastructure.module.js +7 -0
- package/build/server/modules/infrastructure.module.js.map +1 -0
- package/build/server/modules/lsp.module.d.ts +1 -0
- package/build/server/modules/lsp.module.js +18 -0
- package/build/server/modules/lsp.module.js.map +1 -0
- package/build/server/modules/platform.module.d.ts +4 -0
- package/build/server/modules/platform.module.js +33 -0
- package/build/server/modules/platform.module.js.map +1 -0
- package/build/server/modules/stylelint-runtime.module.d.ts +1 -0
- package/build/server/modules/stylelint-runtime.module.js +19 -0
- package/build/server/modules/stylelint-runtime.module.js.map +1 -0
- package/build/server/modules/workspace.module.d.ts +1 -0
- package/build/server/modules/workspace.module.js +7 -0
- package/build/server/modules/workspace.module.js.map +1 -0
- package/build/server/runtime/application.d.ts +19 -0
- package/build/server/runtime/application.js +22 -0
- package/build/server/runtime/application.js.map +1 -0
- package/build/server/runtime/language-server-feature.d.ts +13 -0
- package/build/server/runtime/language-server-feature.js +142 -0
- package/build/server/runtime/language-server-feature.js.map +1 -0
- package/build/server/runtime/lsp-service-runtime.d.ts +15 -0
- package/build/server/runtime/lsp-service-runtime.js +133 -0
- package/build/server/runtime/lsp-service-runtime.js.map +1 -0
- package/build/server/server.d.ts +13 -0
- package/build/server/server.js +38 -0
- package/build/server/server.js.map +1 -0
- package/build/server/server.module.d.ts +1 -0
- package/build/server/server.module.js +13 -0
- package/build/server/server.module.js.map +1 -0
- package/build/server/services/documents/document-diagnostics.service.d.ts +15 -0
- package/build/server/services/documents/document-diagnostics.service.js +88 -0
- package/build/server/services/documents/document-diagnostics.service.js.map +1 -0
- package/build/server/services/documents/document-fixes.service.d.ts +14 -0
- package/build/server/services/documents/document-fixes.service.js +94 -0
- package/build/server/services/documents/document-fixes.service.js.map +1 -0
- package/build/server/services/documents/index.d.ts +2 -0
- package/build/server/services/documents/index.js +3 -0
- package/build/server/services/documents/index.js.map +1 -0
- package/build/server/services/index.d.ts +5 -0
- package/build/server/services/index.js +6 -0
- package/build/server/services/index.js.map +1 -0
- package/build/server/services/infrastructure/command.service.d.ts +22 -0
- package/build/server/services/infrastructure/command.service.js +151 -0
- package/build/server/services/infrastructure/command.service.js.map +1 -0
- package/build/server/services/infrastructure/index.d.ts +4 -0
- package/build/server/services/infrastructure/index.js +5 -0
- package/build/server/services/infrastructure/index.js.map +1 -0
- package/build/server/services/infrastructure/logging.service.d.ts +6 -0
- package/build/server/services/infrastructure/logging.service.js +4 -0
- package/build/server/services/infrastructure/logging.service.js.map +1 -0
- package/build/server/services/infrastructure/notification.service.d.ts +24 -0
- package/build/server/services/infrastructure/notification.service.js +142 -0
- package/build/server/services/infrastructure/notification.service.js.map +1 -0
- package/build/server/services/infrastructure/winston-logging.service.d.ts +10 -0
- package/build/server/services/infrastructure/winston-logging.service.js +48 -0
- package/build/server/services/infrastructure/winston-logging.service.js.map +1 -0
- package/build/server/services/lsp/auto-fix.service.d.ts +15 -0
- package/build/server/services/lsp/auto-fix.service.js +142 -0
- package/build/server/services/lsp/auto-fix.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/code-action.service.d.ts +18 -0
- package/build/server/services/lsp/code-actions/code-action.service.js +288 -0
- package/build/server/services/lsp/code-actions/code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.d.ts +11 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js +72 -0
- package/build/server/services/lsp/code-actions/disable-rule-file-code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.d.ts +12 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js +80 -0
- package/build/server/services/lsp/code-actions/disable-rule-line-code-action.service.js.map +1 -0
- package/build/server/services/lsp/code-actions/index.d.ts +3 -0
- package/build/server/services/lsp/code-actions/index.js +4 -0
- package/build/server/services/lsp/code-actions/index.js.map +1 -0
- package/build/server/services/lsp/completion.service.d.ts +12 -0
- package/build/server/services/lsp/completion.service.js +183 -0
- package/build/server/services/lsp/completion.service.js.map +1 -0
- package/build/server/services/lsp/empty-config-warning.service.d.ts +17 -0
- package/build/server/services/lsp/empty-config-warning.service.js +149 -0
- package/build/server/services/lsp/empty-config-warning.service.js.map +1 -0
- package/build/server/services/lsp/formatter.service.d.ts +16 -0
- package/build/server/services/lsp/formatter.service.js +215 -0
- package/build/server/services/lsp/formatter.service.js.map +1 -0
- package/build/server/services/lsp/index.d.ts +8 -0
- package/build/server/services/lsp/index.js +9 -0
- package/build/server/services/lsp/index.js.map +1 -0
- package/build/server/services/lsp/old-stylelint-warning.service.d.ts +13 -0
- package/build/server/services/lsp/old-stylelint-warning.service.js +186 -0
- package/build/server/services/lsp/old-stylelint-warning.service.js.map +1 -0
- package/build/server/services/lsp/validator.service.d.ts +19 -0
- package/build/server/services/lsp/validator.service.js +273 -0
- package/build/server/services/lsp/validator.service.js.map +1 -0
- package/build/server/services/lsp/workspace-activity.service.d.ts +10 -0
- package/build/server/services/lsp/workspace-activity.service.js +76 -0
- package/build/server/services/lsp/workspace-activity.service.js.map +1 -0
- package/build/server/services/services.module.d.ts +1 -0
- package/build/server/services/services.module.js +19 -0
- package/build/server/services/services.module.js.map +1 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.d.ts +38 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.js +223 -0
- package/build/server/services/stylelint-runtime/global-path-resolver.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/index.d.ts +11 -0
- package/build/server/services/stylelint-runtime/index.js +12 -0
- package/build/server/services/stylelint-runtime/index.js.map +1 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.d.ts +9 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.js +141 -0
- package/build/server/services/stylelint-runtime/package-root-cache.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/package-root.service.d.ts +8 -0
- package/build/server/services/stylelint-runtime/package-root.service.js +119 -0
- package/build/server/services/stylelint-runtime/package-root.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.d.ts +16 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js +195 -0
- package/build/server/services/stylelint-runtime/pnp-configuration-cache.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/process-runner.service.d.ts +30 -0
- package/build/server/services/stylelint-runtime/process-runner.service.js +149 -0
- package/build/server/services/stylelint-runtime/process-runner.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.d.ts +12 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.js +185 -0
- package/build/server/services/stylelint-runtime/stylelint-options.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.d.ts +42 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js +478 -0
- package/build/server/services/stylelint-runtime/stylelint-runner.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.d.ts +17 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.js +135 -0
- package/build/server/services/stylelint-runtime/worker-environment.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-process.service.d.ts +8 -0
- package/build/server/services/stylelint-runtime/worker-process.service.js +66 -0
- package/build/server/services/stylelint-runtime/worker-process.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.d.ts +19 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.js +289 -0
- package/build/server/services/stylelint-runtime/worker-registry.service.js.map +1 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.d.ts +37 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js +185 -0
- package/build/server/services/stylelint-runtime/workspace-stylelint.service.js.map +1 -0
- package/build/server/services/workspace/index.d.ts +2 -0
- package/build/server/services/workspace/index.js +3 -0
- package/build/server/services/workspace/index.js.map +1 -0
- package/build/server/services/workspace/workspace-folder.service.d.ts +18 -0
- package/build/server/services/workspace/workspace-folder.service.js +101 -0
- package/build/server/services/workspace/workspace-folder.service.js.map +1 -0
- package/build/server/services/workspace/workspace-options.service.d.ts +12 -0
- package/build/server/services/workspace/workspace-options.service.js +125 -0
- package/build/server/services/workspace/workspace-options.service.js.map +1 -0
- package/build/server/stylelint/disable-metadata-lookup-table.d.ts +20 -0
- package/build/server/stylelint/disable-metadata-lookup-table.js +68 -0
- package/build/server/stylelint/disable-metadata-lookup-table.js.map +1 -0
- package/build/server/stylelint/formatting-options-to-rules.d.ts +12 -0
- package/build/server/stylelint/formatting-options-to-rules.js +19 -0
- package/build/server/stylelint/formatting-options-to-rules.js.map +1 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.d.ts +7 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.js +22 -0
- package/build/server/stylelint/get-disable-diagnostic-rule.js.map +1 -0
- package/build/server/stylelint/index.d.ts +7 -0
- package/build/server/stylelint/index.js +8 -0
- package/build/server/stylelint/index.js.map +1 -0
- package/build/server/stylelint/is-disable-report-rule.d.ts +6 -0
- package/build/server/stylelint/is-disable-report-rule.js +17 -0
- package/build/server/stylelint/is-disable-report-rule.js.map +1 -0
- package/build/server/stylelint/load-stylelint.d.ts +23 -0
- package/build/server/stylelint/load-stylelint.js +173 -0
- package/build/server/stylelint/load-stylelint.js.map +1 -0
- package/build/server/stylelint/process-linter-result.d.ts +32 -0
- package/build/server/stylelint/process-linter-result.js +129 -0
- package/build/server/stylelint/process-linter-result.js.map +1 -0
- package/build/server/stylelint/types.d.ts +143 -0
- package/build/server/stylelint/types.js +47 -0
- package/build/server/stylelint/types.js.map +1 -0
- package/build/server/stylelint/warning-to-diagnostic.d.ts +46 -0
- package/build/server/stylelint/warning-to-diagnostic.js +143 -0
- package/build/server/stylelint/warning-to-diagnostic.js.map +1 -0
- package/build/server/tokens.d.ts +20 -0
- package/build/server/tokens.js +16 -0
- package/build/server/tokens.js.map +1 -0
- package/build/server/types.d.ts +74 -0
- package/build/server/types.js +18 -0
- package/build/server/types.js.map +1 -0
- package/build/server/utils/documents/create-text-edits.d.ts +10 -0
- package/build/server/utils/documents/create-text-edits.js +31 -0
- package/build/server/utils/documents/create-text-edits.js.map +1 -0
- package/build/server/utils/documents/get-disable-type.d.ts +26 -0
- package/build/server/utils/documents/get-disable-type.js +32 -0
- package/build/server/utils/documents/get-disable-type.js.map +1 -0
- package/build/server/utils/documents/get-edit-info.d.ts +14 -0
- package/build/server/utils/documents/get-edit-info.js +31 -0
- package/build/server/utils/documents/get-edit-info.js.map +1 -0
- package/build/server/utils/documents/get-fixes.d.ts +12 -0
- package/build/server/utils/documents/get-fixes.js +18 -0
- package/build/server/utils/documents/get-fixes.js.map +1 -0
- package/build/server/utils/documents/index.d.ts +4 -0
- package/build/server/utils/documents/index.js +5 -0
- package/build/server/utils/documents/index.js.map +1 -0
- package/build/server/utils/errors.d.ts +10 -0
- package/build/server/utils/errors.js +89 -0
- package/build/server/utils/errors.js.map +1 -0
- package/build/server/utils/fs.d.ts +4 -0
- package/build/server/utils/fs.js +11 -0
- package/build/server/utils/fs.js.map +1 -0
- package/build/server/utils/functions/get-first-return-value.d.ts +11 -0
- package/build/server/utils/functions/get-first-return-value.js +28 -0
- package/build/server/utils/functions/get-first-return-value.js.map +1 -0
- package/build/server/utils/functions/index.d.ts +2 -0
- package/build/server/utils/functions/index.js +3 -0
- package/build/server/utils/functions/index.js.map +1 -0
- package/build/server/utils/functions/lazy-call.d.ts +12 -0
- package/build/server/utils/functions/lazy-call.js +33 -0
- package/build/server/utils/functions/lazy-call.js.map +1 -0
- package/build/server/utils/index.d.ts +11 -0
- package/build/server/utils/index.js +12 -0
- package/build/server/utils/index.js.map +1 -0
- package/build/server/utils/iterables.d.ts +8 -0
- package/build/server/utils/iterables.js +15 -0
- package/build/server/utils/iterables.js.map +1 -0
- package/build/server/utils/logging/error-formatter.d.ts +7 -0
- package/build/server/utils/logging/error-formatter.js +14 -0
- package/build/server/utils/logging/error-formatter.js.map +1 -0
- package/build/server/utils/logging/get-log-function.d.ts +8 -0
- package/build/server/utils/logging/get-log-function.js +11 -0
- package/build/server/utils/logging/get-log-function.js.map +1 -0
- package/build/server/utils/logging/index.d.ts +4 -0
- package/build/server/utils/logging/index.js +5 -0
- package/build/server/utils/logging/index.js.map +1 -0
- package/build/server/utils/logging/language-server-formatter.d.ts +19 -0
- package/build/server/utils/logging/language-server-formatter.js +55 -0
- package/build/server/utils/logging/language-server-formatter.js.map +1 -0
- package/build/server/utils/logging/language-server-transport.d.ts +19 -0
- package/build/server/utils/logging/language-server-transport.js +39 -0
- package/build/server/utils/logging/language-server-transport.js.map +1 -0
- package/build/server/utils/lsp/create-disable-completion-item.d.ts +7 -0
- package/build/server/utils/lsp/create-disable-completion-item.js +32 -0
- package/build/server/utils/lsp/create-disable-completion-item.js.map +1 -0
- package/build/server/utils/lsp/display-error.d.ts +7 -0
- package/build/server/utils/lsp/display-error.js +24 -0
- package/build/server/utils/lsp/display-error.js.map +1 -0
- package/build/server/utils/lsp/index.d.ts +4 -0
- package/build/server/utils/lsp/index.js +5 -0
- package/build/server/utils/lsp/index.js.map +1 -0
- package/build/server/utils/lsp/rule-code-actions-collection.d.ts +29 -0
- package/build/server/utils/lsp/rule-code-actions-collection.js +61 -0
- package/build/server/utils/lsp/rule-code-actions-collection.js.map +1 -0
- package/build/server/utils/lsp/types.d.ts +22 -0
- package/build/server/utils/lsp/types.js +2 -0
- package/build/server/utils/lsp/types.js.map +1 -0
- package/build/server/utils/objects/index.d.ts +3 -0
- package/build/server/utils/objects/index.js +4 -0
- package/build/server/utils/objects/index.js.map +1 -0
- package/build/server/utils/objects/is-object.d.ts +8 -0
- package/build/server/utils/objects/is-object.js +13 -0
- package/build/server/utils/objects/is-object.js.map +1 -0
- package/build/server/utils/objects/merge-assign.d.ts +8 -0
- package/build/server/utils/objects/merge-assign.js +38 -0
- package/build/server/utils/objects/merge-assign.js.map +1 -0
- package/build/server/utils/objects/merge-options-with-defaults.d.ts +5 -0
- package/build/server/utils/objects/merge-options-with-defaults.js +56 -0
- package/build/server/utils/objects/merge-options-with-defaults.js.map +1 -0
- package/build/server/utils/sets.d.ts +6 -0
- package/build/server/utils/sets.js +22 -0
- package/build/server/utils/sets.js.map +1 -0
- package/build/server/utils/strings.d.ts +12 -0
- package/build/server/utils/strings.js +20 -0
- package/build/server/utils/strings.js.map +1 -0
- package/build/server/utils/types.d.ts +27 -0
- package/build/server/utils/types.js +2 -0
- package/build/server/utils/types.js.map +1 -0
- package/build/server/worker/types.d.ts +63 -0
- package/build/server/worker/types.js +2 -0
- package/build/server/worker/types.js.map +1 -0
- package/build/server/worker/worker-entry.d.ts +1 -0
- package/build/server/worker/worker-entry.js +320 -0
- package/build/server/worker/worker-entry.js.map +1 -0
- package/build/server/worker/worker-logging.service.d.ts +18 -0
- package/build/server/worker/worker-logging.service.js +61 -0
- package/build/server/worker/worker-logging.service.js.map +1 -0
- package/build/server/worker/worker-process.d.ts +54 -0
- package/build/server/worker/worker-process.js +266 -0
- package/build/server/worker/worker-process.js.map +1 -0
- package/build/shared/log-level.d.ts +5 -0
- package/build/shared/log-level.js +11 -0
- package/build/shared/log-level.js.map +1 -0
- package/build/shared/types.d.ts +9 -0
- package/build/shared/types.js +3 -0
- package/build/shared/types.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
35
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
36
|
+
import { inject } from '../../../../di/index.js';
|
|
37
|
+
import { getEditInfo, RuleCodeActionsCollection } from '../../../utils/index.js';
|
|
38
|
+
import { codeActionRequest, command, initialize, lspService } from '../../../decorators.js';
|
|
39
|
+
import { isDisableReportRule } from '../../../stylelint/index.js';
|
|
40
|
+
import { lspConnectionToken, textDocumentsToken } from '../../../tokens.js';
|
|
41
|
+
import { CommandId, CodeActionKind as StylelintCodeActionKind } from '../../../types.js';
|
|
42
|
+
import { DocumentDiagnosticsService } from '../../documents/document-diagnostics.service.js';
|
|
43
|
+
import { DocumentFixesService } from '../../documents/document-fixes.service.js';
|
|
44
|
+
import { loggingServiceToken } from '../../infrastructure/logging.service.js';
|
|
45
|
+
import { WorkspaceOptionsService } from '../../workspace/workspace-options.service.js';
|
|
46
|
+
import { DisableRuleFileCodeActionService } from './disable-rule-file-code-action.service.js';
|
|
47
|
+
import { DisableRuleLineCodeActionService } from './disable-rule-line-code-action.service.js';
|
|
48
|
+
let CodeActionService = (() => {
|
|
49
|
+
let _classDecorators = [lspService(), inject({
|
|
50
|
+
inject: [
|
|
51
|
+
textDocumentsToken,
|
|
52
|
+
WorkspaceOptionsService,
|
|
53
|
+
DocumentFixesService,
|
|
54
|
+
DocumentDiagnosticsService,
|
|
55
|
+
DisableRuleLineCodeActionService,
|
|
56
|
+
DisableRuleFileCodeActionService,
|
|
57
|
+
lspConnectionToken,
|
|
58
|
+
loggingServiceToken,
|
|
59
|
+
],
|
|
60
|
+
})];
|
|
61
|
+
let _classDescriptor;
|
|
62
|
+
let _classExtraInitializers = [];
|
|
63
|
+
let _classThis;
|
|
64
|
+
let _instanceExtraInitializers = [];
|
|
65
|
+
let _onInitialize_decorators;
|
|
66
|
+
let _openRuleDocumentation_decorators;
|
|
67
|
+
let _handleCodeAction_decorators;
|
|
68
|
+
var CodeActionService = class {
|
|
69
|
+
static { _classThis = this; }
|
|
70
|
+
static {
|
|
71
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
72
|
+
_onInitialize_decorators = [initialize()];
|
|
73
|
+
_openRuleDocumentation_decorators = [command(CommandId.OpenRuleDoc, { minArgs: 1 })];
|
|
74
|
+
_handleCodeAction_decorators = [codeActionRequest()];
|
|
75
|
+
__esDecorate(this, null, _onInitialize_decorators, { kind: "method", name: "onInitialize", static: false, private: false, access: { has: obj => "onInitialize" in obj, get: obj => obj.onInitialize }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
76
|
+
__esDecorate(this, null, _openRuleDocumentation_decorators, { kind: "method", name: "openRuleDocumentation", static: false, private: false, access: { has: obj => "openRuleDocumentation" in obj, get: obj => obj.openRuleDocumentation }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
77
|
+
__esDecorate(this, null, _handleCodeAction_decorators, { kind: "method", name: "handleCodeAction", static: false, private: false, access: { has: obj => "handleCodeAction" in obj, get: obj => obj.handleCodeAction }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
78
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
79
|
+
CodeActionService = _classThis = _classDescriptor.value;
|
|
80
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
81
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
82
|
+
}
|
|
83
|
+
#documents = __runInitializers(this, _instanceExtraInitializers);
|
|
84
|
+
#options;
|
|
85
|
+
#fixes;
|
|
86
|
+
#diagnostics;
|
|
87
|
+
#disableRuleLineFactory;
|
|
88
|
+
#disableRuleFileFactory;
|
|
89
|
+
#connection;
|
|
90
|
+
#logger;
|
|
91
|
+
constructor(documents, options, fixes, diagnostics, disableRuleLineFactory, disableRuleFileFactory, connection, loggingService) {
|
|
92
|
+
this.#documents = documents;
|
|
93
|
+
this.#options = options;
|
|
94
|
+
this.#fixes = fixes;
|
|
95
|
+
this.#diagnostics = diagnostics;
|
|
96
|
+
this.#disableRuleLineFactory = disableRuleLineFactory;
|
|
97
|
+
this.#disableRuleFileFactory = disableRuleFileFactory;
|
|
98
|
+
this.#connection = connection;
|
|
99
|
+
this.#logger = loggingService.createLogger(CodeActionService);
|
|
100
|
+
}
|
|
101
|
+
onInitialize() {
|
|
102
|
+
return {
|
|
103
|
+
capabilities: {
|
|
104
|
+
codeActionProvider: {
|
|
105
|
+
codeActionKinds: [
|
|
106
|
+
LSP.CodeActionKind.QuickFix,
|
|
107
|
+
StylelintCodeActionKind.StylelintSourceFixAll,
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
executeCommandProvider: {
|
|
111
|
+
commands: [CommandId.OpenRuleDoc],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
async openRuleDocumentation(params) {
|
|
117
|
+
if (!params) {
|
|
118
|
+
this.#logger?.debug('No URL provided, ignoring command request');
|
|
119
|
+
return {};
|
|
120
|
+
}
|
|
121
|
+
const { uri } = params;
|
|
122
|
+
this.#logger?.debug('Opening rule documentation', { uri });
|
|
123
|
+
const response = await this.#connection.window.showDocument({ uri, external: true });
|
|
124
|
+
if (!response.success) {
|
|
125
|
+
this.#logger?.warn('Failed to open rule documentation', { uri });
|
|
126
|
+
return new LSP.ResponseError(LSP.ErrorCodes.InternalError, 'Failed to open rule documentation');
|
|
127
|
+
}
|
|
128
|
+
return {};
|
|
129
|
+
}
|
|
130
|
+
async handleCodeAction(params) {
|
|
131
|
+
const { textDocument, context } = params;
|
|
132
|
+
const { uri } = textDocument;
|
|
133
|
+
this.#logger?.debug('Received onCodeAction', { uri, context });
|
|
134
|
+
const document = this.#documents.get(uri);
|
|
135
|
+
if (!document) {
|
|
136
|
+
this.#logger?.debug('Unknown document, ignoring', { uri });
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
if (!(await this.#shouldProvideCodeActions(document))) {
|
|
140
|
+
this.#logger?.debug('Document should not be validated, ignoring', {
|
|
141
|
+
uri,
|
|
142
|
+
language: document.languageId,
|
|
143
|
+
});
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
const actions = await this.#getCodeActions(document, context);
|
|
147
|
+
this.#logger?.debug('Returning code actions', { uri, count: actions.length });
|
|
148
|
+
return actions;
|
|
149
|
+
}
|
|
150
|
+
async #shouldProvideCodeActions(document) {
|
|
151
|
+
const options = await this.#options.getOptions(document.uri);
|
|
152
|
+
return options.validate.includes(document.languageId);
|
|
153
|
+
}
|
|
154
|
+
async #getCodeActions(document, context) {
|
|
155
|
+
const only = context.only && new Set(context.only);
|
|
156
|
+
const fixAllActions = [];
|
|
157
|
+
if (only?.has(LSP.CodeActionKind.SourceFixAll) ||
|
|
158
|
+
only?.has(StylelintCodeActionKind.StylelintSourceFixAll)) {
|
|
159
|
+
this.#logger?.debug('Creating "source-fix-all" code action');
|
|
160
|
+
const action = await this.#getAutoFixAllAction(document);
|
|
161
|
+
if (action) {
|
|
162
|
+
fixAllActions.push(action);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this.#logger?.debug('No source-fix-all actions requested, skipping');
|
|
167
|
+
}
|
|
168
|
+
if (only?.has(LSP.CodeActionKind.Source)) {
|
|
169
|
+
this.#logger?.debug('Creating "source" code action');
|
|
170
|
+
fixAllActions.push(this.#getAutoFixAllCommandAction(document));
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.#logger?.debug('No source actions requested, skipping');
|
|
174
|
+
}
|
|
175
|
+
if (only &&
|
|
176
|
+
!only.has(LSP.CodeActionKind.QuickFix) &&
|
|
177
|
+
!only.has(LSP.CodeActionKind.SourceFixAll) &&
|
|
178
|
+
!only.has(StylelintCodeActionKind.StylelintSourceFixAll) &&
|
|
179
|
+
!only.has(LSP.CodeActionKind.Source)) {
|
|
180
|
+
this.#logger?.debug('No quick fix actions requested, skipping quick fixes');
|
|
181
|
+
return fixAllActions;
|
|
182
|
+
}
|
|
183
|
+
const result = new RuleCodeActionsCollection();
|
|
184
|
+
for (const diagnostic of context.diagnostics) {
|
|
185
|
+
const { source, code } = diagnostic;
|
|
186
|
+
if (source !== 'Stylelint' || typeof code !== 'string') {
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
if (!isDisableReportRule(code)) {
|
|
190
|
+
const options = await this.#options.getOptions(document.uri);
|
|
191
|
+
const { location } = options.codeAction.disableRuleComment;
|
|
192
|
+
result.get(code).disableLine = this.#disableRuleLineFactory.create(document, diagnostic, location);
|
|
193
|
+
if (!result.get(code).disableFile) {
|
|
194
|
+
result.get(code).disableFile = this.#disableRuleFileFactory.create(document, diagnostic);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (!result.get(code).documentation) {
|
|
198
|
+
result.get(code).documentation = this.#getOpenRuleDocAction(diagnostic);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
this.#addFixAllForRuleActions(document, result);
|
|
202
|
+
return [...this.#getQuickFixActions(document, context), ...result, ...fixAllActions];
|
|
203
|
+
}
|
|
204
|
+
async #getAutoFixAllAction(document) {
|
|
205
|
+
const edits = await this.#fixes.getFixes(document);
|
|
206
|
+
const identifier = { uri: document.uri, version: document.version };
|
|
207
|
+
return edits.length > 0
|
|
208
|
+
? LSP.CodeAction.create('Fix all Stylelint auto-fixable problems', { documentChanges: [LSP.TextDocumentEdit.create(identifier, edits)] }, StylelintCodeActionKind.StylelintSourceFixAll)
|
|
209
|
+
: undefined;
|
|
210
|
+
}
|
|
211
|
+
#getAutoFixAllCommandAction(document) {
|
|
212
|
+
const lspCommand = LSP.Command.create('Fix all Stylelint auto-fixable problems', CommandId.ApplyAutoFix, { uri: document.uri, version: document.version });
|
|
213
|
+
return LSP.CodeAction.create('Fix all Stylelint auto-fixable problems', lspCommand, LSP.CodeActionKind.Source);
|
|
214
|
+
}
|
|
215
|
+
#getQuickFixActions(document, context) {
|
|
216
|
+
const identifier = { uri: document.uri, version: document.version };
|
|
217
|
+
const actions = [];
|
|
218
|
+
const lintResult = this.#diagnostics.getLintResult(document.uri);
|
|
219
|
+
for (const diagnostic of context.diagnostics) {
|
|
220
|
+
const editInfo = getEditInfo(document, diagnostic, lintResult);
|
|
221
|
+
if (!editInfo) {
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
const action = LSP.CodeAction.create(editInfo.label, { documentChanges: [LSP.TextDocumentEdit.create(identifier, [editInfo.edit])] }, LSP.CodeActionKind.QuickFix);
|
|
225
|
+
actions.push(action);
|
|
226
|
+
}
|
|
227
|
+
return actions;
|
|
228
|
+
}
|
|
229
|
+
#addFixAllForRuleActions(document, result) {
|
|
230
|
+
const lintResult = this.#diagnostics.getLintResult(document.uri);
|
|
231
|
+
if (!lintResult || document.version !== lintResult.version) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
const allDiagnostics = this.#diagnostics.getDiagnostics(document.uri);
|
|
235
|
+
const editsByRule = new Map();
|
|
236
|
+
for (const diagnostic of allDiagnostics) {
|
|
237
|
+
if (diagnostic.source !== 'Stylelint' || typeof diagnostic.code !== 'string') {
|
|
238
|
+
continue;
|
|
239
|
+
}
|
|
240
|
+
const editInfo = getEditInfo(document, diagnostic, lintResult);
|
|
241
|
+
if (!editInfo) {
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
const startOffset = document.offsetAt(editInfo.edit.range.start);
|
|
245
|
+
const endOffset = document.offsetAt(editInfo.edit.range.end);
|
|
246
|
+
let edits = editsByRule.get(diagnostic.code);
|
|
247
|
+
if (!edits) {
|
|
248
|
+
edits = [];
|
|
249
|
+
editsByRule.set(diagnostic.code, edits);
|
|
250
|
+
}
|
|
251
|
+
edits.push({ edit: editInfo.edit, startOffset, endOffset });
|
|
252
|
+
}
|
|
253
|
+
const identifier = { uri: document.uri, version: document.version };
|
|
254
|
+
for (const [rule, edits] of editsByRule) {
|
|
255
|
+
if (edits.length < 2) {
|
|
256
|
+
continue;
|
|
257
|
+
}
|
|
258
|
+
// Sort by start offset and filter out overlapping edits.
|
|
259
|
+
edits.sort((a, b) => a.startOffset - b.startOffset);
|
|
260
|
+
const nonOverlapping = [];
|
|
261
|
+
let lastEnd = -1;
|
|
262
|
+
for (const entry of edits) {
|
|
263
|
+
if (entry.startOffset >= lastEnd) {
|
|
264
|
+
nonOverlapping.push(entry.edit);
|
|
265
|
+
lastEnd = entry.endOffset;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (nonOverlapping.length < 2) {
|
|
269
|
+
continue;
|
|
270
|
+
}
|
|
271
|
+
result.get(rule).fixAll = LSP.CodeAction.create(`Fix all ${rule} problems`, { documentChanges: [LSP.TextDocumentEdit.create(identifier, nonOverlapping)] }, LSP.CodeActionKind.QuickFix);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
#getOpenRuleDocAction({ code, codeDescription }) {
|
|
275
|
+
const uri = codeDescription?.href;
|
|
276
|
+
if (!uri) {
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
279
|
+
const lspCommand = LSP.Command.create(`Open documentation for ${code}`, CommandId.OpenRuleDoc, {
|
|
280
|
+
uri,
|
|
281
|
+
});
|
|
282
|
+
return LSP.CodeAction.create(`Show documentation for ${code}`, lspCommand, LSP.CodeActionKind.QuickFix);
|
|
283
|
+
}
|
|
284
|
+
};
|
|
285
|
+
return CodeActionService = _classThis;
|
|
286
|
+
})();
|
|
287
|
+
export { CodeActionService };
|
|
288
|
+
//# sourceMappingURL=code-action.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-action.service.js","sourceRoot":"","sources":["../../../../../src/server/services/lsp/code-actions/code-action.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
3
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
4
|
+
/**
|
|
5
|
+
* Service that creates code actions that disable a rule for an entire file.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DisableRuleFileCodeActionService {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(osModule?: Pick<typeof os, 'EOL'>);
|
|
10
|
+
create(document: TextDocument, { code }: LSP.Diagnostic): LSP.CodeAction;
|
|
11
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import os from 'os';
|
|
36
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
37
|
+
import { inject } from '../../../../di/index.js';
|
|
38
|
+
import { OsModuleToken } from '../../../tokens.js';
|
|
39
|
+
/**
|
|
40
|
+
* Service that creates code actions that disable a rule for an entire file.
|
|
41
|
+
*/
|
|
42
|
+
let DisableRuleFileCodeActionService = (() => {
|
|
43
|
+
let _classDecorators = [inject({ inject: [OsModuleToken] })];
|
|
44
|
+
let _classDescriptor;
|
|
45
|
+
let _classExtraInitializers = [];
|
|
46
|
+
let _classThis;
|
|
47
|
+
var DisableRuleFileCodeActionService = class {
|
|
48
|
+
static { _classThis = this; }
|
|
49
|
+
static {
|
|
50
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
51
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
52
|
+
DisableRuleFileCodeActionService = _classThis = _classDescriptor.value;
|
|
53
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
54
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
55
|
+
}
|
|
56
|
+
#eol;
|
|
57
|
+
constructor(osModule) {
|
|
58
|
+
this.#eol = (osModule ?? os).EOL;
|
|
59
|
+
}
|
|
60
|
+
create(document, { code }) {
|
|
61
|
+
const workspaceChange = new LSP.WorkspaceChange();
|
|
62
|
+
const shebang = document.getText(LSP.Range.create(LSP.Position.create(0, 0), LSP.Position.create(0, 2)));
|
|
63
|
+
workspaceChange
|
|
64
|
+
.getTextEditChange(document)
|
|
65
|
+
.add(LSP.TextEdit.insert(LSP.Position.create(shebang === '#!' ? 1 : 0, 0), `/* stylelint-disable ${code} */${this.#eol}`));
|
|
66
|
+
return LSP.CodeAction.create(`Disable ${code} for the entire file`, workspaceChange.edit, LSP.CodeActionKind.QuickFix);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return DisableRuleFileCodeActionService = _classThis;
|
|
70
|
+
})();
|
|
71
|
+
export { DisableRuleFileCodeActionService };
|
|
72
|
+
//# sourceMappingURL=disable-rule-file-code-action.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable-rule-file-code-action.service.js","sourceRoot":"","sources":["../../../../../src/server/services/lsp/code-actions/disable-rule-file-code-action.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;IAEU,gCAAgC;4BAD5C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;;;;;;;;YACpC,6KA6BC;;;YA7BY,uDAAgC;;QAC5C,IAAI,CAAS;QAEb,YAAY,QAAiC;YAC5C,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,QAAsB,EAAE,EAAE,IAAI,EAAkB;YACtD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YAElD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAC/B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtE,CAAC;YAEF,eAAe;iBACb,iBAAiB,CAAC,QAAQ,CAAC;iBAC3B,GAAG,CACH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAClB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAChD,wBAAwB,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CAC7C,CACD,CAAC;YAEH,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAC3B,WAAW,IAAI,sBAAsB,EACrC,eAAe,CAAC,IAAI,EACpB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAC3B,CAAC;QACH,CAAC;;;;SA5BW,gCAAgC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
3
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
4
|
+
export type DisableRuleLineCodeActionLocation = 'sameLine' | 'separateLine';
|
|
5
|
+
/**
|
|
6
|
+
* Service that creates code actions that disable a rule for a particular line.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DisableRuleLineCodeActionService {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(osModule?: Pick<typeof os, 'EOL'>);
|
|
11
|
+
create(document: TextDocument, { code, range }: LSP.Diagnostic, location: DisableRuleLineCodeActionLocation): LSP.CodeAction;
|
|
12
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import os from 'os';
|
|
36
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
37
|
+
import { inject } from '../../../../di/index.js';
|
|
38
|
+
import { OsModuleToken } from '../../../tokens.js';
|
|
39
|
+
/**
|
|
40
|
+
* Service that creates code actions that disable a rule for a particular line.
|
|
41
|
+
*/
|
|
42
|
+
let DisableRuleLineCodeActionService = (() => {
|
|
43
|
+
let _classDecorators = [inject({ inject: [OsModuleToken] })];
|
|
44
|
+
let _classDescriptor;
|
|
45
|
+
let _classExtraInitializers = [];
|
|
46
|
+
let _classThis;
|
|
47
|
+
var DisableRuleLineCodeActionService = class {
|
|
48
|
+
static { _classThis = this; }
|
|
49
|
+
static {
|
|
50
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
51
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
52
|
+
DisableRuleLineCodeActionService = _classThis = _classDescriptor.value;
|
|
53
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
54
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
55
|
+
}
|
|
56
|
+
#eol;
|
|
57
|
+
constructor(osModule) {
|
|
58
|
+
this.#eol = (osModule ?? os).EOL;
|
|
59
|
+
}
|
|
60
|
+
create(document, { code, range }, location) {
|
|
61
|
+
const workspaceChange = new LSP.WorkspaceChange();
|
|
62
|
+
if (location === 'sameLine') {
|
|
63
|
+
workspaceChange
|
|
64
|
+
.getTextEditChange(document)
|
|
65
|
+
.add(LSP.TextEdit.insert(LSP.Position.create(range.start.line, LSP.uinteger.MAX_VALUE), ` /* stylelint-disable-line ${code} */`));
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const lineText = document.getText(LSP.Range.create(LSP.Position.create(range.start.line, 0), LSP.Position.create(range.start.line, LSP.uinteger.MAX_VALUE)));
|
|
69
|
+
const indentation = lineText.match(/^([ \t]+)/)?.[1] ?? '';
|
|
70
|
+
workspaceChange
|
|
71
|
+
.getTextEditChange(document)
|
|
72
|
+
.add(LSP.TextEdit.insert(LSP.Position.create(range.start.line, 0), `${indentation}/* stylelint-disable-next-line ${code} */${this.#eol}`));
|
|
73
|
+
}
|
|
74
|
+
return LSP.CodeAction.create(`Disable ${code} for this line`, workspaceChange.edit, LSP.CodeActionKind.QuickFix);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
return DisableRuleLineCodeActionService = _classThis;
|
|
78
|
+
})();
|
|
79
|
+
export { DisableRuleLineCodeActionService };
|
|
80
|
+
//# sourceMappingURL=disable-rule-line-code-action.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disable-rule-line-code-action.service.js","sourceRoot":"","sources":["../../../../../src/server/services/lsp/code-actions/disable-rule-line-code-action.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD;;GAEG;IAEU,gCAAgC;4BAD5C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;;;;;;;;YACpC,6KAgDC;;;YAhDY,uDAAgC;;QAC5C,IAAI,CAAS;QAEb,YAAY,QAAiC;YAC5C,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;QAClC,CAAC;QAED,MAAM,CACL,QAAsB,EACtB,EAAE,IAAI,EAAE,KAAK,EAAkB,EAC/B,QAA2C;YAE3C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YAElD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC7B,eAAe;qBACb,iBAAiB,CAAC,QAAQ,CAAC;qBAC3B,GAAG,CACH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAClB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC7D,8BAA8B,IAAI,KAAK,CACvC,CACD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAChC,GAAG,CAAC,KAAK,CAAC,MAAM,CACf,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EACxC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC7D,CACD,CAAC;gBACF,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAE3D,eAAe;qBACb,iBAAiB,CAAC,QAAQ,CAAC;qBAC3B,GAAG,CACH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAClB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EACxC,GAAG,WAAW,kCAAkC,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,CACrE,CACD,CAAC;YACJ,CAAC;YAED,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAC3B,WAAW,IAAI,gBAAgB,EAC/B,eAAe,CAAC,IAAI,EACpB,GAAG,CAAC,cAAc,CAAC,QAAQ,CAC3B,CAAC;QACH,CAAC;;;;SA/CW,gCAAgC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/server/services/lsp/code-actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4CAA4C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as LSP from 'vscode-languageserver-protocol';
|
|
2
|
+
import type { TextDocument } from 'vscode-languageserver-textdocument';
|
|
3
|
+
import type { TextDocuments } from 'vscode-languageserver';
|
|
4
|
+
import { DocumentDiagnosticsService } from '../documents/document-diagnostics.service.js';
|
|
5
|
+
import { type LoggingService } from '../infrastructure/logging.service.js';
|
|
6
|
+
import { WorkspaceOptionsService } from '../workspace/workspace-options.service.js';
|
|
7
|
+
export declare class CompletionService {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(documents: TextDocuments<TextDocument>, options: WorkspaceOptionsService, diagnostics: DocumentDiagnosticsService, loggingService: LoggingService);
|
|
10
|
+
onInitialize(): Partial<LSP.InitializeResult>;
|
|
11
|
+
handleCompletion(params: LSP.CompletionParams): Promise<LSP.CompletionItem[] | LSP.CompletionList | undefined | null>;
|
|
12
|
+
}
|