|
|
@ -4,12 +4,16 @@ try { |
|
|
|
console.log("start") |
|
|
|
const vscode = require("vscode") |
|
|
|
const fs = require("fs") |
|
|
|
var path = require('path'); |
|
|
|
|
|
|
|
let start = vscode.window.activeTextEditor.selection.start.line |
|
|
|
let fileName = vscode.window.activeTextEditor.document.fileName |
|
|
|
|
|
|
|
|
|
|
|
console.log(start) |
|
|
|
console.log(fileName) |
|
|
|
let fileDir = path.dirname(fileName) |
|
|
|
let fileBaseName = path.basename(fileName) |
|
|
|
fs.readFile(fileName, 'utf8', (err, data) => { |
|
|
|
if (err) throw err; |
|
|
|
|
|
|
@ -75,11 +79,30 @@ try { |
|
|
|
for (; prefix.indexOf(" ") > 0;) { |
|
|
|
prefix = prefix.replace(" ", " ") |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
let underscore_naming = rearr.join("_"); |
|
|
|
let lowercase_first_letter = ""; |
|
|
|
let capitalize_the_first_letter = ""; |
|
|
|
let rearr = prefix.toLocaleLowerCase().split(" "); |
|
|
|
for (var i = 0; i < rearr.length; i++) { |
|
|
|
let tmp = rearr[i].split(""); |
|
|
|
tmp[0] = tmp[0].toLocaleUpperCase(); |
|
|
|
capitalize_the_first_letter += tmp.join(""); |
|
|
|
if (i == 0) { |
|
|
|
lowercase_first_letter += rearr[i]; |
|
|
|
} else { |
|
|
|
lowercase_first_letter += tmp.join("");; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
prefix = prefix.replace(/ /g, "/") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let endPosition = new vscode.Position(endLine, endChar) |
|
|
|
|
|
|
|
|
|
|
|
axios({ |
|
|
|
method: 'get', |
|
|
|
url: 'http://git.ouxuan.net/3136352472/vscode-helper-js/raw/branch/master/hasaki-gen-crud/template.go', |
|
|
@ -87,23 +110,46 @@ try { |
|
|
|
}).then(res => { |
|
|
|
console.log("123") |
|
|
|
let text = "" + res['data'] |
|
|
|
let tmp = text.split("// ----------------------------temp------------------------------------") |
|
|
|
|
|
|
|
text = tmp[1] |
|
|
|
text = text.replace(/Temp3A60/g, struct) |
|
|
|
let structHeadLower = struct[0].toLocaleLowerCase() + struct.slice(1) |
|
|
|
console.log("structHeadLower", structHeadLower, struct[0].toLocaleLowerCase()) |
|
|
|
text = text.replace(/TempLowHead3A60/g, structHeadLower) |
|
|
|
text = text.replace(/Prefix3A60/g, prefix) |
|
|
|
|
|
|
|
text = text.replace(/PrefixHigHead3A60/g, capitalize_the_first_letter) |
|
|
|
console.log(text) |
|
|
|
console.log(endPosition) |
|
|
|
|
|
|
|
vscode.window.activeTextEditor.edit(function (textEditorEdit) { |
|
|
|
textEditorEdit.insert( |
|
|
|
endPosition, |
|
|
|
text, |
|
|
|
) |
|
|
|
}) |
|
|
|
|
|
|
|
let tmp = text.split("// ----------------------------temp------------------------------------") |
|
|
|
|
|
|
|
if (data.indexOf(`${struct}) wherePrimaryKey`) < 0) { |
|
|
|
vscode.window.activeTextEditor.edit(function (textEditorEdit) { |
|
|
|
textEditorEdit.insert( |
|
|
|
endPosition, |
|
|
|
tmp[1], |
|
|
|
) |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
let package_src = "" |
|
|
|
for (let i = 0; i < context_arr.length; i++) { |
|
|
|
const element = context_arr[i].trim(" "); |
|
|
|
if (element.indexOf("package") == 0) { |
|
|
|
package_src = element |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
let crudFileName = path.join(fileDir, `auto_generated_crud_${fileBaseName}`) |
|
|
|
|
|
|
|
let httpFileName = path.join(fileDir, `auto_generated_http_${underscore_naming}_${fileBaseName}`) |
|
|
|
|
|
|
|
fs.writeFile(crudFileName, `${package_src}\n\n${tmp[2]}`) |
|
|
|
|
|
|
|
fs.writeFile(httpFileName, `${package_src}\n\n${tmp[3]}`) |
|
|
|
|
|
|
|
// vscode.window.showErrorMessage(res)
|
|
|
|
}).catch(error => { |
|
|
|
|
|
|
|