Skip to content

Commit 0e227e9

Browse files
author
Laurynas Grigutis
committed
Removed settings duplication: Created getDefaultTailwindSettings in @tailwindcss/language-service
1 parent dc5a298 commit 0e227e9

File tree

3 files changed

+45
-73
lines changed

3 files changed

+45
-73
lines changed

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

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,16 @@
11
import merge from 'deepmerge'
22
import { isObject } from './utils'
3-
import type { Settings } from '@tailwindcss/language-service/src/util/state'
3+
import {
4+
getDefaultTailwindSettings,
5+
type Settings,
6+
} from '@tailwindcss/language-service/src/util/state'
47
import type { Connection } from 'vscode-languageserver'
58

69
export interface SettingsCache {
710
get(uri?: string): Promise<Settings>
811
clear(): void
912
}
1013

11-
function getDefaultSettings(): Settings {
12-
return {
13-
editor: { tabSize: 2 },
14-
tailwindCSS: {
15-
inspectPort: null,
16-
emmetCompletions: false,
17-
classAttributes: ['class', 'className', 'ngClass', 'class:list'],
18-
codeActions: true,
19-
hovers: true,
20-
suggestions: true,
21-
validate: true,
22-
colorDecorators: true,
23-
rootFontSize: 16,
24-
lint: {
25-
cssConflict: 'warning',
26-
invalidApply: 'error',
27-
invalidScreen: 'error',
28-
invalidVariant: 'error',
29-
invalidConfigPath: 'error',
30-
invalidTailwindDirective: 'error',
31-
invalidSourceDirective: 'error',
32-
recommendedVariantOrder: 'warning',
33-
},
34-
showPixelEquivalents: true,
35-
includeLanguages: {},
36-
files: { exclude: ['**/.git/**', '**/node_modules/**', '**/.hg/**', '**/.svn/**'] },
37-
experimental: {
38-
classRegex: [],
39-
configFile: null,
40-
classFunctions: []
41-
},
42-
},
43-
}
44-
}
45-
4614
export function createSettingsCache(connection: Connection): SettingsCache {
4715
const cache: Map<string, Settings> = new Map()
4816

@@ -74,7 +42,7 @@ export function createSettingsCache(connection: Connection): SettingsCache {
7442
tailwindCSS = isObject(tailwindCSS) ? tailwindCSS : {}
7543

7644
return merge<Settings>(
77-
getDefaultSettings(),
45+
getDefaultTailwindSettings(),
7846
{ editor, tailwindCSS },
7947
{ arrayMerge: (_destinationArray, sourceArray, _options) => sourceArray },
8048
)

packages/tailwindcss-language-server/tests/utils/configuration.ts

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import type { Settings } from '@tailwindcss/language-service/src/util/state'
1+
import {
2+
getDefaultTailwindSettings,
3+
type Settings,
4+
} from '@tailwindcss/language-service/src/util/state'
25
import { URI } from 'vscode-uri'
36
import type { DeepPartial } from './types'
47
import { CacheMap } from '../../src/cache-map'
@@ -10,41 +13,7 @@ export interface Configuration {
1013
}
1114

1215
export function createConfiguration(): Configuration {
13-
let defaults: Settings = {
14-
editor: {
15-
tabSize: 2,
16-
},
17-
tailwindCSS: {
18-
inspectPort: null,
19-
emmetCompletions: false,
20-
includeLanguages: {},
21-
classAttributes: ['class', 'className', 'ngClass', 'class:list'],
22-
suggestions: true,
23-
hovers: true,
24-
codeActions: true,
25-
validate: true,
26-
showPixelEquivalents: true,
27-
rootFontSize: 16,
28-
colorDecorators: true,
29-
lint: {
30-
cssConflict: 'warning',
31-
invalidApply: 'error',
32-
invalidScreen: 'error',
33-
invalidVariant: 'error',
34-
invalidConfigPath: 'error',
35-
invalidTailwindDirective: 'error',
36-
invalidSourceDirective: 'error',
37-
recommendedVariantOrder: 'warning',
38-
},
39-
experimental: {
40-
classRegex: [],
41-
configFile: {},
42-
},
43-
files: {
44-
exclude: ['**/.git/**', '**/node_modules/**', '**/.hg/**', '**/.svn/**'],
45-
},
46-
},
47-
}
16+
let defaults = getDefaultTailwindSettings()
4817

4918
/**
5019
* Settings per file or directory URI

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

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,3 +172,38 @@ export type ClassNameMeta = {
172172
scope: string[]
173173
context: string[]
174174
}
175+
176+
export function getDefaultTailwindSettings(): Settings {
177+
return {
178+
editor: { tabSize: 2 },
179+
tailwindCSS: {
180+
inspectPort: null,
181+
emmetCompletions: false,
182+
classAttributes: ['class', 'className', 'ngClass', 'class:list'],
183+
codeActions: true,
184+
hovers: true,
185+
suggestions: true,
186+
validate: true,
187+
colorDecorators: true,
188+
rootFontSize: 16,
189+
lint: {
190+
cssConflict: 'warning',
191+
invalidApply: 'error',
192+
invalidScreen: 'error',
193+
invalidVariant: 'error',
194+
invalidConfigPath: 'error',
195+
invalidTailwindDirective: 'error',
196+
invalidSourceDirective: 'error',
197+
recommendedVariantOrder: 'warning',
198+
},
199+
showPixelEquivalents: true,
200+
includeLanguages: {},
201+
files: { exclude: ['**/.git/**', '**/node_modules/**', '**/.hg/**', '**/.svn/**'] },
202+
experimental: {
203+
classRegex: [],
204+
configFile: null,
205+
classFunctions: [],
206+
},
207+
},
208+
}
209+
}

0 commit comments

Comments
 (0)