MCPcopy
hub / github.com/marktext/marktext / _processTreeEvent

Function _processTreeEvent

packages/desktop/src/renderer/src/store/project.ts:161–195  ·  view source on GitHub ↗
(type: string, change: TreeChange)

Source from the content-addressed store, hash-verified

159 }
160
161 function _processTreeEvent(type: string, change: TreeChange): void {
162 const editorStore = useEditorStore()
163 switch (type) {
164 case 'add': {
165 const { pathname, data, isMarkdown } = change
166 addFile(projectTree.value, change, String(preferencesStore.fileSortBy), String(preferencesStore.fileSortOrder))
167 if (isMarkdown && newFileNameCache.value && pathname === newFileNameCache.value) {
168 const fileState = getFileStateFromData(data)
169 editorStore.UPDATE_CURRENT_FILE(fileState)
170 newFileNameCache.value = ''
171 }
172 break
173 }
174 case 'unlink':
175 unlinkFile(projectTree.value, change)
176 editorStore.SET_SAVE_STATUS_WHEN_REMOVE(change)
177 break
178 case 'addDir':
179 addDirectory(projectTree.value, change)
180 break
181 case 'unlinkDir':
182 unlinkDirectory(projectTree.value, change)
183 break
184 case 'change':
185 if (change?.mtimeMs !== undefined) {
186 updateFileMtime(projectTree.value, change, String(preferencesStore.fileSortBy), String(preferencesStore.fileSortOrder))
187 }
188 break
189 default:
190 if (window.electron?.process?.env?.NODE_ENV === 'development') {
191 console.log(`Unknown directory watch type: "${type}"`)
192 }
193 break
194 }
195 }
196
197 // eslint-disable-next-line @typescript-eslint/no-explicit-any
198 function CHANGE_ACTIVE_ITEM(item: any): void {

Callers 2

OPEN_PROJECTFunction · 0.85

Calls 6

addFileFunction · 0.90
getFileStateFromDataFunction · 0.90
unlinkFileFunction · 0.90
addDirectoryFunction · 0.90
unlinkDirectoryFunction · 0.90
updateFileMtimeFunction · 0.90

Tested by

no test coverage detected