Skip to content

Commit ef23c78

Browse files
chhoumannclaude
andcommitted
fix: handle tp.file.cursor() in template choices
The issue was that forcing Templater processing with force=true was causing problems when Templater's trigger_on_file_creation was enabled. This led to double processing or incorrect processing of cursor commands. Now we only manually trigger Templater processing when trigger_on_file_creation is disabled, allowing Templater to handle tp.file.cursor() correctly in all cases. Fixes #795 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent d9a9bfc commit ef23c78

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

src/engine/CaptureChoiceEngine.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ export class CaptureChoiceEngine extends QuickAddChoiceEngine {
285285
}
286286

287287
const file: TFile = await this.createFileWithInput(filePath, fileContent);
288-
await replaceTemplaterTemplatesInCreatedFile(this.app, file, true);
288+
await replaceTemplaterTemplatesInCreatedFile(this.app, file);
289289

290290
const updatedFileContent: string = await this.app.vault.cachedRead(file);
291291
const newFileContent: string = await this.formatter.formatContentWithFile(

src/engine/TemplateEngine.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ export abstract class TemplateEngine extends QuickAddEngine {
106106
formattedTemplateContent
107107
);
108108

109-
// Always force processing of Templater commands for template choices
110-
await replaceTemplaterTemplatesInCreatedFile(this.app, createdFile, true);
109+
// Process Templater commands for template choices
110+
await replaceTemplaterTemplatesInCreatedFile(this.app, createdFile);
111111

112112
return createdFile;
113113
} catch (err) {
@@ -129,8 +129,8 @@ export abstract class TemplateEngine extends QuickAddEngine {
129129
await this.formatter.formatFileContent(templateContent);
130130
await this.app.vault.modify(file, formattedTemplateContent);
131131

132-
// Already forcing Templater processing, keep this as-is
133-
await replaceTemplaterTemplatesInCreatedFile(this.app, file, true);
132+
// Process Templater commands
133+
await replaceTemplaterTemplatesInCreatedFile(this.app, file);
134134

135135
return file;
136136
} catch (err) {
@@ -158,8 +158,8 @@ export abstract class TemplateEngine extends QuickAddEngine {
158158
: `${fileContent}\n${formattedTemplateContent}`;
159159
await this.app.vault.modify(file, newFileContent);
160160

161-
// Already forcing Templater processing, keep this as-is
162-
await replaceTemplaterTemplatesInCreatedFile(this.app, file, true);
161+
// Process Templater commands
162+
await replaceTemplaterTemplatesInCreatedFile(this.app, file);
163163

164164
return file;
165165
} catch (err) {

src/utilityObsidian.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ export function getTemplater(app: App) {
2222
export async function replaceTemplaterTemplatesInCreatedFile(
2323
app: App,
2424
file: TFile,
25-
force = false,
2625
) {
2726
const templater = getTemplater(app);
2827

2928
if (!templater) return;
3029

31-
// Process Templater commands in these cases:
32-
// 1. force=true (explicitly requested processing, e.g., for Template choices)
33-
// 2. Templater's trigger_on_file_creation=false (manual processing required)
34-
const shouldProcess = force ||
35-
!(templater.settings as Record<string, unknown>)["trigger_on_file_creation"];
30+
const settings = templater.settings as Record<string, unknown>;
31+
const triggerOnFileCreation = settings?.["trigger_on_file_creation"];
32+
33+
// Only process if Templater's trigger_on_file_creation is disabled
34+
// If it's enabled, Templater will process the file automatically
35+
const shouldProcess = !triggerOnFileCreation;
3636

3737
if (shouldProcess) {
3838
const impl = templater?.templater as {

0 commit comments

Comments
 (0)