mirror of
https://github.com/EthanMarti/infio-copilot.git
synced 2026-05-08 08:00:10 +00:00
init
This commit is contained in:
74
src/types/mentionable.ts
Normal file
74
src/types/mentionable.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import { TFile, TFolder } from 'obsidian'
|
||||
|
||||
export type MentionableFile = {
|
||||
type: 'file'
|
||||
file: TFile
|
||||
}
|
||||
export type MentionableFolder = {
|
||||
type: 'folder'
|
||||
folder: TFolder
|
||||
}
|
||||
export type MentionableVault = {
|
||||
type: 'vault'
|
||||
}
|
||||
export type MentionableCurrentFile = {
|
||||
type: 'current-file'
|
||||
file: TFile | null
|
||||
}
|
||||
export type MentionableBlockData = {
|
||||
content: string
|
||||
file: TFile
|
||||
startLine: number
|
||||
endLine: number
|
||||
}
|
||||
export type MentionableBlock = MentionableBlockData & {
|
||||
type: 'block'
|
||||
}
|
||||
export type MentionableUrl = {
|
||||
type: 'url'
|
||||
url: string
|
||||
}
|
||||
export type MentionableImage = {
|
||||
type: 'image'
|
||||
name: string
|
||||
mimeType: string
|
||||
data: string // base64
|
||||
}
|
||||
export type Mentionable =
|
||||
| MentionableFile
|
||||
| MentionableFolder
|
||||
| MentionableVault
|
||||
| MentionableCurrentFile
|
||||
| MentionableBlock
|
||||
| MentionableUrl
|
||||
| MentionableImage
|
||||
export type SerializedMentionableFile = {
|
||||
type: 'file'
|
||||
file: string
|
||||
}
|
||||
export type SerializedMentionableFolder = {
|
||||
type: 'folder'
|
||||
folder: string
|
||||
}
|
||||
export type SerializedMentionableVault = MentionableVault
|
||||
export type SerializedMentionableCurrentFile = {
|
||||
type: 'current-file'
|
||||
file: string | null
|
||||
}
|
||||
export type SerializedMentionableBlock = {
|
||||
type: 'block'
|
||||
content: string
|
||||
file: string
|
||||
startLine: number
|
||||
endLine: number
|
||||
}
|
||||
export type SerializedMentionableUrl = MentionableUrl
|
||||
export type SerializedMentionableImage = MentionableImage
|
||||
export type SerializedMentionable =
|
||||
| SerializedMentionableFile
|
||||
| SerializedMentionableFolder
|
||||
| SerializedMentionableVault
|
||||
| SerializedMentionableCurrentFile
|
||||
| SerializedMentionableBlock
|
||||
| SerializedMentionableUrl
|
||||
| SerializedMentionableImage
|
||||
Reference in New Issue
Block a user