Home

tailwind-ctp-intellisense @master - refs - log -
-
https://git.jolheiser.com/tailwind-ctp-intellisense.git
Tailwind intellisense + Catppuccin
tree log patch
v0.2.0
Brad Cornes <bradlc41@gmail.com>
6 years ago
8 changed files, 204 additions(+), 101 deletions(-)
.gitignore.vscodeignorepackage-lock.jsonpackage.jsonresources/icon.pngresources/syntaxes/tailwind.tmLanguage.jsonsrc/index.tssrc/server.tstsconfig.json
M .gitignore.gitignore
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
diff --git a/.gitignore b/.gitignore
index d3969f24e88b55455d98d6e8cb76cabaffb2063d..a2e04e20cbd45dce7b25f33dcdbb9d0b5a3f067a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,6 @@ dist
 node_modules
 .vscode-test/
 .vsix
+*.vsix
 .DS_Store
 .rts2_cache_cjs
M .vscodeignore.vscodeignore
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
diff --git a/.vscodeignore b/.vscodeignore
index e2fe3adbec0b281ee973f6bcb79f1dd7269253bb..38b8bcbb266ea1e759ae77b60b796ab86f7e9960 100644
--- a/.vscodeignore
+++ b/.vscodeignore
@@ -1,9 +1,9 @@
-.vscode/**
-.vscode-test/**
-out/test/**
-out/**/*.map
-src/**
-img/**
-.gitignore
-tsconfig.json
-vsc-extension-quickstart.md
+*
+*/**
+**/.DS_Store
+
+!package.json
+!README.md
+!dist/index.js
+!dist/server/index.js
+!resources/**/*
M package-lock.jsonpackage-lock.json
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
diff --git a/package-lock.json b/package-lock.json
index b5aa6b87dd1afb681a05c3dd19a1959f7027a1bd..5248a8172b2401f7ea57269daae4976620b27038 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13 +1,19 @@
 {
   "name": "vscode-tailwindcss",
-  "version": "0.1.16",
+  "version": "0.2.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
+    "@types/node": {
+      "version": "11.13.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-11.13.5.tgz",
+      "integrity": "sha512-/OMMBnjVtDuwX1tg2pkYVSqRIDSmNTnvVvmvP/2xiMAAWf4a5+JozrApCrO4WCAILmXVxfNoQ3E+0HJbNpFVGg==",
+      "dev": true
+    },
     "@zeit/ncc": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.8.1.tgz",
-      "integrity": "sha512-AFgYOmh8gVRd8Bzkvygvbhdq6DayCc+O++bcGr+TFQcsHLWa6Lx9L55VVGU8sVEJibX/6BkDgcrJFZ3vYbh/ww==",
+      "version": "0.17.4",
+      "resolved": "https://registry.npmjs.org/@zeit/ncc/-/ncc-0.17.4.tgz",
+      "integrity": "sha512-d931CjCTzfSC4VYDYgvvBTzhTGv7ExjumFTe8RVbXKAKoTjqOA8ZWDndqjSEbTeQTggyxCcCHm7HpZ28lScKnQ==",
       "dev": true
     },
     "ajv": {
@@ -240,6 +246,7 @@     "color": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz",
       "integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==",
+      "dev": true,
       "requires": {
         "color-convert": "^1.9.1",
         "color-string": "^1.5.2"
@@ -249,6 +256,7 @@     "color-convert": {
       "version": "1.9.3",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
@@ -256,12 +264,14 @@     },
     "color-name": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
     },
     "color-string": {
       "version": "1.5.3",
       "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
       "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+      "dev": true,
       "requires": {
         "color-name": "^1.0.0",
         "simple-swizzle": "^0.2.2"
@@ -354,7 +364,8 @@     },
     "dlv": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.2.tgz",
-      "integrity": "sha512-xxD4VSH67GbRvSGUrckvha94RD7hjgOH7rqGxiytLpkaeMvixOHFZTGFK6EkIm3T761OVHT8ABHmGkq9gXgu6Q=="
+      "integrity": "sha512-xxD4VSH67GbRvSGUrckvha94RD7hjgOH7rqGxiytLpkaeMvixOHFZTGFK6EkIm3T761OVHT8ABHmGkq9gXgu6Q==",
+      "dev": true
     },
     "duplexer": {
       "version": "0.1.1",
@@ -1194,7 +1205,8 @@     },
     "os-tmpdir": {
       "version": "1.0.2",
       "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
-      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+      "dev": true
     },
     "path-dirname": {
       "version": "1.0.2",
@@ -1417,12 +1429,14 @@     },
     "semver": {
       "version": "5.6.0",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
-      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
+      "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+      "dev": true
     },
     "simple-swizzle": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
       "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+      "dev": true,
       "requires": {
         "is-arrayish": "^0.3.1"
       },
@@ -1430,7 +1444,8 @@       "dependencies": {
         "is-arrayish": {
           "version": "0.3.2",
           "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+          "dev": true
         }
       }
     },
@@ -1530,6 +1545,12 @@       "requires": {
         "has-flag": "^2.0.0"
       }
     },
+    "tailwindcss-language-server": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/tailwindcss-language-server/-/tailwindcss-language-server-0.0.1.tgz",
+      "integrity": "sha512-lMoncp8ICeUA1kLVaiKARRUKQxRndKtIelydoMgg3P2ZjAIfcptN8Nin848+VClr2wGoM3+9RZ71sDG1YrnX1g==",
+      "dev": true
+    },
     "tar": {
       "version": "2.2.1",
       "resolved": "http://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
@@ -1571,6 +1592,7 @@     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dev": true,
       "requires": {
         "os-tmpdir": "~1.0.2"
       }
@@ -1832,12 +1854,14 @@     },
     "vscode-jsonrpc": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz",
-      "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg=="
+      "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==",
+      "dev": true
     },
     "vscode-languageclient": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-5.2.1.tgz",
       "integrity": "sha512-7jrS/9WnV0ruqPamN1nE7qCxn0phkH5LjSgSp9h6qoJGoeAKzwKz/PF6M+iGA/aklx4GLZg1prddhEPQtuXI1Q==",
+      "dev": true,
       "requires": {
         "semver": "^5.5.0",
         "vscode-languageserver-protocol": "3.14.1"
@@ -1847,6 +1871,7 @@     "vscode-languageserver-protocol": {
       "version": "3.14.1",
       "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz",
       "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==",
+      "dev": true,
       "requires": {
         "vscode-jsonrpc": "^4.0.0",
         "vscode-languageserver-types": "3.14.0"
@@ -1855,7 +1880,8 @@     },
     "vscode-languageserver-types": {
       "version": "3.14.0",
       "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz",
-      "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A=="
+      "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==",
+      "dev": true
     },
     "wrappy": {
       "version": "1.0.2",
M package.jsonpackage.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
diff --git a/package.json b/package.json
index 1144b1d785edc9d7703952ed2fbb639f752c0fc0..d0f20c99adf934e459f0337e2da0ed5aebd77d72 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@ {
   "name": "vscode-tailwindcss",
   "displayName": "Tailwind CSS IntelliSense",
   "description": "Tailwind CSS class name completion",
-  "version": "0.1.16",
+  "version": "0.2.0",
   "publisher": "bradlc",
   "engines": {
     "vscode": "^1.30.0"
@@ -13,7 +13,7 @@   ],
   "galleryBanner": {
     "color": "#f1f5f8"
   },
-  "icon": "icon.png",
+  "icon": "resources/icon.png",
   "keywords": [
     "tailwind",
     "tailwindcss",
@@ -30,7 +30,7 @@   "contributes": {
     "grammars": [
       {
         "scopeName": "source.css.tailwind",
-        "path": "./syntaxes/tailwind.tmLanguage.json",
+        "path": "./resources/syntaxes/tailwind.tmLanguage.json",
         "injectTo": [
           "source.css",
           "source.css.scss",
@@ -39,48 +39,46 @@           "source.css.postcss"
         ]
       }
     ],
-    "views": {
-      "explorer": [
-        {
-          "id": "tailwindcssConfigExplorer",
-          "name": "Tailwind CSS Configuration"
+    "configuration": {
+      "type": "object",
+      "title": "Tailwind CSS IntelliSense configuration",
+      "properties": {
+        "tailwindCSS.emmetCompletions": {
+          "type": "boolean",
+          "default": false,
+          "description": "Enable class name completions for Emmet-style syntax"
         }
-      ]
-    },
-    "commands": [
-      {
-        "command": "tailwindcss.goToDefinition",
-        "title": "Go To Definition"
       }
-    ]
+    }
   },
   "preview": true,
   "scripts": {
     "vscode:prepublish": "npm run build",
-    "build": "ncc build src/index.ts --out dist --minify --external vscode",
+    "build": "ncc build src/index.ts --out dist --minify --external vscode && ncc build src/server.ts --out dist/server --minify",
     "watch": "ncc build src/index.ts --out dist --watch --external vscode",
+    "start": "npm run watch",
     "postinstall": "node ./node_modules/vscode/bin/install",
     "test": "npm run build && node ./node_modules/vscode/bin/test"
   },
-  "author": "Brad Cornes <bradlc41@gmail.com>",
+  "author": "Brad Cornes <hello@bradley.dev>",
   "license": "MIT",
   "homepage": "https://github.com/bradlc/vscode-tailwindcss/blob/master/README.md",
   "bugs": {
     "url": "https://github.com/bradlc/vscode-tailwindcss/issues",
-    "email": "bradlc41@gmail.com"
+    "email": "hello@bradley.dev"
   },
   "repository": {
     "type": "git",
     "url": "https://github.com/bradlc/vscode-tailwindcss.git"
   },
-  "dependencies": {
+  "devDependencies": {
+    "@types/node": "^11.13.5",
+    "@zeit/ncc": "^0.17.4",
     "color": "^3.1.0",
     "dlv": "^1.1.2",
+    "tailwindcss-language-server": "0.0.1",
     "tmp": "0.0.33",
+    "vscode": "^1.1.26",
     "vscode-languageclient": "^5.2.1"
-  },
-  "devDependencies": {
-    "@zeit/ncc": "^0.8.1",
-    "vscode": "^1.1.26"
   }
 }
I resources/icon.png
1
2
3
4
diff --git a/resources/icon.png b/resources/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..0dfdeb8cb6fa1d99c295e90c2449b302c9e563a9
Binary files /dev/null and b/resources/icon.png differ
I resources/syntaxes/tailwind.tmLanguage.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
diff --git a/resources/syntaxes/tailwind.tmLanguage.json b/resources/syntaxes/tailwind.tmLanguage.json
new file mode 100644
index 0000000000000000000000000000000000000000..b4565900944b5e057cdd340ad947a5e6cbb6a1c8
--- /dev/null
+++ b/resources/syntaxes/tailwind.tmLanguage.json
@@ -0,0 +1,75 @@
+{
+  "scopeName": "source.css.tailwind",
+  "fileTypes": [],
+  "injectionSelector": "meta.property-list.css, meta.property-list.scss",
+  "name": "TailwindCSS",
+  "patterns": [
+    {
+      "begin": "^\\s*(@)apply\\b",
+      "beginCaptures": {
+        "0": {
+          "name": "keyword.control.at-rule.apply.tailwind"
+        },
+        "1": {
+          "name": "punctuation.definition.keyword.tailwind"
+        }
+      },
+      "end": ";",
+      "endCaptures": {
+        "0": {
+          "name": "punctuation.terminator.rule.tailwind"
+        }
+      },
+      "patterns": [
+        {
+          "begin": "(?x)\n(?=\n  (?:\\|)?                    # Possible anonymous namespace prefix\n  (?:\n    [-\\[:.*\\#a-zA-Z_]       # Valid selector character\n    |\n    [^\\x00-\\x7F]            # Which can include non-ASCII symbols\n    |\n    \\\\                      # Or an escape sequence\n    (?:[0-9a-fA-F]{1,6}|.)\n  )\n)",
+          "end": "(?=\\s*[;])",
+          "patterns": [
+            {
+              "match": "!\\s*important(?![\\w-])",
+              "name": "keyword.other.important.tailwind"
+            },
+            {
+              "captures": {
+                "1": {
+                  "name": "punctuation.definition.entity.tailwind"
+                },
+                "2": {
+                  "patterns": [
+                    {
+                      "include": "source.css#escapes"
+                    }
+                  ]
+                }
+              },
+              "match": "(?x)\n(\\.)?                                  # Valid class-name\n(\n  (?: [-a-zA-Z_0-9]|[^\\x00-\\x7F]     # Valid identifier characters\n    | \\\\(?:[0-9a-fA-F]{1,6}|.)       # Escape sequence\n  )+\n)                                      # Followed by either:\n(?= $                                  # - End of the line\n  | [\\s,.\\#)\\[:{>;+~|]               # - Another selector\n  | /\\*                               # - A block comment\n)",
+              "name": "entity.other.attribute-name.class.tailwind"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "begin": "(?i)(?<![\\w-])(config|theme)(\\()",
+      "beginCaptures": {
+        "1": {
+          "name": "support.function.config.tailwind"
+        },
+        "2": {
+          "name": "punctuation.section.function.begin.bracket.round.tailwind"
+        }
+      },
+      "end": "\\)",
+      "endCaptures": {
+        "0": {
+          "name": "punctuation.section.function.end.bracket.round.tailwind"
+        }
+      },
+      "patterns": [
+        {
+          "include": "source.css#property-values"
+        }
+      ]
+    }
+  ]
+}
M src/index.tssrc/index.ts
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
diff --git a/src/index.ts b/src/index.ts
index f8e98505c14bbcebe00dc125ecac9a2a7db76df5..abc662c1308a051e888321a049b814162afa6222 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -7,29 +7,61 @@   workspace as Workspace,
   window as Window,
   ExtensionContext,
   TextDocument,
-  TextEditor,
   OutputChannel,
   WorkspaceFolder,
-  Uri,
-  commands,
-  Selection,
-  Position,
-  Range,
-  TextEditorRevealType
+  Uri
 } from 'vscode'
 
 import {
   LanguageClient,
   LanguageClientOptions,
-  TransportKind,
-  Location
+  TransportKind
 } from 'vscode-languageclient'
 
-import { createTreeView } from './treeView'
+import * as path from 'path'
 
 const CONFIG_GLOB =
   '**/{tailwind,tailwind.config,tailwind-config,.tailwindrc}.js'
-let LANGUAGES: string[] = ['html', 'css']
+export const CSS_LANGUAGES: string[] = [
+  'css',
+  'less',
+  'postcss',
+  'sass',
+  'scss',
+  'stylus',
+  'vue'
+]
+export const JS_LANGUAGES: string[] = [
+  'javascript',
+  'javascriptreact',
+  'reason',
+  'typescriptreact'
+]
+export const HTML_LANGUAGES: string[] = [
+  'blade',
+  'edge',
+  'ejs',
+  'erb',
+  'haml',
+  'handlebars',
+  'html',
+  'HTML (Eex)',
+  'jade',
+  'leaf',
+  'markdown',
+  'njk',
+  'nunjucks',
+  'php',
+  'razor',
+  'slim',
+  'svelte',
+  'twig',
+  'vue',
+  ...JS_LANGUAGES
+]
+export const LANGUAGES: string[] = [...CSS_LANGUAGES, ...HTML_LANGUAGES].filter(
+  (val, index, arr) => arr.indexOf(val) === index
+)
 
 let defaultClient: LanguageClient
 let clients: Map<string, LanguageClient> = new Map()
@@ -72,19 +104,18 @@   return folder
 }
 
 export async function activate(context: ExtensionContext) {
-  // let module = context.asAbsolutePath(path.join('server', 'out', 'server.js'))
-  let module = '/Users/brad/Code/tailwindcss-language-server/dist/index.js'
+  let module = context.asAbsolutePath(path.join('dist', 'server', 'index.js'))
   let outputChannel: OutputChannel = Window.createOutputChannel(
-    'lsp-multi-server-example'
+    'tailwindcss-language-server'
   )
 
   async function didOpenTextDocument(document: TextDocument): Promise<void> {
-    // if (
-    //   document.uri.scheme !== 'file' ||
-    //   LANGUAGES.indexOf(document.languageId) === -1
-    // ) {
-    //   return
-    // }
+    if (
+      document.uri.scheme !== 'file' ||
+      LANGUAGES.indexOf(document.languageId) === -1
+    ) {
+      return
+    }
 
     let uri = document.uri
     let folder = Workspace.getWorkspaceFolder(uri)
@@ -121,50 +152,20 @@           scheme: 'file',
           language,
           pattern: `${folder.uri.fsPath}/**/*`
         })),
-        diagnosticCollectionName: 'lsp-multi-server-example',
+        diagnosticCollectionName: 'tailwindcss-language-server',
         workspaceFolder: folder,
-        outputChannel: outputChannel
+        outputChannel: outputChannel,
+        synchronize: {
+          fileEvents: Workspace.createFileSystemWatcher(CONFIG_GLOB)
+        }
       }
       let client = new LanguageClient(
-        'lsp-multi-server-example',
-        'LSP Multi Server Example',
+        'tailwindcss-language-server',
+        'Tailwind CSS Language Server',
         serverOptions,
         clientOptions
       )
 
-      client.onReady().then(() => {
-        client.onNotification('tailwindcss/foundConfig', configPath => {
-          let refresh = createTreeView(configPath)
-        })
-        client.onNotification(
-          'tailwindcss/foundDefinition',
-          ({ uri, range }: Location) => {
-            Workspace.openTextDocument(uri.replace(/^file:\/\//, '')).then((doc: TextDocument) => {
-              Window.showTextDocument(doc).then((editor: TextEditor) => {
-                let start = new Position(
-                  range.start.line,
-                  range.start.character
-                )
-                let end = new Position(range.end.line, range.end.character)
-                editor.revealRange(
-                  new Range(start, end),
-                  TextEditorRevealType.InCenter
-                )
-                editor.selection = new Selection(start, end)
-              })
-            })
-          }
-        )
-        commands.registerCommand('tailwindcss.goToDefinition', key => {
-          client.sendNotification('tailwindcss/findDefinition', [key])
-        })
-      })
-
-      // client.onReady().then(() => {
-      //   client.onNotification('tailwind/loaded', () => {
-      //     console.log('loaded')
-      //   })
-      // })
       client.start()
       clients.set(folder.uri.toString(), client)
     }
I src/server.ts
1
2
3
4
5
6
7
diff --git a/src/server.ts b/src/server.ts
new file mode 100644
index 0000000000000000000000000000000000000000..1573c6d3150162983ce2d63daffbc26469f07367
--- /dev/null
+++ b/src/server.ts
@@ -0,0 +1 @@
+import 'tailwindcss-language-server'
M tsconfig.jsontsconfig.json
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
diff --git a/tsconfig.json b/tsconfig.json
index 117442f49ea02e63dad671d8346c9a10d7e310de..d8880aaf199cf5e5cf905f09a309ad451536e48a 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,8 @@
 {
   "compilerOptions": {
     "target": "es2015",
-    "moduleResolution": "node"
+    "moduleResolution": "node",
+    "types": ["node"]
   },
   "include": ["src/**/*"],
   "exclude": ["node_modules", "**/*.spec.ts"]