Skip to content

Commit 434c7db

Browse files
Show theme values (and pixel/color equivalents) in hovers and completions (#1092)
Fixes #1089 In v4 when we switched to using just `var(--some-theme-key)` in declarations instead of including fallbacks this had the side-effect of hiding pixel and color equivalents. This PR brings those back. - [x] Evaluate simple calc expressions that are derived from the theme
1 parent 4c594db commit 434c7db

38 files changed

+743
-306
lines changed

packages/tailwindcss-language-server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"create-notices-file": "node scripts/createNoticesFile.mjs",
2121
"prepublishOnly": "pnpm run build",
2222
"test": "vitest",
23-
"pretest": "node tests/prepare.js"
23+
"pretest": "node tests/prepare.mjs"
2424
},
2525
"bin": {
2626
"tailwindcss-language-server": "./bin/tailwindcss-language-server"

packages/tailwindcss-language-server/tests/completions/completions.test.js

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ withFixture('v4/basic', (c) => {
310310
let result = await completion({ lang, text, position, settings })
311311
let textEdit = expect.objectContaining({ range: { start: position, end: position } })
312312

313-
expect(result.items.length).toBe(12492)
314-
expect(result.items.filter((item) => item.label.endsWith(':')).length).toBe(270)
313+
expect(result.items.length).toBe(12319)
314+
expect(result.items.filter((item) => item.label.endsWith(':')).length).toBe(306)
315315
expect(result).toEqual({
316316
isIncomplete: false,
317317
items: expect.arrayContaining([
@@ -586,12 +586,24 @@ withFixture('v4/basic', (c) => {
586586

587587
expect(resolved).toEqual({
588588
...item,
589-
detail:
590-
'font-size: var(--font-size-sm, 0.875rem /* 8.75px */); line-height: var(--tw-leading, var(--font-size-sm--line-height, 1.25rem /* 12.5px */));',
589+
detail: [
590+
'font-size: 0.875rem /* 8.75px */;',
591+
'line-height: calc(1.25 / 0.875);',
592+
'letter-spacing: undefined;',
593+
'font-weight: undefined;',
594+
].join(' '),
591595
documentation: {
592596
kind: 'markdown',
593-
value:
594-
'```css\n.text-sm {\n font-size: var(--font-size-sm, 0.875rem /* 8.75px */);\n line-height: var(--tw-leading, var(--font-size-sm--line-height, 1.25rem /* 12.5px */));\n}\n```',
597+
value: [
598+
'```css',
599+
'.text-sm {',
600+
' font-size: var(--text-sm) /* 0.875rem = 8.75px */;',
601+
' line-height: var(--tw-leading, var(--text-sm--line-height) /* calc(1.25 / 0.875) ≈ 1.4286 */);',
602+
' letter-spacing: undefined;',
603+
' font-weight: undefined;',
604+
'}',
605+
'```',
606+
].join('\n'),
595607
},
596608
})
597609
})
@@ -613,7 +625,7 @@ withFixture('v4/basic', (c) => {
613625

614626
expect(resolved).toEqual({
615627
...item,
616-
detail: 'background-color: var(--color-red-500, oklch(0.637 0.237 25.331));',
628+
detail: 'background-color: oklch(0.637 0.237 25.331);',
617629
documentation: '#fb2c36',
618630
})
619631
})
@@ -642,19 +654,19 @@ withFixture('v4/workspaces', (c) => {
642654

643655
expect(resolved[0]).toEqual({
644656
...items[0],
645-
detail: 'background-color: var(--color-beet, #8e3b46);',
657+
detail: 'background-color: #8e3b46;',
646658
documentation: '#8e3b46',
647659
})
648660

649661
expect(resolved[1]).toEqual({
650662
...items[1],
651-
detail: 'background-color: var(--color-orangepeel, #ff9f00);',
663+
detail: 'background-color: #ff9f00;',
652664
documentation: '#ff9f00',
653665
})
654666

655667
expect(resolved[2]).toEqual({
656668
...items[2],
657-
detail: 'background-color: var(--color-style-main, #8e3b46);',
669+
detail: 'background-color: #8e3b46;',
658670
documentation: '#8e3b46',
659671
})
660672
})

packages/tailwindcss-language-server/tests/fixtures/v4/auto-content-split/package-lock.json

Lines changed: 64 additions & 48 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"dependencies": {
3-
"tailwindcss": "^4.0.0-alpha.30",
4-
"@tailwindcss/oxide": "^4.0.0-alpha.30"
3+
"tailwindcss": "^4.0.0-beta.6",
4+
"@tailwindcss/oxide": "^4.0.0-beta.6"
55
}
66
}

0 commit comments

Comments
 (0)