@@ -5,7 +5,7 @@ const figlet = require('figlet')
5
5
const clear = require ( 'clear' )
6
6
7
7
const { infoMsg, errorMsg, successMsg } = require ( './lib/colorStates' )
8
- const { savePlugin, removePlugin } = require ( './lib/files' )
8
+ const { savePlugin, removePlugin, updatePlugins } = require ( './lib/files' )
9
9
const { getPlugNameFromConfig } = require ( './lib/helpers' )
10
10
const { fetchPluginDetails, queryPlugins } = require ( './lib/api' )
11
11
const {
@@ -29,18 +29,39 @@ const runCommand = async (command) => {
29
29
if ( command === 'query' ) {
30
30
const { query } = await askForQuery ( )
31
31
const results = await queryPlugins ( { query } )
32
- const { selection } = await askPluginSelection ( results . plugins )
32
+ const { selection, action } = await askPluginSelection ( results . plugins )
33
33
34
- savePlugin ( selection )
34
+ switch ( action ) {
35
+ case 'info' :
36
+ const details = await fetchPluginDetails ( selection . slug )
37
+ Object . keys ( details ) . forEach ( ( val ) =>
38
+ infoMsg ( `${ val } : ${ details [ val ] } ` )
39
+ )
40
+ runMenu ( )
41
+ break
42
+
43
+ case 'install' :
44
+ savePlugin ( selection )
45
+ runMenu ( )
46
+ break
47
+
48
+ case 'back' :
49
+ runCommand ( 'query' )
50
+ break
51
+
52
+ case 'exit' :
53
+ return false
54
+
55
+ default :
56
+ errorMsg ( 'Invalid action for plugin' )
57
+ return false
58
+ }
35
59
}
36
60
37
61
if ( command === 'list' ) {
38
62
const { plugin, action } = await installedPluginsList ( )
39
63
40
64
switch ( action ) {
41
- case 'update' :
42
- break
43
-
44
65
case 'info' :
45
66
const details = await fetchPluginDetails ( getPlugNameFromConfig ( plugin ) )
46
67
Object . keys ( details ) . forEach ( ( val ) =>
@@ -55,7 +76,7 @@ const runCommand = async (command) => {
55
76
break
56
77
57
78
case 'back' :
58
- runMenu ( )
79
+ runCommand ( 'list' )
59
80
break
60
81
61
82
case 'exit' :
@@ -67,6 +88,12 @@ const runCommand = async (command) => {
67
88
}
68
89
}
69
90
91
+ if ( command === 'update' ) {
92
+ updatePlugins ( )
93
+ successMsg ( 'Plugins Updated!\n' )
94
+ runMenu ( )
95
+ }
96
+
70
97
if ( command === 'exit' ) {
71
98
return false
72
99
}
@@ -87,7 +114,7 @@ const run = async () => {
87
114
store . set ( 'vimpath' , vimpath )
88
115
store . set ( 'vimtype' , vimtype )
89
116
90
- successMsg ( "Saved. Let's continue..." )
117
+ successMsg ( "Saved. Let's continue...\n " )
91
118
runMenu ( )
92
119
} else {
93
120
runMenu ( )
0 commit comments