From 05c60d81925992d2a772b41ad93aaf15f12f7ebc Mon Sep 17 00:00:00 2001 From: Eric Driussi Date: Mon, 9 Mar 2026 17:54:26 +0000 Subject: [PATCH] feat: add line number toggle --- main.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/main.ts b/main.ts index 83c6a59..1d120cf 100644 --- a/main.ts +++ b/main.ts @@ -27,6 +27,11 @@ interface VimToggleSettings { * Boolean determining if Canvas files should have vim mode off by default */ canvasVim: boolean; + + /** + * Boolean determining if line numbers should be toggled alongside vim mode. + */ + lineNumbers: boolean; } /** @@ -49,6 +54,12 @@ const DEFAULT_SETTINGS: VimToggleSettings = { * for setting vim mode off by default for canvas files (By default, it is set to false). */ canvasVim: false, + + /** + * Default value for the lineNumbers setting, detailing the condition + * for setting line numbers to be toggled alongside vim mode (By default, it is set to true). + */ + lineNumbers: true, }; /** @@ -135,6 +146,10 @@ export default class VimToggle extends Plugin { } else { // @ts-expect-error this.app.vault.setConfig("vimMode", false); + if (this.settings.lineNumbers) { + // @ts-expect-error + this.app.vault.setConfig("showLineNumber", false); + } } } @@ -149,6 +164,10 @@ export default class VimToggle extends Plugin { } else { // @ts-expect-error this.app.vault.setConfig("vimMode", true); + if (this.settings.lineNumbers) { + // @ts-expect-error + this.app.vault.setConfig("showLineNumber", true); + } } } @@ -262,6 +281,23 @@ class VimToggleSettingsTab extends PluginSettingTab { }) ); + /** + * This is the line numbers setting for the Vim Toggle plugin. + */ + new Setting(containerEl) + .setName("Line Numbers") + .setDesc( + "Toggle line numbers alongside vim mode" + ) + .addToggle((toggle: ToggleComponent) => + toggle + .setValue(this.plugin.settings.lineNumbers) + .onChange(async (value) => { + this.plugin.settings.lineNumbers = value; + await this.plugin.saveSettings(); + }) + ); +