(submenu: Menu)
| 202 | } |
| 203 | |
| 204 | private addCopyOptions(submenu: Menu): void { |
| 205 | const options: Array<{ title: string; icon: string; format: TaskCopyFormat }> = [ |
| 206 | { title: "Copy filenames", icon: "file-text", format: "filenames" }, |
| 207 | { title: "Copy Markdown links", icon: "link", format: "markdown-links" }, |
| 208 | { title: "Copy titles", icon: "text", format: "titles" }, |
| 209 | { title: "Copy paths", icon: "copy", format: "paths" }, |
| 210 | ]; |
| 211 | |
| 212 | for (const option of options) { |
| 213 | submenu.addItem((item) => { |
| 214 | item.setTitle(option.title); |
| 215 | item.setIcon(option.icon); |
| 216 | item.onClick(async () => { |
| 217 | await this.copySelectedTasks(option.format); |
| 218 | }); |
| 219 | }); |
| 220 | } |
| 221 | } |
| 222 | |
| 223 | private addStatusOptions(submenu: Menu): void { |
| 224 | const statusConfigs = this.options.plugin.settings.customStatuses; |
no test coverage detected