✨ feat(vscode): 代码阅读的 React 钩子统一成一张钩子卡片,照签名排参数和返回,自定义钩子有自己的卡片
This commit is contained in:
1 parent
78d0c9dada
commit
e7059bcc73
17 files changed
+1409
-589
No files matched your search
@@ -1043,7 +1043,8 @@ export interface ThemeColor { dark: string, light: string }
|
||||
* 种类图标:插件自己定义的一组 lucide 图标(https://lucide.dev/icons 上的 kebab-case 名字)。前 26 个给内置种类(几种共用一个:
|
||||
* 命令、管道、执行共用 square-terminal,解释器、解析指令共用 terminal,选项、设置、编译属性共用 sliders-horizontal,字段、标签共用 tag),
|
||||
* 宿主标的入口块也用这组里的 play(entries/entryMarks.ts 的 ENTRY_CONCEPT),
|
||||
* 后面的给库规则的种类(React 的组件、状态、引用、数据源、派生值、副作用、事件处理函数、渲染输出也在里面);库规则的种类(KindBadge.icon)只能从这组里挑,要新图标就加进这组(webview 的 kindIcons.tsx 同时给它配上图标),
|
||||
* 后面的给库规则的种类和规则另认的概念(React 的组件、钩子、钩子的七种作用、事件处理函数、渲染输出也在里面);库规则的种类(KindBadge.icon)、概念(BlockConcept.icon)只能从这组里挑,
|
||||
* 要新图标就加进这组(webview 的 kindIcons.tsx 同时给它配上图标),
|
||||
* 没有按任意名字找图标的路。
|
||||
*/
|
||||
export const KIND_ICON_NAMES = [
|
||||
@@ -1084,9 +1085,11 @@ export const KIND_ICON_NAMES = [
|
||||
'mouse-pointer-click',
|
||||
'toggle-right',
|
||||
'anchor',
|
||||
'download',
|
||||
'sigma',
|
||||
'layout-template',
|
||||
'fishing-hook',
|
||||
'share-2',
|
||||
'hourglass',
|
||||
] as const
|
||||
|
||||
export type KindIconName = (typeof KIND_ICON_NAMES)[number]
|
||||
@@ -1179,6 +1182,18 @@ export interface RuleCard {
|
||||
* 不改筛选的种类,也不改卡片边框色(仍是 badge)。
|
||||
*/
|
||||
concepts?: BlockConcept[]
|
||||
/**
|
||||
* 填 `false` 时卡片左边不带语言认的概念(常量、语句这些种类的图标),从这个种类([RuleCard.badge])画起:
|
||||
* React 钩子卡片左边第一个是钩子图标,不是它所在那句常量、语句的图标。不填就带上。
|
||||
*/
|
||||
languageConcepts?: false
|
||||
/** 卡片的淡底用这个颜色,不填就用种类色([RuleCard.badge] 的颜色);边框仍是种类色。React 钩子卡片的描边都是钩子紫,淡底按钩子从哪来分。 */
|
||||
tint?: ThemeColor
|
||||
/**
|
||||
* 卡片能看调用树,查的是源码里这个名字被谁调用:钩子卡片查返回的函数(`const [open, setOpen] = useState()` 的 `setOpen`),
|
||||
* 自定义钩子的卡片查钩子自己。不填就没有调用树按钮(讲 HTTP 接口的卡片另见 [RuleCard.endpoint])。
|
||||
*/
|
||||
calls?: SourceRange
|
||||
rows: PropertyRow[]
|
||||
/** 块自己的名字(类名)在源码里的范围:跳到的定义就是它时闪整块。 */
|
||||
defines?: SourceRange
|
||||
|
||||
Reference in new issue
Block a user