@enjoys/context-engine 1.5.0 → 1.5.1

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.
Files changed (95) hide show
  1. package/data/codeActions/css.json +119 -111
  2. package/data/codeActions/dart.json +190 -31
  3. package/data/codeActions/nestjs.json +124 -124
  4. package/data/codeActions/r.json +69 -71
  5. package/data/codeActions/sb.json +2 -2
  6. package/data/codeActions/scala.json +154 -26
  7. package/data/codeActions/shadcn.json +112 -112
  8. package/data/codeActions/shell.json +2 -2
  9. package/data/codeActions/tailwindcss.json +83 -76
  10. package/data/codeLens/abap.json +4 -2
  11. package/data/codeLens/angular.json +141 -22
  12. package/data/codeLens/apex.json +4 -2
  13. package/data/codeLens/awk.json +2 -2
  14. package/data/codeLens/azcli.json +4 -3
  15. package/data/codeLens/bicep.json +4 -2
  16. package/data/codeLens/c.json +4 -4
  17. package/data/codeLens/caddy.json +2 -2
  18. package/data/codeLens/cameligo.json +4 -2
  19. package/data/codeLens/clojure.json +4 -2
  20. package/data/codeLens/coffee.json +4 -2
  21. package/data/codeLens/crontab.json +2 -2
  22. package/data/codeLens/doctest.json +4 -3
  23. package/data/codeLens/ecl.json +4 -2
  24. package/data/codeLens/elixir.json +4 -2
  25. package/data/codeLens/flow9.json +4 -2
  26. package/data/codeLens/freemarker2.json +4 -2
  27. package/data/codeLens/hcl.json +4 -4
  28. package/data/codeLens/html.json +4 -4
  29. package/data/codeLens/julia.json +4 -2
  30. package/data/codeLens/less.json +4 -2
  31. package/data/codeLens/lexon.json +4 -2
  32. package/data/codeLens/liquid.json +4 -2
  33. package/data/codeLens/lua.json +4 -4
  34. package/data/codeLens/m3.json +4 -2
  35. package/data/codeLens/mdx.json +4 -2
  36. package/data/codeLens/mips.json +4 -2
  37. package/data/codeLens/msdax.json +4 -2
  38. package/data/codeLens/mysql.json +4 -2
  39. package/data/codeLens/nginx.json +4 -4
  40. package/data/codeLens/objective-c.json +4 -2
  41. package/data/codeLens/pascal.json +4 -2
  42. package/data/codeLens/pascaligo.json +4 -2
  43. package/data/codeLens/pgsql.json +4 -2
  44. package/data/codeLens/pla.json +4 -3
  45. package/data/codeLens/postiats.json +4 -2
  46. package/data/codeLens/powerquery.json +4 -2
  47. package/data/codeLens/qsharp.json +4 -2
  48. package/data/codeLens/razor.json +4 -2
  49. package/data/codeLens/redshift.json +4 -2
  50. package/data/codeLens/restructuredtext.json +4 -2
  51. package/data/codeLens/sb.json +4 -2
  52. package/data/codeLens/scheme.json +4 -2
  53. package/data/codeLens/scss.json +4 -2
  54. package/data/codeLens/shadcn.json +117 -89
  55. package/data/codeLens/shell.json +4 -2
  56. package/data/codeLens/sol.json +4 -2
  57. package/data/codeLens/sparql.json +4 -2
  58. package/data/codeLens/st.json +4 -2
  59. package/data/codeLens/systemverilog.json +4 -2
  60. package/data/codeLens/tcl.json +4 -2
  61. package/data/codeLens/twig.json +4 -2
  62. package/data/codeLens/vb.json +4 -2
  63. package/data/codeLens/wgsl.json +4 -2
  64. package/data/codeLens/xml.json +4 -4
  65. package/data/completion/redis-cli.json +3465 -3405
  66. package/data/documentHighlight/nextjs.json +270 -212
  67. package/data/documentSymbol/azcli.json +6 -3
  68. package/data/documentSymbol/caddy.json +7 -4
  69. package/data/documentSymbol/crontab.json +6 -3
  70. package/data/documentSymbol/css.json +14 -14
  71. package/data/documentSymbol/doctest.json +6 -3
  72. package/data/documentSymbol/dotenv.json +6 -3
  73. package/data/documentSymbol/flow9.json +8 -4
  74. package/data/documentSymbol/graphql.json +1 -1
  75. package/data/documentSymbol/ini.json +6 -3
  76. package/data/documentSymbol/json.json +6 -3
  77. package/data/documentSymbol/lexon.json +6 -3
  78. package/data/documentSymbol/mips.json +6 -3
  79. package/data/documentSymbol/msdax.json +6 -3
  80. package/data/documentSymbol/pla.json +6 -3
  81. package/data/documentSymbol/powerquery.json +6 -3
  82. package/data/documentSymbol/restructuredtext.json +6 -3
  83. package/data/documentSymbol/sb.json +6 -3
  84. package/data/documentSymbol/sparql.json +6 -3
  85. package/data/documentSymbol/ssh_config.json +6 -3
  86. package/data/documentSymbol/systemd.json +6 -3
  87. package/data/documentSymbol/xml.json +6 -3
  88. package/data/hover/caddy.json +530 -458
  89. package/data/hover/dockerfile.json +355 -283
  90. package/data/hover/lua.json +1391 -971
  91. package/data/hover/nginx.json +957 -891
  92. package/data/hover/redis-cli.json +2168 -1088
  93. package/data/hover/sql.json +1405 -1273
  94. package/data/manifest.json +4 -6
  95. package/package.json +1 -1
@@ -1,112 +1,112 @@
1
- {
2
- "language": "shadcn",
3
- "codeActions": [
4
- {
5
- "title": "Add component import from @/components/ui",
6
- "kind": "quickfix",
7
- "description": "Add missing import statement for a shadcn/ui component from @/components/ui/*",
8
- "pattern": "<(Accordion|Alert|Avatar|Badge|Button|Calendar|Card|Carousel|Checkbox|Collapsible|Command|ContextMenu|Dialog|Drawer|DropdownMenu|Form|HoverCard|Input|Label|Menubar|NavigationMenu|Pagination|Popover|Progress|RadioGroup|ScrollArea|Select|Separator|Sheet|Skeleton|Slider|Switch|Table|Tabs|Textarea|Toast|Toaster|Toggle|ToggleGroup|Tooltip)",
9
- "isPreferred": true
10
- },
11
- {
12
- "title": "Convert className string to cn() utility",
13
- "kind": "refactor.rewrite",
14
- "description": "Replace static className string with cn() utility for conditional class merging",
15
- "pattern": "className=\"[^\"]+\"",
16
- "isPreferred": false
17
- },
18
- {
19
- "title": "Convert to variant prop",
20
- "kind": "refactor.rewrite",
21
- "description": "Extract inline classes to a cva() variant definition",
22
- "pattern": "className=\\{cn\\(",
23
- "isPreferred": false
24
- },
25
- {
26
- "title": "Extract to shadcn/ui component",
27
- "kind": "refactor.extract",
28
- "description": "Extract selected JSX into a separate reusable shadcn/ui-styled component",
29
- "pattern": "<(div|section|article)\\s+className=",
30
- "isPreferred": false
31
- },
32
- {
33
- "title": "Add form validation with zod",
34
- "kind": "quickfix",
35
- "description": "Add zod schema validation and react-hook-form integration to a form",
36
- "pattern": "<form\\s",
37
- "isPreferred": false
38
- },
39
- {
40
- "title": "Wrap with TooltipProvider",
41
- "kind": "quickfix",
42
- "description": "Wrap Tooltip component with required TooltipProvider ancestor",
43
- "pattern": "<Tooltip[^P]",
44
- "isPreferred": true
45
- },
46
- {
47
- "title": "Add toast notification",
48
- "kind": "source.addImport",
49
- "description": "Import useToast hook and add toast notification call",
50
- "pattern": "\\btoast\\b|\\buseToast\\b",
51
- "isPreferred": false
52
- },
53
- {
54
- "title": "Add dark mode support",
55
- "kind": "refactor.rewrite",
56
- "description": "Add dark mode CSS variables and class-based dark mode toggle support",
57
- "pattern": ":root\\s*\\{|@layer\\s+base",
58
- "isPreferred": false
59
- },
60
- {
61
- "title": "Import from @/components/ui",
62
- "kind": "source.addImport",
63
- "description": "Add import statement for shadcn/ui component from the @/components/ui directory",
64
- "pattern": "\\b(Button|Card|Dialog|Sheet|Form|Input|Select|Table|Tabs|Badge)\\b",
65
- "isPreferred": false
66
- },
67
- {
68
- "title": "Add missing variant props",
69
- "kind": "quickfix",
70
- "description": "Add variant and size props to a shadcn/ui component missing them",
71
- "pattern": "<(Button|Badge|Alert|Toggle)\\s*(?!.*variant)[^>]*>",
72
- "isPreferred": false
73
- },
74
- {
75
- "title": "Organize component imports",
76
- "kind": "source.organizeImports",
77
- "description": "Sort and group shadcn/ui component imports by module path",
78
- "pattern": "from\\s+['\"]@/components/ui/",
79
- "isPreferred": true
80
- },
81
- {
82
- "title": "Convert to controlled component",
83
- "kind": "refactor.rewrite",
84
- "description": "Convert uncontrolled component to controlled with React state",
85
- "pattern": "defaultValue=|defaultChecked=",
86
- "isPreferred": false
87
- },
88
- {
89
- "title": "Add asChild prop for composition",
90
- "kind": "quickfix",
91
- "description": "Add asChild prop to Radix UI trigger component for element composition",
92
- "pattern": "<(DialogTrigger|AlertDialogTrigger|PopoverTrigger|DropdownMenuTrigger|SheetTrigger|TooltipTrigger)(?!.*asChild)",
93
- "isPreferred": false
94
- },
95
- {
96
- "title": "Add Toaster to layout",
97
- "kind": "quickfix",
98
- "description": "Add <Toaster /> component to the root layout file for toast notifications to work",
99
- "pattern": "useToast|\\btoast\\(",
100
- "isPreferred": false
101
- }
102
- ],
103
- "providedCodeActionKinds": [
104
- "quickfix",
105
- "refactor",
106
- "refactor.extract",
107
- "refactor.rewrite",
108
- "source",
109
- "source.addImport",
110
- "source.organizeImports"
111
- ]
112
- }
1
+ {
2
+ "language": "shadcn",
3
+ "codeActions": [
4
+ {
5
+ "title": "Add component import from @/components/ui",
6
+ "kind": "quickfix",
7
+ "description": "Add missing import statement for a shadcn/ui component from @/components/ui/*",
8
+ "pattern": "<(Accordion|Alert|Avatar|Badge|Button|Calendar|Card|Carousel|Checkbox|Collapsible|Command|ContextMenu|Dialog|Drawer|DropdownMenu|Form|HoverCard|Input|Label|Menubar|NavigationMenu|Pagination|Popover|Progress|RadioGroup|ScrollArea|Select|Separator|Sheet|Skeleton|Slider|Switch|Table|Tabs|Textarea|Toast|Toaster|Toggle|ToggleGroup|Tooltip)",
9
+ "isPreferred": true
10
+ },
11
+ {
12
+ "title": "Convert className string to cn() utility",
13
+ "kind": "refactor.rewrite",
14
+ "description": "Replace static className string with cn() utility for conditional class merging",
15
+ "pattern": "className=\"[^\"]+\"",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Convert to variant prop",
20
+ "kind": "refactor.rewrite",
21
+ "description": "Extract inline classes to a cva() variant definition",
22
+ "pattern": "className=\\{cn\\(",
23
+ "isPreferred": false
24
+ },
25
+ {
26
+ "title": "Extract to shadcn/ui component",
27
+ "kind": "refactor.extract",
28
+ "description": "Extract selected JSX into a separate reusable shadcn/ui-styled component",
29
+ "pattern": "<(div|section|article)\\s+className=",
30
+ "isPreferred": false
31
+ },
32
+ {
33
+ "title": "Add form validation with zod",
34
+ "kind": "quickfix",
35
+ "description": "Add zod schema validation and react-hook-form integration to a form",
36
+ "pattern": "<form\\s",
37
+ "isPreferred": false
38
+ },
39
+ {
40
+ "title": "Wrap with TooltipProvider",
41
+ "kind": "quickfix",
42
+ "description": "Wrap Tooltip component with required TooltipProvider ancestor",
43
+ "pattern": "<Tooltip[^P]",
44
+ "isPreferred": true
45
+ },
46
+ {
47
+ "title": "Add toast notification",
48
+ "kind": "source.fixAll",
49
+ "description": "Import useToast hook and add toast notification call",
50
+ "pattern": "\\btoast\\b|\\buseToast\\b",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Add dark mode support",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Add dark mode CSS variables and class-based dark mode toggle support",
57
+ "pattern": ":root\\s*\\{|@layer\\s+base",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Import from @/components/ui",
62
+ "kind": "source.fixAll",
63
+ "description": "Add import statement for shadcn/ui component from the @/components/ui directory",
64
+ "pattern": "\\b(Button|Card|Dialog|Sheet|Form|Input|Select|Table|Tabs|Badge)\\b",
65
+ "isPreferred": false
66
+ },
67
+ {
68
+ "title": "Add missing variant props",
69
+ "kind": "quickfix",
70
+ "description": "Add variant and size props to a shadcn/ui component missing them",
71
+ "pattern": "<(Button|Badge|Alert|Toggle)\\s*(?!.*variant)[^>]*>",
72
+ "isPreferred": false
73
+ },
74
+ {
75
+ "title": "Organize component imports",
76
+ "kind": "source.organizeImports",
77
+ "description": "Sort and group shadcn/ui component imports by module path",
78
+ "pattern": "from\\s+['\"]@/components/ui/",
79
+ "isPreferred": true
80
+ },
81
+ {
82
+ "title": "Convert to controlled component",
83
+ "kind": "refactor.rewrite",
84
+ "description": "Convert uncontrolled component to controlled with React state",
85
+ "pattern": "defaultValue=|defaultChecked=",
86
+ "isPreferred": false
87
+ },
88
+ {
89
+ "title": "Add asChild prop for composition",
90
+ "kind": "quickfix",
91
+ "description": "Add asChild prop to Radix UI trigger component for element composition",
92
+ "pattern": "<(DialogTrigger|AlertDialogTrigger|PopoverTrigger|DropdownMenuTrigger|SheetTrigger|TooltipTrigger)(?!.*asChild)",
93
+ "isPreferred": false
94
+ },
95
+ {
96
+ "title": "Add Toaster to layout",
97
+ "kind": "quickfix",
98
+ "description": "Add <Toaster /> component to the root layout file for toast notifications to work",
99
+ "pattern": "useToast|\\btoast\\(",
100
+ "isPreferred": false
101
+ }
102
+ ],
103
+ "providedCodeActionKinds": [
104
+ "quickfix",
105
+ "refactor",
106
+ "refactor.extract",
107
+ "refactor.rewrite",
108
+ "source",
109
+ "source.fixAll",
110
+ "source.organizeImports"
111
+ ]
112
+ }
@@ -160,10 +160,10 @@
160
160
  "quickfix",
161
161
  "refactor",
162
162
  "refactor.extract",
163
- "source",
164
- "source.fixAll",
165
163
  "refactor.inline",
166
164
  "refactor.rewrite",
165
+ "source",
166
+ "source.fixAll",
167
167
  "source.organizeImports"
168
168
  ]
169
169
  }
@@ -1,76 +1,83 @@
1
- {
2
- "language": "tailwindcss",
3
- "codeActions": [
4
- {
5
- "title": "Sort Tailwind CSS classes (Headwind order)",
6
- "kind": "source.sortTailwindClasses",
7
- "description": "Reorders Tailwind utility classes following the recommended Headwind/Prettier-plugin-tailwindcss sort order for consistency.",
8
- "pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
9
- "isPreferred": true
10
- },
11
- {
12
- "title": "Extract classes to @apply component",
13
- "kind": "refactor.extract.apply",
14
- "description": "Extracts selected Tailwind utility classes into a reusable CSS component using @apply directive.",
15
- "pattern": "class\\s*=\\s*[\"']([^\"']{20,})[\"']",
16
- "isPreferred": false
17
- },
18
- {
19
- "title": "Convert arbitrary value to theme config",
20
- "kind": "refactor.rewrite",
21
- "description": "Converts an arbitrary value like `bg-[#1da1f2]` or `w-[200px]` to a named theme value in tailwind.config.js.",
22
- "pattern": "\\w+-\\[[^\\]]+\\]",
23
- "isPreferred": false
24
- },
25
- {
26
- "title": "Group responsive variants",
27
- "kind": "refactor.organize",
28
- "description": "Groups utility classes by responsive breakpoint prefix (sm:, md:, lg:, xl:, 2xl:) for better readability.",
29
- "pattern": "(?:sm|md|lg|xl|2xl):[\\w-]+",
30
- "isPreferred": false
31
- },
32
- {
33
- "title": "Remove duplicate Tailwind classes",
34
- "kind": "quickfix.removeDuplicates",
35
- "description": "Detects and removes duplicate utility classes within a class attribute.",
36
- "pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
37
- "isPreferred": true
38
- },
39
- {
40
- "title": "Convert @apply to inline utilities",
41
- "kind": "refactor.inline",
42
- "description": "Replaces an @apply rule with the individual utility classes inlined directly in the HTML class attribute.",
43
- "pattern": "@apply\\s+[\\w\\s:-]+;",
44
- "isPreferred": false
45
- },
46
- {
47
- "title": "Convert inline utilities to @apply",
48
- "kind": "refactor.extract.apply",
49
- "description": "Extracts inline Tailwind utility classes from a class attribute into a new CSS rule using @apply.",
50
- "pattern": "class\\s*=\\s*[\"']([^\"']{30,})[\"']",
51
- "isPreferred": false
52
- },
53
- {
54
- "title": "Wrap in responsive variant",
55
- "kind": "refactor.wrap",
56
- "description": "Wraps selected utility classes with a responsive breakpoint prefix (sm:, md:, lg:, xl:, 2xl:).",
57
- "pattern": "[\\w-]+",
58
- "isPreferred": false
59
- },
60
- {
61
- "title": "Add dark mode variant",
62
- "kind": "refactor.wrap",
63
- "description": "Adds dark: prefix to selected utility classes for dark mode support.",
64
- "pattern": "(?:bg|text|border|ring|shadow)-[\\w-]+",
65
- "isPreferred": false
66
- },
67
- {
68
- "title": "Convert to arbitrary value",
69
- "kind": "refactor.rewrite",
70
- "description": "Converts a standard utility value to an arbitrary value notation, e.g. `p-4` to `p-[1rem]`.",
71
- "pattern": "\\w+-\\d+",
72
- "isPreferred": false
73
- }
74
- ],
75
- "providedCodeActionKinds": ["quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source"]
76
- }
1
+ {
2
+ "language": "tailwindcss",
3
+ "codeActions": [
4
+ {
5
+ "title": "Sort Tailwind CSS classes (Headwind order)",
6
+ "kind": "source.fixAll",
7
+ "description": "Reorders Tailwind utility classes following the recommended Headwind/Prettier-plugin-tailwindcss sort order for consistency.",
8
+ "pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
9
+ "isPreferred": true
10
+ },
11
+ {
12
+ "title": "Extract classes to @apply component",
13
+ "kind": "refactor.rewrite",
14
+ "description": "Extracts selected Tailwind utility classes into a reusable CSS component using @apply directive.",
15
+ "pattern": "class\\s*=\\s*[\"']([^\"']{20,})[\"']",
16
+ "isPreferred": false
17
+ },
18
+ {
19
+ "title": "Convert arbitrary value to theme config",
20
+ "kind": "refactor.rewrite",
21
+ "description": "Converts an arbitrary value like `bg-[#1da1f2]` or `w-[200px]` to a named theme value in tailwind.config.js.",
22
+ "pattern": "\\w+-\\[[^\\]]+\\]",
23
+ "isPreferred": false
24
+ },
25
+ {
26
+ "title": "Group responsive variants",
27
+ "kind": "refactor.rewrite",
28
+ "description": "Groups utility classes by responsive breakpoint prefix (sm:, md:, lg:, xl:, 2xl:) for better readability.",
29
+ "pattern": "(?:sm|md|lg|xl|2xl):[\\w-]+",
30
+ "isPreferred": false
31
+ },
32
+ {
33
+ "title": "Remove duplicate Tailwind classes",
34
+ "kind": "quickfix",
35
+ "description": "Detects and removes duplicate utility classes within a class attribute.",
36
+ "pattern": "class\\s*=\\s*[\"'][^\"']*[\"']",
37
+ "isPreferred": true
38
+ },
39
+ {
40
+ "title": "Convert @apply to inline utilities",
41
+ "kind": "refactor.inline",
42
+ "description": "Replaces an @apply rule with the individual utility classes inlined directly in the HTML class attribute.",
43
+ "pattern": "@apply\\s+[\\w\\s:-]+;",
44
+ "isPreferred": false
45
+ },
46
+ {
47
+ "title": "Convert inline utilities to @apply",
48
+ "kind": "refactor.rewrite",
49
+ "description": "Extracts inline Tailwind utility classes from a class attribute into a new CSS rule using @apply.",
50
+ "pattern": "class\\s*=\\s*[\"']([^\"']{30,})[\"']",
51
+ "isPreferred": false
52
+ },
53
+ {
54
+ "title": "Wrap in responsive variant",
55
+ "kind": "refactor.rewrite",
56
+ "description": "Wraps selected utility classes with a responsive breakpoint prefix (sm:, md:, lg:, xl:, 2xl:).",
57
+ "pattern": "[\\w-]+",
58
+ "isPreferred": false
59
+ },
60
+ {
61
+ "title": "Add dark mode variant",
62
+ "kind": "refactor.rewrite",
63
+ "description": "Adds dark: prefix to selected utility classes for dark mode support.",
64
+ "pattern": "(?:bg|text|border|ring|shadow)-[\\w-]+",
65
+ "isPreferred": false
66
+ },
67
+ {
68
+ "title": "Convert to arbitrary value",
69
+ "kind": "refactor.rewrite",
70
+ "description": "Converts a standard utility value to an arbitrary value notation, e.g. `p-4` to `p-[1rem]`.",
71
+ "pattern": "\\w+-\\d+",
72
+ "isPreferred": false
73
+ }
74
+ ],
75
+ "providedCodeActionKinds": [
76
+ "quickfix",
77
+ "refactor",
78
+ "refactor.extract",
79
+ "refactor.inline",
80
+ "refactor.rewrite",
81
+ "source"
82
+ ]
83
+ }
@@ -5,13 +5,15 @@
5
5
  "pattern": "^\\s*METHOD\\s+(\\w+)",
6
6
  "captureGroup": 1,
7
7
  "title": "method",
8
- "command": "editor.action.referenceSearch"
8
+ "commandId": "editor.action.referenceSearch.trigger",
9
+ "description": "method"
9
10
  },
10
11
  {
11
12
  "pattern": "^\\s*CLASS\\s+(\\w+)\\s+DEFINITION",
12
13
  "captureGroup": 1,
13
14
  "title": "class",
14
- "command": "editor.action.referenceSearch"
15
+ "commandId": "editor.action.referenceSearch.trigger",
16
+ "description": "class"
15
17
  },
16
18
  {
17
19
  "pattern": "(?:function|def|fn|func|sub|proc)\\s+(\\w+)",
@@ -1,22 +1,141 @@
1
- {
2
- "language": "angular",
3
- "codeLensPatterns": [
4
- { "pattern": "@Component\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Component: ${1}", "tooltip": "Angular component class" },
5
- { "pattern": "@Injectable\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Service: ${1}", "tooltip": "Angular injectable service" },
6
- { "pattern": "@NgModule\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Module: ${1}", "tooltip": "Angular NgModule" },
7
- { "pattern": "@Directive\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Directive: ${1}", "tooltip": "Angular directive class" },
8
- { "pattern": "@Pipe\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)", "captureGroup": 1, "title": "Pipe: ${1}", "tooltip": "Angular pipe class" },
9
- { "pattern": "(ngOnInit|ngOnDestroy|ngOnChanges|ngAfterViewInit|ngAfterContentInit|ngDoCheck)\\s*\\(", "captureGroup": 1, "title": "Lifecycle: ${1}", "tooltip": "Angular lifecycle hook method" },
10
- { "pattern": "\\{\\s*path:\\s*['\"]([^'\"]+)['\"].*?component:\\s*(\\w+)", "captureGroup": 1, "title": "Route: /${1}", "tooltip": "Route configuration path" },
11
- { "pattern": "(?:canActivate|canDeactivate|canMatch)(?:Fn)?.*?=.*?\\(", "captureGroup": 0, "title": "Guard", "tooltip": "Route guard definition" },
12
- { "pattern": "(?:HttpInterceptorFn|implements\\s+HttpInterceptor).*", "captureGroup": 0, "title": "Interceptor", "tooltip": "HTTP interceptor definition" },
13
- { "pattern": "describe\\s*\\(\\s*['\"]([^'\"]+)['\"]", "captureGroup": 1, "title": "Test Suite: ${1}", "tooltip": "Test describe block" },
14
- { "pattern": "\\bit\\s*\\(\\s*['\"]([^'\"]+)['\"]", "captureGroup": 1, "title": "Test: ${1}", "tooltip": "Individual test case" },
15
- { "pattern": "@Input\\s*\\([^)]*\\)\\s+(\\w+)", "captureGroup": 1, "title": "Input: ${1}", "tooltip": "Component input property" },
16
- { "pattern": "@Output\\s*\\([^)]*\\)\\s+(\\w+)", "captureGroup": 1, "title": "Output: ${1}", "tooltip": "Component output event" },
17
- { "pattern": "(\\w+)\\s*=\\s*signal\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "title": "Signal: ${1}", "tooltip": "Angular signal declaration" },
18
- { "pattern": "(\\w+)\\s*=\\s*effect\\s*\\(", "captureGroup": 1, "title": "Effect: ${1}", "tooltip": "Angular effect registration" },
19
- { "pattern": "(\\w+)\\s*=\\s*computed\\s*\\(", "captureGroup": 1, "title": "Computed: ${1}", "tooltip": "Angular computed signal declaration" },
20
- { "pattern": "(\\w+)\\s*=\\s*input(?:\\.required)?\\s*(?:<[^>]*>)?\\s*\\(", "captureGroup": 1, "title": "Signal Input: ${1}", "tooltip": "Signal-based input property" }
21
- ]
22
- }
1
+ {
2
+ "language": "angular",
3
+ "codeLensPatterns": [
4
+ {
5
+ "pattern": "@Component\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
6
+ "captureGroup": 1,
7
+ "title": "Component: ${1}",
8
+ "tooltip": "Angular component class",
9
+ "commandId": "editor.action.referenceSearch.trigger",
10
+ "description": "Component: ${1}"
11
+ },
12
+ {
13
+ "pattern": "@Injectable\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
14
+ "captureGroup": 1,
15
+ "title": "Service: ${1}",
16
+ "tooltip": "Angular injectable service",
17
+ "commandId": "editor.action.referenceSearch.trigger",
18
+ "description": "Service: ${1}"
19
+ },
20
+ {
21
+ "pattern": "@NgModule\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
22
+ "captureGroup": 1,
23
+ "title": "Module: ${1}",
24
+ "tooltip": "Angular NgModule",
25
+ "commandId": "editor.action.referenceSearch.trigger",
26
+ "description": "Module: ${1}"
27
+ },
28
+ {
29
+ "pattern": "@Directive\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
30
+ "captureGroup": 1,
31
+ "title": "Directive: ${1}",
32
+ "tooltip": "Angular directive class",
33
+ "commandId": "editor.action.referenceSearch.trigger",
34
+ "description": "Directive: ${1}"
35
+ },
36
+ {
37
+ "pattern": "@Pipe\\s*\\([^)]*\\)\\s*(?:export\\s+)?class\\s+(\\w+)",
38
+ "captureGroup": 1,
39
+ "title": "Pipe: ${1}",
40
+ "tooltip": "Angular pipe class",
41
+ "commandId": "editor.action.referenceSearch.trigger",
42
+ "description": "Pipe: ${1}"
43
+ },
44
+ {
45
+ "pattern": "(ngOnInit|ngOnDestroy|ngOnChanges|ngAfterViewInit|ngAfterContentInit|ngDoCheck)\\s*\\(",
46
+ "captureGroup": 1,
47
+ "title": "Lifecycle: ${1}",
48
+ "tooltip": "Angular lifecycle hook method",
49
+ "commandId": "editor.action.referenceSearch.trigger",
50
+ "description": "Lifecycle: ${1}"
51
+ },
52
+ {
53
+ "pattern": "\\{\\s*path:\\s*['\"]([^'\"]+)['\"].*?component:\\s*(\\w+)",
54
+ "captureGroup": 1,
55
+ "title": "Route: /${1}",
56
+ "tooltip": "Route configuration path",
57
+ "commandId": "editor.action.referenceSearch.trigger",
58
+ "description": "Route: /${1}"
59
+ },
60
+ {
61
+ "pattern": "(?:canActivate|canDeactivate|canMatch)(?:Fn)?.*?=.*?\\(",
62
+ "captureGroup": 0,
63
+ "title": "Guard",
64
+ "tooltip": "Route guard definition",
65
+ "commandId": "editor.action.referenceSearch.trigger",
66
+ "description": "Guard"
67
+ },
68
+ {
69
+ "pattern": "(?:HttpInterceptorFn|implements\\s+HttpInterceptor).*",
70
+ "captureGroup": 0,
71
+ "title": "Interceptor",
72
+ "tooltip": "HTTP interceptor definition",
73
+ "commandId": "editor.action.referenceSearch.trigger",
74
+ "description": "Interceptor"
75
+ },
76
+ {
77
+ "pattern": "describe\\s*\\(\\s*['\"]([^'\"]+)['\"]",
78
+ "captureGroup": 1,
79
+ "title": "Test Suite: ${1}",
80
+ "tooltip": "Test describe block",
81
+ "commandId": "testing.runAtCursor",
82
+ "description": "Test Suite: ${1}"
83
+ },
84
+ {
85
+ "pattern": "\\bit\\s*\\(\\s*['\"]([^'\"]+)['\"]",
86
+ "captureGroup": 1,
87
+ "title": "Test: ${1}",
88
+ "tooltip": "Individual test case",
89
+ "commandId": "testing.runAtCursor",
90
+ "description": "Test: ${1}"
91
+ },
92
+ {
93
+ "pattern": "@Input\\s*\\([^)]*\\)\\s+(\\w+)",
94
+ "captureGroup": 1,
95
+ "title": "Input: ${1}",
96
+ "tooltip": "Component input property",
97
+ "commandId": "editor.action.referenceSearch.trigger",
98
+ "description": "Input: ${1}"
99
+ },
100
+ {
101
+ "pattern": "@Output\\s*\\([^)]*\\)\\s+(\\w+)",
102
+ "captureGroup": 1,
103
+ "title": "Output: ${1}",
104
+ "tooltip": "Component output event",
105
+ "commandId": "editor.action.referenceSearch.trigger",
106
+ "description": "Output: ${1}"
107
+ },
108
+ {
109
+ "pattern": "(\\w+)\\s*=\\s*signal\\s*(?:<[^>]*>)?\\s*\\(",
110
+ "captureGroup": 1,
111
+ "title": "Signal: ${1}",
112
+ "tooltip": "Angular signal declaration",
113
+ "commandId": "editor.action.referenceSearch.trigger",
114
+ "description": "Signal: ${1}"
115
+ },
116
+ {
117
+ "pattern": "(\\w+)\\s*=\\s*effect\\s*\\(",
118
+ "captureGroup": 1,
119
+ "title": "Effect: ${1}",
120
+ "tooltip": "Angular effect registration",
121
+ "commandId": "editor.action.referenceSearch.trigger",
122
+ "description": "Effect: ${1}"
123
+ },
124
+ {
125
+ "pattern": "(\\w+)\\s*=\\s*computed\\s*\\(",
126
+ "captureGroup": 1,
127
+ "title": "Computed: ${1}",
128
+ "tooltip": "Angular computed signal declaration",
129
+ "commandId": "editor.action.referenceSearch.trigger",
130
+ "description": "Computed: ${1}"
131
+ },
132
+ {
133
+ "pattern": "(\\w+)\\s*=\\s*input(?:\\.required)?\\s*(?:<[^>]*>)?\\s*\\(",
134
+ "captureGroup": 1,
135
+ "title": "Signal Input: ${1}",
136
+ "tooltip": "Signal-based input property",
137
+ "commandId": "editor.action.referenceSearch.trigger",
138
+ "description": "Signal Input: ${1}"
139
+ }
140
+ ]
141
+ }
@@ -5,13 +5,15 @@
5
5
  "pattern": "^\\s*(?:public|private|global|protected)?\\s*(?:virtual|abstract)?\\s*class\\s+(\\w+)",
6
6
  "captureGroup": 1,
7
7
  "title": "class",
8
- "command": "editor.action.referenceSearch"
8
+ "commandId": "editor.action.referenceSearch.trigger",
9
+ "description": "class"
9
10
  },
10
11
  {
11
12
  "pattern": "@isTest\\s*\\n\\s*(?:static\\s+)?void\\s+(\\w+)",
12
13
  "captureGroup": 1,
13
14
  "title": "run test",
14
- "command": "editor.action.referenceSearch"
15
+ "commandId": "editor.action.referenceSearch.trigger",
16
+ "description": "run test"
15
17
  },
16
18
  {
17
19
  "pattern": "(?:function|def|fn|func|sub|proc)\\s+(\\w+)",
@@ -10,9 +10,9 @@
10
10
  },
11
11
  {
12
12
  "pattern": "^function\\s+(\\w+)",
13
- "command": "editor.action.showReferences",
14
13
  "title": "references",
15
- "description": "Show references to AWK function"
14
+ "description": "Show references to AWK function",
15
+ "commandId": "editor.action.showReferences"
16
16
  },
17
17
  {
18
18
  "pattern": "(?:class|struct|interface|trait|type)\\s+(\\w+)",
@@ -5,13 +5,14 @@
5
5
  "pattern": "^\\s*(az\\s+\\w+(?:\\s+\\w+)*)",
6
6
  "captureGroup": 1,
7
7
  "title": "function",
8
- "command": "editor.action.referenceSearch"
8
+ "commandId": "editor.action.referenceSearch.trigger",
9
+ "description": "function"
9
10
  },
10
11
  {
11
12
  "pattern": "^az\\s+(\\w[\\w-]+\\s+\\w[\\w-]+)",
12
- "command": "editor.action.showReferences",
13
13
  "title": "references",
14
- "description": "Show related Azure CLI commands"
14
+ "description": "Show related Azure CLI commands",
15
+ "commandId": "editor.action.showReferences"
15
16
  },
16
17
  {
17
18
  "pattern": "(?:function|def|fn|func|sub|proc)\\s+(\\w+)",