-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathextension.js
107 lines (91 loc) · 2.25 KB
/
extension.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
const clipboardy = require("clipboardy");
const vscode = require("vscode");
const fs = require("fs");
const path = require("path");
function combineLists(lists){
/**
*
*/
let newLists = []
for(let i1 = 0; i1 < lists.length; i1++){
let list = lists[i1];
console.log(i1);
//console.log(lists.length-1);
for(let i2 = 0; i2 < list.length; i2++){
let objects = list[i2];
for(let i3 = 0; i3 < objects.length; i3++){
let object = objects[i3];
//console.log(object.category);
newLists.push(object);
}
}
}
return(newLists);
}
function combineImports(imports){
if(imports === undefined){return("")}
let importsCombined = ""
for(let i = 0; i < imports.length; i++){
importsCombined += imports[i] + "\n";
}
return(importsCombined)
}
var filesData = [];
var data = [];
const dirPath = path.join(__dirname, '/data')
fs.readdir(dirPath, function(err, files){
if (err) {
return console.log('Unable to scan directory: ' + err);
}
files.forEach(function(file){
filesData.push(require("./data/"+file));
});
data = combineLists(filesData);
});
/*
readDirectory(dirPath).then(() => {
console.log("all done");
console.log(filesData);
}).catch(err => {
console.log(err);
});
*/
/*
filesData.push(require("./data/dataDefOrganized.json"));
filesData.push(require("./data/dataMathOrganized.json"));
filesData.push(require("./data/dataMatrixOrganized.json"));
filesData.push(require("./data/dataNumpyOrganized.json"));
filesData.push(require("./data/dataPandasOrganized.json"));
filesData.push(require("./data/dataSympyOrganized.json"));
*/
/**
* @param {vscode.ExtensionContext} context
*/
console.log("after");
function activate(context) {
let disposable = vscode.commands.registerCommand(
'codeKick.findFunc',
async function () {
console.log(filesData);
var pick = await vscode.window.showQuickPick(data.map
(l => ({
label: l.name,
detail: l.description,
description: l.category,
data: l.data,
imports: l.imports
})),
{matchOnDetail: true,
matchOnDescription: true
})
if(pick != undefined){
clipboardy.writeSync(combineImports(pick.imports)+"\n"+pick.data)
}
});
context.subscriptions.push(disposable);
}
function deactivate() {}
module.exports = {
activate,
deactivate
}