volar-service-css 0.0.0 → 0.0.1

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/out/index.d.ts CHANGED
@@ -1,3 +1,8 @@
1
- import type { Service } from '@volar/language-service';
1
+ import type { InjectionKey, Service } from '@volar/language-service';
2
+ import * as css from 'vscode-css-languageservice';
3
+ export declare const rulesInjectionKey: InjectionKey<{
4
+ stylesheet: css.Stylesheet;
5
+ languageService: css.LanguageService;
6
+ }>;
2
7
  declare const _default: () => Service;
3
8
  export default _default;
package/out/index.js CHANGED
@@ -23,9 +23,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.rulesInjectionKey = void 0;
26
27
  const css = __importStar(require("vscode-css-languageservice"));
27
28
  const vscode = __importStar(require("vscode-languageserver-protocol"));
28
29
  const path = __importStar(require("path"));
30
+ exports.rulesInjectionKey = Symbol();
29
31
  exports.default = () => (context) => {
30
32
  // https://github.com/microsoft/vscode/blob/09850876e652688fb142e2e19fd00fd38c0bc4ba/extensions/css-language-features/server/src/cssServer.ts#L97
31
33
  const triggerCharacters = ['/', '-', ':'];
@@ -48,16 +50,23 @@ exports.default = () => (context) => {
48
50
  },
49
51
  };
50
52
  return {
51
- triggerCharacters,
52
- async resolveRuleContext(context) {
53
- await worker(context.document, (stylesheet, cssLs) => {
54
- context.css = {
55
- stylesheet,
56
- languageService: cssLs,
57
- };
58
- });
59
- return context;
53
+ rules: {
54
+ provide: {
55
+ [exports.rulesInjectionKey](document) {
56
+ const stylesheet = getStylesheet(document);
57
+ if (!stylesheet)
58
+ return;
59
+ const cssLs = getCssLs(document.languageId);
60
+ if (!cssLs)
61
+ return;
62
+ return {
63
+ stylesheet,
64
+ languageService: cssLs,
65
+ };
66
+ },
67
+ },
60
68
  },
69
+ triggerCharacters,
61
70
  async provideCompletionItems(document, position) {
62
71
  return worker(document, async (stylesheet, cssLs) => {
63
72
  const settings = await context.env.getConfiguration?.(document.languageId);
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "volar-service-css",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "main": "out/index.js",
5
5
  "license": "MIT",
6
6
  "files": [
7
- "rules.d.ts",
8
7
  "out/**/*.js",
9
8
  "out/**/*.d.ts"
10
9
  ],
@@ -26,5 +25,5 @@
26
25
  "optional": true
27
26
  }
28
27
  },
29
- "gitHead": "1011561ac4bbf79c53c3b80c27692569bf861519"
28
+ "gitHead": "5bf5152f076f25cb1ddbc7aa6978a8d1c7009fd6"
30
29
  }
package/rules.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import * as css from 'vscode-css-languageservice';
2
-
3
- declare module '@volar/language-service' {
4
- interface RuleContext {
5
- css?: {
6
- stylesheet: css.Stylesheet;
7
- languageService: css.LanguageService;
8
- }
9
- }
10
- }