Clean-up: use tabs instead of soft tabs

This commit is contained in:
Weixuan Lin 2023-03-27 15:25:47 -07:00
parent 9c20fb513f
commit 5f82041bb1

188
main.ts
View file

@ -4,14 +4,14 @@ import { EditorSelection, Notice, App, MarkdownView, Plugin, PluginSettingTab, S
declare const CodeMirror: any;
const enum vimStatus {
normal = 'normal',
insert = 'insert',
visual = 'visual',
replace = 'replace',
normal = 'normal',
insert = 'insert',
visual = 'visual',
replace = 'replace',
}
type VimStatusPrompt = string;
type VimStatusPromptMap = {
[status in vimStatus]: VimStatusPrompt;
[status in vimStatus]: VimStatusPrompt;
};
interface Settings {
@ -21,7 +21,7 @@ interface Settings {
fixedNormalModeLayout: boolean,
capturedKeyboardMap: Record<string, string>,
supportJsCommands?: boolean
vimStatusPromptMap: VimStatusPromptMap;
vimStatusPromptMap: VimStatusPromptMap;
}
const DEFAULT_SETTINGS: Settings = {
@ -31,19 +31,19 @@ const DEFAULT_SETTINGS: Settings = {
fixedNormalModeLayout: false,
capturedKeyboardMap: {},
supportJsCommands: false,
vimStatusPromptMap: {
normal: '🟢',
insert: '🟠',
visual: '🟡',
replace: '🔴',
},
vimStatusPromptMap: {
normal: '🟢',
insert: '🟠',
visual: '🟡',
replace: '🔴',
},
}
const vimStatusPromptClassNameMap = {
normal: 'plugin-obsidian-vimrc-support-prompt-normal',
insert: 'plugin-obsidian-vimrc-support-prompt-insert',
visual: 'plugin-obsidian-vimrc-support-prompt-visual',
replace: 'plugin-obsidian-vimrc-support-prompt-replace',
normal: 'plugin-obsidian-vimrc-support-prompt-normal',
insert: 'plugin-obsidian-vimrc-support-prompt-insert',
visual: 'plugin-obsidian-vimrc-support-prompt-visual',
replace: 'plugin-obsidian-vimrc-support-prompt-replace',
}
// NOTE: to future maintainers, please make sure all mapping commands are included in this array.
@ -73,23 +73,23 @@ export default class VimrcPlugin extends Plugin {
private vimChordStatusBar: HTMLElement = null;
private vimStatusBar: HTMLElement = null;
private currentVimStatus: vimStatus = vimStatus.normal;
private currentVimStatusClassName: string =
vimStatusPromptClassNameMap[vimStatus.normal];
private currentVimStatusClassName: string =
vimStatusPromptClassNameMap[vimStatus.normal];
private customVimKeybinds: { [name: string]: boolean } = {};
private currentSelection: [EditorSelection] = null;
private isInsertMode: boolean = false;
updateVimStatusBar() {
this.vimStatusBar?.setText(
this.settings.vimStatusPromptMap[this.currentVimStatus]
);
this.vimStatusBar?.classList.replace(
this.currentVimStatusClassName,
vimStatusPromptClassNameMap[this.currentVimStatus]
);
this.currentVimStatusClassName =
vimStatusPromptClassNameMap[this.currentVimStatus];
}
updateVimStatusBar() {
this.vimStatusBar?.setText(
this.settings.vimStatusPromptMap[this.currentVimStatus]
);
this.vimStatusBar?.classList.replace(
this.currentVimStatusClassName,
vimStatusPromptClassNameMap[this.currentVimStatus]
);
this.currentVimStatusClassName =
vimStatusPromptClassNameMap[this.currentVimStatus];
}
async captureKeyboardLayout() {
// This is experimental API and it might break at some point:
@ -179,7 +179,7 @@ export default class VimrcPlugin extends Plugin {
this.isInsertMode = false;
this.currentVimStatus = vimStatus.normal;
if (this.settings.displayVimMode)
this.updateVimStatusBar();
this.updateVimStatusBar();
cmEditor.off('vim-mode-change', this.logVimModeChange);
cmEditor.on('vim-mode-change', this.logVimModeChange);
@ -248,7 +248,7 @@ export default class VimrcPlugin extends Plugin {
break;
}
if (this.settings.displayVimMode)
this.updateVimStatusBar();
this.updateVimStatusBar();
}
onunload() {
@ -276,7 +276,7 @@ export default class VimrcPlugin extends Plugin {
this.defineJsFile(this.codeMirrorVimObject);
this.defineSource(this.codeMirrorVimObject);
this.loadVimCommands(vimCommands);
this.loadVimCommands(vimCommands);
this.prepareChordDisplay();
this.prepareVimModeDisplay();
@ -614,12 +614,12 @@ export default class VimrcPlugin extends Plugin {
prepareVimModeDisplay() {
if (this.settings.displayVimMode) {
this.vimStatusBar = this.addStatusBarItem() // Add status bar item
this.vimStatusBar.setText(
this.settings.vimStatusPromptMap[vimStatus.normal]
); // Init the vimStatusBar with normal mode
this.vimStatusBar?.addClass(
vimStatusPromptClassNameMap[vimStatus.normal]
); // Add the initial class name for normal mode
this.vimStatusBar.setText(
this.settings.vimStatusPromptMap[vimStatus.normal]
); // Init the vimStatusBar with normal mode
this.vimStatusBar?.addClass(
vimStatusPromptClassNameMap[vimStatus.normal]
); // Add the initial class name for normal mode
}
}
@ -781,64 +781,64 @@ class SettingsTab extends PluginSettingTab {
})
});
new Setting(containerEl)
.setName('Normal mode prompt')
.setDesc('Set the status prompt text for normal mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟢');
text.setValue(
this.plugin.settings.vimStatusPromptMap.normal ||
DEFAULT_SETTINGS.vimStatusPromptMap.normal
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.normal = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Normal mode prompt')
.setDesc('Set the status prompt text for normal mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟢');
text.setValue(
this.plugin.settings.vimStatusPromptMap.normal ||
DEFAULT_SETTINGS.vimStatusPromptMap.normal
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.normal = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Insert mode prompt')
.setDesc('Set the status prompt text for insert mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟠');
text.setValue(
this.plugin.settings.vimStatusPromptMap.insert ||
DEFAULT_SETTINGS.vimStatusPromptMap.insert
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.insert = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Insert mode prompt')
.setDesc('Set the status prompt text for insert mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟠');
text.setValue(
this.plugin.settings.vimStatusPromptMap.insert ||
DEFAULT_SETTINGS.vimStatusPromptMap.insert
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.insert = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Visual mode prompt')
.setDesc('Set the status prompt text for visual mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟡');
text.setValue(
this.plugin.settings.vimStatusPromptMap.visual ||
DEFAULT_SETTINGS.vimStatusPromptMap.visual
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.visual = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Visual mode prompt')
.setDesc('Set the status prompt text for visual mode.')
.addText((text) => {
text.setPlaceholder('Default: 🟡');
text.setValue(
this.plugin.settings.vimStatusPromptMap.visual ||
DEFAULT_SETTINGS.vimStatusPromptMap.visual
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.visual = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Replace mode prompt')
.setDesc('Set the status prompt text for replace mode.')
.addText((text) => {
text.setPlaceholder('Default: 🔴');
text.setValue(
this.plugin.settings.vimStatusPromptMap.replace ||
DEFAULT_SETTINGS.vimStatusPromptMap.replace
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.replace = value;
this.plugin.saveSettings();
});
});
new Setting(containerEl)
.setName('Replace mode prompt')
.setDesc('Set the status prompt text for replace mode.')
.addText((text) => {
text.setPlaceholder('Default: 🔴');
text.setValue(
this.plugin.settings.vimStatusPromptMap.replace ||
DEFAULT_SETTINGS.vimStatusPromptMap.replace
);
text.onChange((value) => {
this.plugin.settings.vimStatusPromptMap.replace = value;
this.plugin.saveSettings();
});
});
}
}