Code Map AdvPL
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
const fs = require("fs"); | |
class mapper { | |
static read_all_lines(file) { | |
let text = fs.readFileSync(file, 'utf8'); | |
return text.split(/\r?\n/g); | |
} | |
static generate(file) { | |
let members = []; | |
try { | |
let line_num = 0; | |
mapper | |
.read_all_lines(file) | |
.forEach(line => { | |
line_num++; | |
line = line.trim(); | |
if (line.toLowerCase().startsWith("static function ") && line.toLowerCase().trim().endsWith("def()")) | |
members.push(`${line.substr(16).trim()}|${line_num}|interface`); | |
else if (line.toLowerCase().startsWith("static function ")) | |
members.push(`${line.substr(16).trim()}|${line_num}|function`); | |
else if (line.toLowerCase().startsWith("user function ")) | |
members.push(`U_${line.substr(14).trim()}|${line_num}|function`); | |
else if (line.toLowerCase().startsWith("function ")) | |
members.push(`${line.substr(9).trim()}|${line_num}|level1`); | |
else if (line.toLocaleLowerCase().startsWith("wsmethod") && | |
(line.toLocaleLowerCase().indexOf("wsreceive") > 0 || line.toLocaleLowerCase().indexOf("wsservice") > 0)) | |
members.push(`${line.trim()}|${line_num}|function`); | |
else if (line.toLocaleLowerCase().startsWith("wsmethod") && line.toLocaleLowerCase().indexOf("description") > 0) | |
members.push(`${line.substr(0, line.toLocaleLowerCase().indexOf("description") - 1).trim()}|${line_num}|interface`); | |
else if (line.toLocaleLowerCase().startsWith("wsrestful")) | |
members.push(`${line.substr(0, line.toLocaleLowerCase().indexOf("description") - 1).trim()}|${line_num}|class`); | |
else if (line.toLocaleLowerCase().startsWith("class ")) | |
members.push(`${line.substr(6).trim()}|${line_num}|class`); | |
else if (line.toLocaleLowerCase().startsWith("data ")) | |
members.push(` ${line.substr(5).trim()}|${line_num}|property`); | |
else if (line.toLocaleLowerCase().startsWith("local ") && line.indexOf(":=") > 0) | |
members.push(` ${line.substr(6, line.indexOf(":=") - 6).trim()}|${line_num}|property`); | |
else if (line.toLocaleLowerCase().startsWith("local ") && line.indexOf(":=") <= 0) | |
members.push(` ${line.substr(6).trim()}|${line_num}|property`); | |
else if (line.toLocaleLowerCase().startsWith("private ") && line.indexOf(":=") > 0) | |
members.push(` ${line.substr(8, line.indexOf(":=") - 8).trim()}|${line_num}|property`); | |
else if (line.toLocaleLowerCase().startsWith("private ") && line.indexOf(":=") <= 0) | |
members.push(` ${line.substr(8).trim()}|${line_num}|property`); | |
else if (line.toLocaleLowerCase().startsWith("method ") && line.toLocaleLowerCase().indexOf("class") > 0) { | |
let classe = line.substr(line.toLocaleLowerCase().indexOf("class")+5); | |
let indexClasse = members.findIndex(arr => arr.trim().startsWith(classe.trim())); | |
members.splice(indexClasse+1, 0, ` ${line.substr(7).trim()}|${line_num}|function`); | |
} | |
}); | |
} | |
catch (error) { | |
console.log(error); | |
} | |
return members; | |
} | |
} | |
exports.mapper = mapper; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"codemap.prw": "C:\\Users\\g_santana\\AppData\\Roaming\\Code\\User\\mapper_prw.js", | |
"codemap.prx": "C:\\Users\\g_santana\\AppData\\Roaming\\Code\\User\\mapper_prw.js", | |
"codemap.tlpp": "C:\\Users\\g_santana\\AppData\\Roaming\\Code\\User\\mapper_prw.js", | |
"codemap.textMode": false, |
Adicionado configuração para nova extensão .tlpp
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Adicionado
.trim()
para limpar os espaços em branco da declaração dos itens.