Skip to content

Commit c56e800

Browse files
authored
Add settings to enable/disable specific features (tailwindlabs#535)
* Add `suggest` and `hover` settings * Rename settings, add `codeActions` setting
1 parent 97bfbb1 commit c56e800

File tree

4 files changed

+42
-1
lines changed

4 files changed

+42
-1
lines changed

packages/tailwindcss-language-server/src/server.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -990,22 +990,30 @@ async function createProjectService(
990990
if (!state.enabled) return null
991991
let document = documentService.getDocument(params.textDocument.uri)
992992
if (!document) return null
993+
let settings = await state.editor.getConfiguration(document.uri)
994+
if (!settings.tailwindCSS.hovers) return null
993995
if (await isExcluded(state, document)) return null
994996
return doHover(state, document, params.position)
995997
},
996998
async onCompletion(params: CompletionParams): Promise<CompletionList> {
997999
if (!state.enabled) return null
9981000
let document = documentService.getDocument(params.textDocument.uri)
9991001
if (!document) return null
1002+
let settings = await state.editor.getConfiguration(document.uri)
1003+
if (!settings.tailwindCSS.suggestions) return null
10001004
if (await isExcluded(state, document)) return null
10011005
return doComplete(state, document, params.position, params.context)
10021006
},
10031007
onCompletionResolve(item: CompletionItem): Promise<CompletionItem> {
10041008
if (!state.enabled) return null
10051009
return resolveCompletionItem(state, item)
10061010
},
1007-
onCodeAction(params: CodeActionParams): Promise<CodeAction[]> {
1011+
async onCodeAction(params: CodeActionParams): Promise<CodeAction[]> {
10081012
if (!state.enabled) return null
1013+
let document = documentService.getDocument(params.textDocument.uri)
1014+
if (!document) return null
1015+
let settings = await state.editor.getConfiguration(document.uri)
1016+
if (!settings.tailwindCSS.codeActions) return null
10091017
return doCodeActions(state, params)
10101018
},
10111019
provideDiagnostics: debounce((document: TextDocument) => {

packages/tailwindcss-language-service/src/util/state.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ export type Settings = {
4141
emmetCompletions: boolean
4242
includeLanguages: Record<string, string>
4343
classAttributes: string[]
44+
suggestions: boolean
45+
hovers: boolean
46+
codeActions: boolean
4447
validate: boolean
4548
showPixelEquivalents: boolean
4649
rootFontSize: number

packages/vscode-tailwindcss/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,18 @@ Show `px` equivalents for `rem` CSS values in completions and hovers. **Default:
9494

9595
Root font size in pixels. Used to convert `rem` CSS values to their `px` equivalents. See [`tailwindCSS.showPixelEquivalents`](#tailwindcssshowpixelequivalents). **Default: `16`**
9696

97+
### `tailwindCSS.hovers`
98+
99+
Enable hovers. **Default: `true`**
100+
101+
### `tailwindCSS.suggestions`
102+
103+
Enable autocomplete suggestions. **Default: `true`**
104+
105+
### `tailwindCSS.codeActions`
106+
107+
Enable code actions. **Default: `true`**
108+
97109
### `tailwindCSS.validate`
98110

99111
Enable linting. Rules can be configured individually using the `tailwindcss.lint` settings:

packages/vscode-tailwindcss/package.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,24 @@
160160
],
161161
"markdownDescription": "The HTML attributes for which to provide class completions, hover previews, linting etc."
162162
},
163+
"tailwindCSS.suggestions": {
164+
"type": "boolean",
165+
"default": true,
166+
"markdownDescription": "Enable autocomplete suggestions.",
167+
"scope": "language-overridable"
168+
},
169+
"tailwindCSS.hovers": {
170+
"type": "boolean",
171+
"default": true,
172+
"markdownDescription": "Enable hovers.",
173+
"scope": "language-overridable"
174+
},
175+
"tailwindCSS.codeActions": {
176+
"type": "boolean",
177+
"default": true,
178+
"markdownDescription": "Enable code actions.",
179+
"scope": "language-overridable"
180+
},
163181
"tailwindCSS.colorDecorators": {
164182
"type": "boolean",
165183
"default": true,

0 commit comments

Comments
 (0)