@@ -9,13 +9,27 @@ import * as fs from 'fs';
9
9
import * as plistParser from 'fast-plist' ;
10
10
import request from 'request-light' ;
11
11
12
+ /**
13
+ * @typedef {{
14
+ * themeContent: Object,
15
+ * themeName: string,
16
+ * themeBase: string,
17
+ * themeFileName: string,
18
+ * tmThemeFileName: string,
19
+ * tmThemeContent: string,
20
+ * } & import('./index.js').ExtensionConfig } ExtensionConfig
21
+ */
22
+
23
+ /**
24
+ * @type {import('./index.js').ExtensionGenerator }
25
+ */
12
26
export default {
13
27
id : 'ext-colortheme' ,
14
28
aliases : [ 'colortheme' ] ,
15
29
name : 'New Color Theme' ,
16
30
/**
17
31
* @param {Generator } generator
18
- * @param {Object } extensionConfig
32
+ * @param {ExtensionConfig } extensionConfig
19
33
*/
20
34
prompting : async ( generator , extensionConfig ) => {
21
35
@@ -63,7 +77,7 @@ export default {
63
77
} ,
64
78
/**
65
79
* @param {Generator } generator
66
- * @param {Object } extensionConfig
80
+ * @param {ExtensionConfig } extensionConfig
67
81
*/
68
82
writing : ( generator , extensionConfig ) => {
69
83
if ( extensionConfig . tmThemeFileName ) {
@@ -92,7 +106,7 @@ export default {
92
106
93
107
/**
94
108
* @param {Generator } generator
95
- * @param {Object } extensionConfig
109
+ * @param {ExtensionConfig } extensionConfig
96
110
*/
97
111
async function askForThemeInfo ( generator , extensionConfig ) {
98
112
if ( generator . options [ 'quick' ] ) {
@@ -132,7 +146,12 @@ async function askForThemeInfo(generator, extensionConfig) {
132
146
await convertTheme ( null , extensionConfig , false , generator ) ;
133
147
}
134
148
}
135
-
149
+ /**
150
+ * @param {string } location
151
+ * @param {ExtensionConfig } extensionConfig
152
+ * @param {boolean } inline
153
+ * @param {Generator } generator
154
+ */
136
155
function convertTheme ( location , extensionConfig , inline , generator ) {
137
156
if ( ! location ) {
138
157
extensionConfig . tmThemeFileName = '' ;
@@ -187,6 +206,12 @@ function convertTheme(location, extensionConfig, inline, generator) {
187
206
}
188
207
}
189
208
209
+ /**
210
+ * @param {ExtensionConfig } extensionConfig
211
+ * @param {string } tmThemeFileName
212
+ * @param {string } body
213
+ * @param {Generator } generator
214
+ */
190
215
function processContent ( extensionConfig , tmThemeFileName , body , generator ) {
191
216
const themeNameMatch = body . match ( / < k e y > n a m e < \/ k e y > \s * < s t r i n g > ( [ ^ < ] * ) / ) ;
192
217
const themeName = themeNameMatch ? themeNameMatch [ 1 ] : '' ;
@@ -235,6 +260,11 @@ const mappings = {
235
260
"ansiBrightCyan" : [ "terminal.ansiBrightCyan" ] , "ansiBrightWhite" : [ "terminal.ansiBrightWhite" ]
236
261
} ;
237
262
263
+ /**
264
+ * @param {string } content
265
+ * @param {string } tmThemeFileName
266
+ * @param {Generator } generator
267
+ */
238
268
function migrate ( content , tmThemeFileName , generator ) {
239
269
let result = { } ;
240
270
let theme ;
0 commit comments