From 4116fe9fbe275926915d134169cc9feb8fdc4620 Mon Sep 17 00:00:00 2001 From: Salman AlSaigal Date: Wed, 14 Apr 2021 06:53:09 +0300 Subject: [PATCH] Add setting to change file name closes #15 File can only be inside the vault for some reason. --- main.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/main.ts b/main.ts index 8e4390c..cbd2590 100644 --- a/main.ts +++ b/main.ts @@ -2,9 +2,11 @@ import { App, Plugin, TFile, MarkdownView, PluginSettingTab, Setting } from 'obs declare const CodeMirror: any; interface Settings { + VIMRC_NAME: string; } const DEFAULT_SETTINGS: Settings = { + VIMRC_NAME: ".obsidian.vimrc" } export default class VimrcPlugin extends Plugin { @@ -21,7 +23,7 @@ export default class VimrcPlugin extends Plugin { this.addSettingTab(new SettingsTab(this.app, this)) this.registerEvent(this.app.workspace.on('file-open', (file: TFile) => { - const VIMRC_FILE_NAME = '.obsidian.vimrc'; + const VIMRC_FILE_NAME = this.settings.VIMRC_NAME; this.app.vault.adapter.read(VIMRC_FILE_NAME). then((lines) => this.readVimInit(lines)). catch(error => { console.log('Error loading vimrc file', VIMRC_FILE_NAME, 'from the vault root') }); @@ -144,5 +146,18 @@ class SettingsTab extends PluginSettingTab { containerEl.empty(); containerEl.createEl('h2', {text: 'Obsidian Vimrc Support Settings'}); + + new Setting(containerEl) + .setName('Vimrc file name') + .setDesc('Relative to vault directory (requires restart)') + .addText((text) => { + text.setPlaceholder(DEFAULT_SETTINGS.VIMRC_NAME); + if(this.plugin.settings.VIMRC_NAME !== DEFAULT_SETTINGS.VIMRC_NAME) + text.setValue(this.plugin.settings.VIMRC_NAME) + text.onChange(value => { + this.plugin.settings.VIMRC_NAME = value || DEFAULT_SETTINGS.VIMRC_NAME; + this.plugin.saveSettings(); + }) + }); } } \ No newline at end of file