symbols-app-connect 3.2.8
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/README.md +106 -0
- package/eslint.config.js +6 -0
- package/icon.png +0 -0
- package/out/extension.js +2814 -0
- package/package.json +103 -0
- package/src/data/components.ts +182 -0
- package/src/data/cssProperties.ts +187 -0
- package/src/data/designSystemValues.ts +294 -0
- package/src/data/domqlKeys.ts +321 -0
- package/src/data/elementMethods.ts +385 -0
- package/src/data/events.ts +368 -0
- package/src/extension.ts +82 -0
- package/src/providers/completionProvider.ts +595 -0
- package/src/providers/definitionProvider.ts +201 -0
- package/src/providers/hoverProvider.ts +162 -0
- package/src/providers/workspaceScanner.ts +98 -0
- package/symbols-app-connect-3.2.4.vsix +0 -0
- package/tsconfig.json +15 -0
package/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Symbols.app Connect
|
|
2
|
+
|
|
3
|
+
VSCode extension for [Symbols.app](https://symbols.app) and [DOMQL](https://domql.com) — smart completions, hover docs, go-to-definition, and design system token awareness.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
### Completions
|
|
8
|
+
|
|
9
|
+
**Element keys** — all DOMQL properties with snippets:
|
|
10
|
+
- `extends`, `tag`, `text`, `attr`, `state`, `if`, `define`, `style`, `props`, `childProps`, `childrenAs`, `children`, `childExtends`, `content`, `data`, `scope`, `key`, `query`
|
|
11
|
+
|
|
12
|
+
**Events** — lifecycle and DOM:
|
|
13
|
+
- Lifecycle: `onRender`, `onInit`, `onUpdate`, `onStateUpdate`, `onCreate`, `onDestroy`
|
|
14
|
+
- DOM: `onClick`, `onChange`, `onKeydown`, `onSubmit`, `onFocus`, `onScroll`, etc.
|
|
15
|
+
|
|
16
|
+
**CSS-in-props** — all CSS properties promoted to element root:
|
|
17
|
+
- `color`, `padding`, `fontSize`, `display`, `flow`, `align`, `round`, `boxSize`, `widthRange`, etc.
|
|
18
|
+
|
|
19
|
+
**Pseudo-selectors and media queries:**
|
|
20
|
+
- `:hover`, `:active`, `:focus`, `:focus-visible`, `:before`, `:after`, `:first-child`, `:last-child`
|
|
21
|
+
- `@dark`, `@light`, `@mobile`, `@tablet`, `@desktop`
|
|
22
|
+
|
|
23
|
+
**Components** — built-in atoms and your workspace components:
|
|
24
|
+
- Built-in: `Box`, `Flex`, `Grid`, `Text`, `Button`, `Icon`, `Field`, `Modal`, `Dropdown`, etc.
|
|
25
|
+
- Auto-detected PascalCase exports from your project files
|
|
26
|
+
|
|
27
|
+
### Smart Value Completions
|
|
28
|
+
|
|
29
|
+
Values adapt based on the property type:
|
|
30
|
+
|
|
31
|
+
| Property | Suggested values |
|
|
32
|
+
|----------|-----------------|
|
|
33
|
+
| `extends`, `childExtends` | All built-in + project components |
|
|
34
|
+
| `color`, `background`, `fill` | Color tokens with hex previews (`blue → #213eb0`) |
|
|
35
|
+
| `theme` | Theme tokens with modifiers (`primary .child`) |
|
|
36
|
+
| `padding`, `margin`, `gap`, `width` | Spacing tokens with px values (`B → ~25.9px`) |
|
|
37
|
+
| `fontSize`, `lineHeight` | Typography tokens with px values (`B → ~20px`) |
|
|
38
|
+
| `transition`, `transitionDuration` | Timing tokens with ms values (`A → ~150ms`) |
|
|
39
|
+
| `icon`, `name` | Icon names (`chevronRight`, `search`, `plus`) |
|
|
40
|
+
| `tag` | HTML tags (`div`, `button`, `a`, `section`) |
|
|
41
|
+
| `display`, `position`, `flow`, `cursor` | CSS enum values |
|
|
42
|
+
| `attr.type`, `attr.role`, `attr.target` | Attribute-specific values |
|
|
43
|
+
|
|
44
|
+
**Design system scales** use different configs per type:
|
|
45
|
+
|
|
46
|
+
| Type | Base | Ratio | Example |
|
|
47
|
+
|------|------|-------|---------|
|
|
48
|
+
| Spacing | 16px | 1.618 (golden ratio) | `A` = 16px, `B` ≈ 25.9px |
|
|
49
|
+
| Typography | 16px | 1.25 (major third) | `A` = 16px, `B` ≈ 20px |
|
|
50
|
+
| Timing | 150ms | 1.333 (perfect fourth) | `A` ≈ 150ms, `B` ≈ 200ms |
|
|
51
|
+
|
|
52
|
+
**Color tokens** show real hex values:
|
|
53
|
+
- `blue → #213eb0`, `green → #389d34`, `red → #e15c55`, `yellow → #EDCB38`, `orange → #e97c16`, `gray → #4e4e50`
|
|
54
|
+
- Modifiers: `blue.5` (opacity), `gray+16` (lighten), `gray-26` (darken), `gray=50` (set lightness)
|
|
55
|
+
|
|
56
|
+
**In-string completions** — works inside quotes:
|
|
57
|
+
```js
|
|
58
|
+
extends: '|' // suggests components
|
|
59
|
+
color: '|' // suggests color tokens
|
|
60
|
+
theme: '|' // suggests theme tokens
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Go to Definition
|
|
64
|
+
|
|
65
|
+
`Cmd+Click` (or `F12`) on component names to jump to their source file:
|
|
66
|
+
- Object keys: `CategoryTabs: { ... }` → navigates to `components/CategoryTabs.js`
|
|
67
|
+
- String refs: `extends: 'Button'` → navigates to the component file
|
|
68
|
+
- Searches `symbols.json` → `dir` → `components/` directory, then workspace-wide
|
|
69
|
+
|
|
70
|
+
### Method Completions
|
|
71
|
+
|
|
72
|
+
- `el.` → `lookup`, `update`, `set`, `call`, `setProps`, `remove`, `append`, etc.
|
|
73
|
+
- `state.` → `update`, `toggle`, `set`, `reset`, `apply`, `setByPath`, etc.
|
|
74
|
+
- `el.call("` → context function suggestions
|
|
75
|
+
|
|
76
|
+
### Hover Documentation
|
|
77
|
+
|
|
78
|
+
Hover any DOMQL key, event, component, CSS property, or design token value for inline docs with examples.
|
|
79
|
+
|
|
80
|
+
## Settings
|
|
81
|
+
|
|
82
|
+
| Setting | Default | Description |
|
|
83
|
+
|---------|---------|-------------|
|
|
84
|
+
| `symbolsApp.enable` | `true` | Enable/disable the extension |
|
|
85
|
+
| `symbolsApp.detectByImports` | `true` | Only activate in files with DOMQL/smbls imports or patterns |
|
|
86
|
+
| `symbolsApp.completeCssProps` | `true` | Suggest CSS properties as element keys |
|
|
87
|
+
|
|
88
|
+
## Commands
|
|
89
|
+
|
|
90
|
+
- **Symbols.app: Toggle Connect** — enable/disable
|
|
91
|
+
- **Symbols.app: Diagnose Connect** — output debug info
|
|
92
|
+
|
|
93
|
+
## Development
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npm run compile # build once
|
|
97
|
+
npm run watch # auto-rebuild on save
|
|
98
|
+
npm run package # create .vsix file
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Install the `.vsix` locally:
|
|
102
|
+
```bash
|
|
103
|
+
code --install-extension symbols-app-connect-3.2.4.vsix
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Or reload after rebuilding: `Cmd+Shift+P` → "Developer: Reload Window"
|
package/eslint.config.js
ADDED
package/icon.png
ADDED
|
Binary file
|