@@ -4,14 +4,14 @@ import { EditorSelection, Notice, App, MarkdownView, Plugin, PluginSettingTab, S
4
4
declare const CodeMirror : any ;
5
5
6
6
const enum vimStatus {
7
- normal = 'normal' ,
8
- insert = 'insert' ,
9
- visual = 'visual' ,
10
- replace = 'replace' ,
7
+ normal = 'normal' ,
8
+ insert = 'insert' ,
9
+ visual = 'visual' ,
10
+ replace = 'replace' ,
11
11
}
12
12
type VimStatusPrompt = string ;
13
13
type VimStatusPromptMap = {
14
- [ status in vimStatus ] : VimStatusPrompt ;
14
+ [ status in vimStatus ] : VimStatusPrompt ;
15
15
} ;
16
16
17
17
interface Settings {
@@ -21,7 +21,7 @@ interface Settings {
21
21
fixedNormalModeLayout : boolean ,
22
22
capturedKeyboardMap : Record < string , string > ,
23
23
supportJsCommands ?: boolean
24
- vimStatusPromptMap : VimStatusPromptMap ;
24
+ vimStatusPromptMap : VimStatusPromptMap ;
25
25
}
26
26
27
27
const DEFAULT_SETTINGS : Settings = {
@@ -31,19 +31,19 @@ const DEFAULT_SETTINGS: Settings = {
31
31
fixedNormalModeLayout : false ,
32
32
capturedKeyboardMap : { } ,
33
33
supportJsCommands : false ,
34
- vimStatusPromptMap : {
35
- normal : '🟢' ,
36
- insert : '🟠' ,
37
- visual : '🟡' ,
38
- replace : '🔴' ,
39
- } ,
34
+ vimStatusPromptMap : {
35
+ normal : '🟢' ,
36
+ insert : '🟠' ,
37
+ visual : '🟡' ,
38
+ replace : '🔴' ,
39
+ } ,
40
40
}
41
41
42
42
const vimStatusPromptClassNameMap = {
43
- normal : 'plugin-obsidian-vimrc-support-prompt-normal' ,
44
- insert : 'plugin-obsidian-vimrc-support-prompt-insert' ,
45
- visual : 'plugin-obsidian-vimrc-support-prompt-visual' ,
46
- replace : 'plugin-obsidian-vimrc-support-prompt-replace' ,
43
+ normal : 'plugin-obsidian-vimrc-support-prompt-normal' ,
44
+ insert : 'plugin-obsidian-vimrc-support-prompt-insert' ,
45
+ visual : 'plugin-obsidian-vimrc-support-prompt-visual' ,
46
+ replace : 'plugin-obsidian-vimrc-support-prompt-replace' ,
47
47
}
48
48
49
49
// 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 {
73
73
private vimChordStatusBar : HTMLElement = null ;
74
74
private vimStatusBar : HTMLElement = null ;
75
75
private currentVimStatus : vimStatus = vimStatus . normal ;
76
- private currentVimStatusClassName : string =
77
- vimStatusPromptClassNameMap [ vimStatus . normal ] ;
76
+ private currentVimStatusClassName : string =
77
+ vimStatusPromptClassNameMap [ vimStatus . normal ] ;
78
78
private customVimKeybinds : { [ name : string ] : boolean } = { } ;
79
79
private currentSelection : [ EditorSelection ] = null ;
80
80
private isInsertMode : boolean = false ;
81
81
82
- updateVimStatusBar ( ) {
83
- this . vimStatusBar ?. setText (
84
- this . settings . vimStatusPromptMap [ this . currentVimStatus ]
85
- ) ;
86
- this . vimStatusBar ?. classList . replace (
87
- this . currentVimStatusClassName ,
88
- vimStatusPromptClassNameMap [ this . currentVimStatus ]
89
- ) ;
90
- this . currentVimStatusClassName =
91
- vimStatusPromptClassNameMap [ this . currentVimStatus ] ;
92
- }
82
+ updateVimStatusBar ( ) {
83
+ this . vimStatusBar ?. setText (
84
+ this . settings . vimStatusPromptMap [ this . currentVimStatus ]
85
+ ) ;
86
+ this . vimStatusBar ?. classList . replace (
87
+ this . currentVimStatusClassName ,
88
+ vimStatusPromptClassNameMap [ this . currentVimStatus ]
89
+ ) ;
90
+ this . currentVimStatusClassName =
91
+ vimStatusPromptClassNameMap [ this . currentVimStatus ] ;
92
+ }
93
93
94
94
async captureKeyboardLayout ( ) {
95
95
// This is experimental API and it might break at some point:
@@ -179,7 +179,7 @@ export default class VimrcPlugin extends Plugin {
179
179
this . isInsertMode = false ;
180
180
this . currentVimStatus = vimStatus . normal ;
181
181
if ( this . settings . displayVimMode )
182
- this . updateVimStatusBar ( ) ;
182
+ this . updateVimStatusBar ( ) ;
183
183
cmEditor . off ( 'vim-mode-change' , this . logVimModeChange ) ;
184
184
cmEditor . on ( 'vim-mode-change' , this . logVimModeChange ) ;
185
185
@@ -248,7 +248,7 @@ export default class VimrcPlugin extends Plugin {
248
248
break ;
249
249
}
250
250
if ( this . settings . displayVimMode )
251
- this . updateVimStatusBar ( ) ;
251
+ this . updateVimStatusBar ( ) ;
252
252
}
253
253
254
254
onunload ( ) {
@@ -276,7 +276,7 @@ export default class VimrcPlugin extends Plugin {
276
276
this . defineJsFile ( this . codeMirrorVimObject ) ;
277
277
this . defineSource ( this . codeMirrorVimObject ) ;
278
278
279
- this . loadVimCommands ( vimCommands ) ;
279
+ this . loadVimCommands ( vimCommands ) ;
280
280
281
281
this . prepareChordDisplay ( ) ;
282
282
this . prepareVimModeDisplay ( ) ;
@@ -614,12 +614,12 @@ export default class VimrcPlugin extends Plugin {
614
614
prepareVimModeDisplay ( ) {
615
615
if ( this . settings . displayVimMode ) {
616
616
this . vimStatusBar = this . addStatusBarItem ( ) // Add status bar item
617
- this . vimStatusBar . setText (
618
- this . settings . vimStatusPromptMap [ vimStatus . normal ]
619
- ) ; // Init the vimStatusBar with normal mode
620
- this . vimStatusBar ?. addClass (
621
- vimStatusPromptClassNameMap [ vimStatus . normal ]
622
- ) ; // Add the initial class name for normal mode
617
+ this . vimStatusBar . setText (
618
+ this . settings . vimStatusPromptMap [ vimStatus . normal ]
619
+ ) ; // Init the vimStatusBar with normal mode
620
+ this . vimStatusBar ?. addClass (
621
+ vimStatusPromptClassNameMap [ vimStatus . normal ]
622
+ ) ; // Add the initial class name for normal mode
623
623
}
624
624
}
625
625
@@ -781,64 +781,64 @@ class SettingsTab extends PluginSettingTab {
781
781
} )
782
782
} ) ;
783
783
784
- new Setting ( containerEl )
785
- . setName ( 'Normal mode prompt' )
786
- . setDesc ( 'Set the status prompt text for normal mode.' )
787
- . addText ( ( text ) => {
788
- text . setPlaceholder ( 'Default: 🟢' ) ;
789
- text . setValue (
790
- this . plugin . settings . vimStatusPromptMap . normal ||
791
- DEFAULT_SETTINGS . vimStatusPromptMap . normal
792
- ) ;
793
- text . onChange ( ( value ) => {
794
- this . plugin . settings . vimStatusPromptMap . normal = value ;
795
- this . plugin . saveSettings ( ) ;
796
- } ) ;
797
- } ) ;
798
-
799
- new Setting ( containerEl )
800
- . setName ( 'Insert mode prompt' )
801
- . setDesc ( 'Set the status prompt text for insert mode.' )
802
- . addText ( ( text ) => {
803
- text . setPlaceholder ( 'Default: 🟠' ) ;
804
- text . setValue (
805
- this . plugin . settings . vimStatusPromptMap . insert ||
806
- DEFAULT_SETTINGS . vimStatusPromptMap . insert
807
- ) ;
808
- text . onChange ( ( value ) => {
809
- this . plugin . settings . vimStatusPromptMap . insert = value ;
810
- this . plugin . saveSettings ( ) ;
811
- } ) ;
812
- } ) ;
813
-
814
- new Setting ( containerEl )
815
- . setName ( 'Visual mode prompt' )
816
- . setDesc ( 'Set the status prompt text for visual mode.' )
817
- . addText ( ( text ) => {
818
- text . setPlaceholder ( 'Default: 🟡' ) ;
819
- text . setValue (
820
- this . plugin . settings . vimStatusPromptMap . visual ||
821
- DEFAULT_SETTINGS . vimStatusPromptMap . visual
822
- ) ;
823
- text . onChange ( ( value ) => {
824
- this . plugin . settings . vimStatusPromptMap . visual = value ;
825
- this . plugin . saveSettings ( ) ;
826
- } ) ;
827
- } ) ;
828
-
829
- new Setting ( containerEl )
830
- . setName ( 'Replace mode prompt' )
831
- . setDesc ( 'Set the status prompt text for replace mode.' )
832
- . addText ( ( text ) => {
833
- text . setPlaceholder ( 'Default: 🔴' ) ;
834
- text . setValue (
835
- this . plugin . settings . vimStatusPromptMap . replace ||
836
- DEFAULT_SETTINGS . vimStatusPromptMap . replace
837
- ) ;
838
- text . onChange ( ( value ) => {
839
- this . plugin . settings . vimStatusPromptMap . replace = value ;
840
- this . plugin . saveSettings ( ) ;
841
- } ) ;
842
- } ) ;
784
+ new Setting ( containerEl )
785
+ . setName ( 'Normal mode prompt' )
786
+ . setDesc ( 'Set the status prompt text for normal mode.' )
787
+ . addText ( ( text ) => {
788
+ text . setPlaceholder ( 'Default: 🟢' ) ;
789
+ text . setValue (
790
+ this . plugin . settings . vimStatusPromptMap . normal ||
791
+ DEFAULT_SETTINGS . vimStatusPromptMap . normal
792
+ ) ;
793
+ text . onChange ( ( value ) => {
794
+ this . plugin . settings . vimStatusPromptMap . normal = value ;
795
+ this . plugin . saveSettings ( ) ;
796
+ } ) ;
797
+ } ) ;
798
+
799
+ new Setting ( containerEl )
800
+ . setName ( 'Insert mode prompt' )
801
+ . setDesc ( 'Set the status prompt text for insert mode.' )
802
+ . addText ( ( text ) => {
803
+ text . setPlaceholder ( 'Default: 🟠' ) ;
804
+ text . setValue (
805
+ this . plugin . settings . vimStatusPromptMap . insert ||
806
+ DEFAULT_SETTINGS . vimStatusPromptMap . insert
807
+ ) ;
808
+ text . onChange ( ( value ) => {
809
+ this . plugin . settings . vimStatusPromptMap . insert = value ;
810
+ this . plugin . saveSettings ( ) ;
811
+ } ) ;
812
+ } ) ;
813
+
814
+ new Setting ( containerEl )
815
+ . setName ( 'Visual mode prompt' )
816
+ . setDesc ( 'Set the status prompt text for visual mode.' )
817
+ . addText ( ( text ) => {
818
+ text . setPlaceholder ( 'Default: 🟡' ) ;
819
+ text . setValue (
820
+ this . plugin . settings . vimStatusPromptMap . visual ||
821
+ DEFAULT_SETTINGS . vimStatusPromptMap . visual
822
+ ) ;
823
+ text . onChange ( ( value ) => {
824
+ this . plugin . settings . vimStatusPromptMap . visual = value ;
825
+ this . plugin . saveSettings ( ) ;
826
+ } ) ;
827
+ } ) ;
828
+
829
+ new Setting ( containerEl )
830
+ . setName ( 'Replace mode prompt' )
831
+ . setDesc ( 'Set the status prompt text for replace mode.' )
832
+ . addText ( ( text ) => {
833
+ text . setPlaceholder ( 'Default: 🔴' ) ;
834
+ text . setValue (
835
+ this . plugin . settings . vimStatusPromptMap . replace ||
836
+ DEFAULT_SETTINGS . vimStatusPromptMap . replace
837
+ ) ;
838
+ text . onChange ( ( value ) => {
839
+ this . plugin . settings . vimStatusPromptMap . replace = value ;
840
+ this . plugin . saveSettings ( ) ;
841
+ } ) ;
842
+ } ) ;
843
843
}
844
844
}
0 commit comments