- 品牌替换:OpenCode/opencode → AirCoding/aircoding(16+ 文件) - Logo ASCII art:修复 left/right 行数不匹配导致的启动崩溃 - 启动诊断:添加 OPENCODE_PRINT_TIMING 计时探针 - dev 模式默认 --pure 跳过外部插件加载 - AGENTS.md 模板:追加 AirCoding 多 Agent 专项段落 - architect prompt + plugin:强化 AGENTS.md 产出验证
35 lines
781 B
TypeScript
35 lines
781 B
TypeScript
import { createSignal } from "solid-js"
|
|
|
|
type Comment = {
|
|
id: string
|
|
file: string
|
|
selection: { start: number; end: number }
|
|
comment: string
|
|
time: number
|
|
}
|
|
|
|
const [list, setList] = createSignal<Comment[]>([])
|
|
const [focus, setFocus] = createSignal<{ file: string; id: string } | null>(null)
|
|
const [active, setActive] = createSignal<{ file: string; id: string } | null>(null)
|
|
|
|
export function useComments() {
|
|
return {
|
|
all: list,
|
|
replace(next: Comment[]) {
|
|
setList(next)
|
|
},
|
|
remove(file: string, id: string) {
|
|
setList((current) => current.filter((item) => !(item.file === file && item.id === id)))
|
|
},
|
|
clear() {
|
|
setList([])
|
|
setFocus(null)
|
|
setActive(null)
|
|
},
|
|
focus,
|
|
setFocus,
|
|
active,
|
|
setActive,
|
|
}
|
|
}
|