├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── .vscodeignore ├── CHANGELOG.md ├── DOWNLOADHELP.html ├── LICENSE ├── README.md ├── UPDATERHELP.html ├── dict-configuration.json ├── dist ├── analyzer.js ├── analyzer.js.map ├── analyzerView.js ├── analyzerView.js.map ├── command.js ├── command.js.map ├── dirfuncs.js ├── dirfuncs.js.map ├── extension.js ├── extension.js.map ├── findFile.js ├── findFile.js.map ├── findView.js ├── findView.js.map ├── helpView.js ├── helpView.js.map ├── jsonState.js ├── jsonState.js.map ├── logView.js ├── logView.js.map ├── logfile.js ├── logfile.js.map ├── nlp.js ├── nlp.js.map ├── outputView.js ├── outputView.js.map ├── sequence.js ├── sequence.js.map ├── sequenceView.js ├── sequenceView.js.map ├── status.js ├── status.js.map ├── textFile.js ├── textFile.js.map ├── textView.js ├── textView.js.map ├── visualText.js └── visualText.js.map ├── eclcc.log ├── kb-configuration.json ├── kbb-configuration.json ├── nlp-configuration.json ├── package-lock.json ├── package.json ├── resources ├── NLPIcon.svg ├── NLPppLogo.png ├── NLUGlobLogoBanner.png ├── OpeningAnalyzersFolder.gif ├── UnicodeExample.gif ├── VSCodeNLP.png ├── dark │ ├── anacopy.svg │ ├── arrow-small-right.svg │ ├── boolean.svg │ ├── cancel-button.svg │ ├── chrome-close.svg │ ├── circle-filled.svg │ ├── clean.svg │ ├── close.svg │ ├── code.svg │ ├── color-mode.svg │ ├── dependency.svg │ ├── dict.svg │ ├── dna-grayed.svg │ ├── dna-lib-grayed.svg │ ├── dna-lib.svg │ ├── dna.svg │ ├── dnar-grayed.svg │ ├── dnar.svg │ ├── document copy.svg │ ├── document-test.svg │ ├── document.svg │ ├── dot.svg │ ├── down.svg │ ├── ecl.svg │ ├── edit.svg │ ├── error.svg │ ├── file-test.svg │ ├── file.svg │ ├── folder-inactive.svg │ ├── folder-test.svg │ ├── folder.svg │ ├── gear.svg │ ├── kb-copyto.svg │ ├── kb-main.svg │ ├── kb-new.svg │ ├── kb.svg │ ├── kbb-new.svg │ ├── kbb.svg │ ├── left.svg │ ├── library.svg │ ├── load.svg │ ├── log.svg │ ├── manifest.svg │ ├── mod.svg │ ├── new-file.svg │ ├── new-folder.svg │ ├── nlp.svg │ ├── number.svg │ ├── python.svg │ ├── readme.svg │ ├── refresh.svg │ ├── rename.svg │ ├── right-blue.svg │ ├── right.svg │ ├── run.svg │ ├── search.svg │ ├── searchAll.svg │ ├── seq-circle.svg │ ├── string.svg │ ├── symbol-keyword.svg │ ├── symbol-property.svg │ ├── test-set.svg │ ├── test.svg │ ├── text-copyto.svg │ ├── toggle.svg │ ├── tree.svg │ ├── up.svg │ ├── update.svg │ ├── video.svg │ ├── watch.svg │ ├── x-box.svg │ └── yield.svg ├── light │ ├── anacopy.svg │ ├── arrow-small-right.svg │ ├── boolean.svg │ ├── cancel-button.svg │ ├── chrome-close.svg │ ├── circle-filled.svg │ ├── clean.svg │ ├── close.svg │ ├── code.svg │ ├── color-mode.svg │ ├── dependency.svg │ ├── dict.svg │ ├── dna-grayed.svg │ ├── dna-lib-grayed.svg │ ├── dna-lib.svg │ ├── dna.svg │ ├── dnar-grayed.svg │ ├── dnar.svg │ ├── document copy.svg │ ├── document-test.svg │ ├── document.svg │ ├── dot.svg │ ├── down.svg │ ├── ecl.svg │ ├── edit.svg │ ├── error.svg │ ├── file.svg │ ├── folder-inactive.svg │ ├── folder-test.svg │ ├── folder.svg │ ├── gear.svg │ ├── kb-copyto.svg │ ├── kb-main.svg │ ├── kb-new.svg │ ├── kb.svg │ ├── kbb-new.svg │ ├── kbb.svg │ ├── left.svg │ ├── library.svg │ ├── load.svg │ ├── log.svg │ ├── manifest.svg │ ├── mod.svg │ ├── new-file.svg │ ├── new-folder.svg │ ├── nlp.svg │ ├── number.svg │ ├── python.svg │ ├── readme.svg │ ├── refresh.svg │ ├── rename.svg │ ├── right-blue.svg │ ├── right.svg │ ├── run.svg │ ├── search.svg │ ├── searchAll.svg │ ├── seq-circle.svg │ ├── string.svg │ ├── symbol-keyword.svg │ ├── symbol-property.svg │ ├── test-set.svg │ ├── test.svg │ ├── text-copyto.svg │ ├── toggle.svg │ ├── tree.svg │ ├── up.svg │ ├── update.svg │ ├── video.svg │ ├── watch.svg │ ├── x-box.svg │ └── yield.svg └── vs_nlp-icon-theme.json ├── snippets └── nlp.json ├── src ├── analyzer.ts ├── analyzerView.ts ├── command.ts ├── dirfuncs.ts ├── extension.ts ├── fileOps.ts ├── findFile.ts ├── findView.ts ├── helpView.ts ├── jsonState.ts ├── kbView.ts ├── logView.ts ├── modFile.ts ├── nlp.ts ├── outputView.ts ├── sequence.ts ├── sequenceView.ts ├── status.ts ├── textFile.ts ├── textView.ts ├── treeFile.ts └── visualText.ts ├── syntaxes ├── dict.tmLanguage.json ├── kb.tmLanguage.json ├── kbb.tmLanguage.json ├── nlp.tmLanguage.json ├── seq.tmLanguage.json ├── tree.tmLanguage.json └── txxt.tmLanguage.json ├── themes ├── dark_defaults.json └── light_defaults.json ├── tree-configuration.json ├── tsconfig.json ├── txxt-configuration.json ├── vsc-extension-quickstart.md └── vscode.proposed.d.ts /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | // A launch configuration that launches the extension inside a new window 2 | // Use IntelliSense to learn about possible attributes. 3 | // Hover to view descriptions of existing attributes. 4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 5 | { 6 | "version": "0.2.0", 7 | "configurations": [ 8 | { 9 | "name": "Extension", 10 | "type": "extensionHost", 11 | "request": "launch", 12 | "runtimeExecutable": "${execPath}", 13 | "args": [ 14 | "--extensionDevelopmentPath=${workspaceFolder}" 15 | ], 16 | "outFiles": [ 17 | "${workspaceFolder}/**/*.ts", 18 | "!**/node_modules/**" 19 | ] 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.tokenColorCustomizations": { 3 | "textMateRules": [ 4 | { 5 | "scope": "entity.name.function.letter.nlp", 6 | "settings": { 7 | "foreground": "#dc1b1b" 8 | } 9 | }, 10 | { 11 | "scope": "variable.parameter.nlp", 12 | "settings": { 13 | "foreground": "#f8fa87" 14 | } 15 | }, 16 | { 17 | "scope": "keyword.attribute.nlp", 18 | "settings": { 19 | "foreground": "#f293fb" 20 | } 21 | }, 22 | { 23 | "scope": "constant.numeric.tree", 24 | "settings": { 25 | "foreground": "#93bffb" 26 | } 27 | }, 28 | { 29 | "scope": "keyword.fired.tree", 30 | "settings": { 31 | "foreground": "#dc1b1b" 32 | } 33 | }, 34 | { 35 | "scope": "keyword.rewrite.tree", 36 | "settings": { 37 | "foreground": "#f8fa87" 38 | } 39 | }, 40 | { 41 | "scope": "keyword.node.tree", 42 | "settings": { 43 | "foreground": "#4e8e3c" 44 | } 45 | }, 46 | { 47 | "scope": "variable.parameter.txxt", 48 | "settings": { 49 | "foreground": "#f8fa87" 50 | } 51 | }, 52 | { 53 | "scope": "keyword.concept.kbb1", 54 | "settings": { 55 | "foreground": "#909228" 56 | } 57 | }, 58 | { 59 | "scope": "keyword.concept.kbb", 60 | "settings": { 61 | "foreground": "#e3ee50" 62 | } 63 | }, 64 | { 65 | "scope": "keyword.concept.kbb1", 66 | "settings": { 67 | "foreground": "#2eb657" 68 | } 69 | }, 70 | { 71 | "scope": "keyword.concept.kbb2", 72 | "settings": { 73 | "foreground": "#e049d9" 74 | } 75 | } 76 | ] 77 | }, 78 | "editor.suggest.snippetsPreventQuickSuggestions": false, 79 | "git.ignoreLimitWarning": true 80 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0.0", 3 | "tasks": [ 4 | { 5 | "type": "npm", 6 | "script": "watch", 7 | "problemMatcher": "$tsc-watch", 8 | "isBackground": true, 9 | "presentation": { 10 | "reveal": "never" 11 | }, 12 | "group": { 13 | "kind": "build", 14 | "isDefault": true 15 | } 16 | }, 17 | { 18 | "label": "Run Analyzer", 19 | "linux": { 20 | "command": "nlp.exe" 21 | }, 22 | "windows": { 23 | "command": "nlp" 24 | }, 25 | "args": [ 26 | "-ANA", 27 | "corporate", 28 | "${relativeFile}" 29 | ], 30 | "options": { 31 | "cwd": "/home/dehilster/nlp-engine/" 32 | }, 33 | "group": { 34 | "kind": "build", 35 | "isDefault": true 36 | } 37 | }, 38 | { 39 | "label": "Run Analyzer Debug", 40 | "dependsOn": ["Copy Text","Run Debug"], 41 | "group": { 42 | "kind": "build", 43 | "isDefault": true 44 | } 45 | }, 46 | { 47 | "label": "Copy Text", 48 | "command": "cp", 49 | "args": [ 50 | "${relativeFile}", 51 | "${workspaceFolder}\\output\\input.txt", 52 | ] 53 | }, 54 | { 55 | "label": "Run Debug", 56 | "linux": { 57 | "command": "nlp.exe" 58 | }, 59 | "windows": { 60 | "command": "nlp" 61 | }, 62 | "args": [ 63 | "-ANA", 64 | "corporate", 65 | "${relativeFile}", 66 | "-DEV" 67 | ], 68 | "options": { 69 | "cwd": "/home/dehilster/nlp-engine/" 70 | } 71 | } 72 | ] 73 | } -------------------------------------------------------------------------------- /.vscodeignore: -------------------------------------------------------------------------------- 1 | # Ignore everything 2 | * 3 | */** 4 | 5 | # Whitelist required files 6 | !dist/**/* 7 | !resources/**/* 8 | !snippets/**/* 9 | !syntaxes/**/* 10 | !themes/**/* 11 | !.vscode/settings.json 12 | 13 | !.vscodeignore 14 | !CHANGELOG.md 15 | !DOWNLOADHELP.html 16 | !UPDATERHELP.html 17 | !node_modules/agent-base/**/* 18 | !node_modules/balanced-match/**/* 19 | !node_modules/brace-expansion/**/* 20 | !node_modules/buffer-crc32/**/* 21 | !node_modules/concat-map/**/* 22 | !node_modules/copy-dir/**/* 23 | !node_modules/debug/**/* 24 | !node_modules/download-file/**/* 25 | !node_modules/end-of-stream/**/* 26 | !node_modules/extract-zip/**/* 27 | !node_modules/fd-slicer/**/* 28 | !node_modules/files.txt/**/* 29 | !node_modules/follow-redirects/**/* 30 | !node_modules/fs.realpath/**/* 31 | !node_modules/get-stream/**/* 32 | !node_modules/glob/**/* 33 | !node_modules/https-proxy-agent/**/* 34 | !node_modules/inflight/**/* 35 | !node_modules/inherits/**/* 36 | !node_modules/mime-db/**/* 37 | !node_modules/mime-types/**/* 38 | !node_modules/minimatch/**/* 39 | !node_modules/mkdirp/**/* 40 | !node_modules/moment/**/* 41 | !node_modules/moment-duration-format/**/* 42 | !node_modules/ms/**/* 43 | !node_modules/n-readlines/**/* 44 | !node_modules/nodejs-file-downloader/**/* 45 | !node_modules/once/**/* 46 | !node_modules/os/**/* 47 | !node_modules/path-is-absolute/**/* 48 | !node_modules/pend/**/* 49 | !node_modules/pump/**/* 50 | !node_modules/rimraf/**/* 51 | !node_modules/sanitize-filename/**/* 52 | !node_modules/truncate-utf8-bytes/**/* 53 | !node_modules/tslib/**/* 54 | !node_modules/utf8-byte-length/**/* 55 | !node_modules/wrappy/**/* 56 | !node_modules/yauzl/**/* 57 | 58 | !nlp-configuration.json 59 | !tree-configuration.json 60 | !txxt-configuration.json 61 | !kb-configuration.json 62 | !kbb-configuration.json 63 | !dict-configuration.json 64 | !LICENSE 65 | !package.json 66 | !README.md 67 | -------------------------------------------------------------------------------- /DOWNLOADHELP.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Solutions to NLP Engine not Downloading

5 | 6 |

If your NLP Engine is not updating, try these solutions in order. If the first solution doesn't work, move to the next, and so on.

7 | 8 | 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 1998- Amnon Meyers, David de Hilster 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /UPDATERHELP.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

Solutions to NLP Engine Updating Timeout

5 | 6 |

If your NLP Engine is timing out, then try these suggestions:

7 | 8 | 20 | 21 | -------------------------------------------------------------------------------- /dict-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "#" 4 | }, 5 | "brackets": [ 6 | ["[", "]"], 7 | ["(", ")"] 8 | ], 9 | "autoClosingPairs": [ 10 | ["[", "]"], 11 | ["(", ")"], 12 | ["\"", "\""], 13 | ["'", "'"] 14 | ], 15 | "surroundingPairs": [ 16 | ["[", "]"], 17 | ["(", ")"], 18 | ["\"", "\""], 19 | ["'", "'"] 20 | ] 21 | } -------------------------------------------------------------------------------- /dist/analyzerView.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"analyzerView.js","sourceRoot":"","sources":["../src/analyzerView.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /dist/command.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /dist/extension.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.activate = void 0; 4 | const visualText_1 = require("./visualText"); 5 | const analyzerView_1 = require("./analyzerView"); 6 | const command_1 = require("./command"); 7 | const sequenceView_1 = require("./sequenceView"); 8 | const textView_1 = require("./textView"); 9 | const outputView_1 = require("./outputView"); 10 | const findView_1 = require("./findView"); 11 | const helpView_1 = require("./helpView"); 12 | const logView_1 = require("./logView"); 13 | const status_1 = require("./status"); 14 | function activate(ctx) { 15 | visualText_1.VisualText.attach(ctx); 16 | analyzerView_1.AnalyzerView.attach(ctx); 17 | textView_1.TextView.attach(ctx); 18 | outputView_1.OutputView.attach(ctx); 19 | sequenceView_1.SequenceView.attach(ctx); 20 | findView_1.FindView.attach(ctx); 21 | logView_1.LogView.attach(ctx); 22 | helpView_1.HelpView.attach(ctx); 23 | command_1.NLPCommands.attach(ctx); 24 | status_1.NLPStatusBar.attach(ctx); 25 | } 26 | exports.activate = activate; 27 | //# sourceMappingURL=extension.js.map -------------------------------------------------------------------------------- /dist/extension.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,iDAA8C;AAC9C,uCAAwC;AACxC,iDAA8C;AAC9C,yCAAsC;AACtC,6CAA0C;AAC1C,yCAAsC;AACtC,yCAAsC;AACtC,uCAAoC;AACpC,qCAAwC;AAExC,SAAgB,QAAQ,CAAC,GAA4B;IACjD,uBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,2BAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,uBAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,2BAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,iBAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,mBAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,qBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxB,qBAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAXD,4BAWC"} -------------------------------------------------------------------------------- /dist/findFile.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.FindFile = exports.findFiles = void 0; 4 | const vscode = require("vscode"); 5 | const path = require("path"); 6 | const textFile_1 = require("./textFile"); 7 | const dirfuncs_1 = require("./dirfuncs"); 8 | class FindFile { 9 | constructor() { 10 | this.textFile = new textFile_1.TextFile(); 11 | this.finds = []; 12 | this.dirPath = ''; 13 | } 14 | getMatches() { 15 | return this.finds; 16 | } 17 | searchFiles(dir, searchTerm, endswith = '', level = 0) { 18 | if (level == 0) 19 | this.finds = []; 20 | const files = dirfuncs_1.dirfuncs.getFiles(dir); 21 | var context = 60; 22 | var escaped = this.escapeRegExp(searchTerm); 23 | for (let file of files) { 24 | if (endswith.length && !file.path.endsWith(endswith)) 25 | continue; 26 | this.textFile.setFile(file); 27 | if (this.textFile.getText().search(escaped) >= 0) { 28 | let num = 0; 29 | for (let line of this.textFile.getLines()) { 30 | var pos = line.search(escaped); 31 | if (pos >= 0) { 32 | var filename = path.basename(file.path); 33 | var uri = vscode.Uri.file(path.join(dir.path, filename)); 34 | if (line.length + escaped.length > context) { 35 | let half = context / 2; 36 | if (line.length - pos < half) { 37 | line = line.substr(line.length - context - 1, context); 38 | } 39 | else if (pos > half) { 40 | line = line.substr(pos - half, context + escaped.length); 41 | } 42 | else { 43 | line = line.substr(0, context); 44 | } 45 | } 46 | line = line.replace(searchTerm, ` <<${searchTerm}>> `); 47 | var label = `${filename} [${num} ${pos}] ${line}`; 48 | this.finds.push({ uri: uri, label: label, line: num, pos: Number.parseInt(pos), text: line }); 49 | } 50 | num++; 51 | } 52 | } 53 | } 54 | const dirs = dirfuncs_1.dirfuncs.getDirectories(dir); 55 | for (let dir of dirs) { 56 | this.searchFiles(dir, searchTerm, endswith, level + 1); 57 | } 58 | return this.finds.length ? true : false; 59 | } 60 | escapeRegExp(str) { 61 | return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); 62 | } 63 | } 64 | exports.FindFile = FindFile; 65 | //# sourceMappingURL=findFile.js.map -------------------------------------------------------------------------------- /dist/findFile.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"findFile.js","sourceRoot":"","sources":["../src/findFile.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /dist/findView.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"findView.js","sourceRoot":"","sources":["../src/findView.ts"],"names":[],"mappings":"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"} -------------------------------------------------------------------------------- /dist/helpView.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.HelpView = exports.helpView = void 0; 4 | const vscode = require("vscode"); 5 | const fs = require("fs"); 6 | const path = require("path"); 7 | const visualText_1 = require("./visualText"); 8 | class HelpView { 9 | constructor(context) { 10 | this.context = context; 11 | vscode.commands.registerCommand('helpView.lookup', (resource) => this.lookup(resource)); 12 | this.exists = false; 13 | this.ctx = context; 14 | this.panel = undefined; 15 | } 16 | static attach(ctx) { 17 | if (!exports.helpView) { 18 | exports.helpView = new HelpView(ctx); 19 | } 20 | return exports.helpView; 21 | } 22 | createPanel() { 23 | return vscode.window.createWebviewPanel('helpView', 'NLP++ Help', { 24 | viewColumn: vscode.ViewColumn.Beside, 25 | preserveFocus: false 26 | }); 27 | } 28 | lookup(resource) { 29 | let editor = vscode.window.activeTextEditor; 30 | if (editor) { 31 | var selection = editor.selection; 32 | var text = editor.document.getText(selection); 33 | if (!this.exists) { 34 | this.panel = this.createPanel(); 35 | this.panel.onDidDispose(() => { 36 | this.exists = false; 37 | }, null, this.context.subscriptions); 38 | this.exists = true; 39 | } 40 | if (this.panel) { 41 | this.panel.webview.html = this.getWebviewContent(text); 42 | } 43 | } 44 | } 45 | getWebviewContent(term) { 46 | let dir = path.join(visualText_1.visualText.getVisualTextDirectory('Help'), 'helps'); 47 | let htmlFile = path.join(dir, term + '.htm'); 48 | if (fs.existsSync(htmlFile)) { 49 | var html = fs.readFileSync(htmlFile, 'utf8'); 50 | return html + '


'; 51 | } 52 | return 'Not found: ' + term; 53 | } 54 | } 55 | exports.HelpView = HelpView; 56 | //# sourceMappingURL=helpView.js.map -------------------------------------------------------------------------------- /dist/helpView.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"helpView.js","sourceRoot":"","sources":["../src/helpView.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,yBAAyB;AACzB,6BAA6B;AAC7B,6CAA0C;AAG1C,MAAa,QAAQ;IAMjB,YAAoB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;QAChD,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,GAA4B;QACtC,IAAI,CAAC,gBAAQ,EAAE;YACX,gBAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;SAChC;QACD,OAAO,gBAAQ,CAAC;IACpB,CAAC;IAED,WAAW;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAkB,CACnC,UAAU,EACV,YAAY,EACZ;YACI,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;YACpC,aAAa,EAAE,KAAK;SACvB,CACJ,CAAC;IACN,CAAC;IAED,MAAM,CAAC,QAAoB;QACvB,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC5C,IAAI,MAAM,EAAE;YACR,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACjC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,YAAY,CACnB,GAAG,EAAE;oBACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACxB,CAAC,EACD,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,aAAa,CAC7B,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACtB;YACD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC1D;SACJ;IACL,CAAC;IAED,iBAAiB,CAAC,IAAY;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,uBAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAC,OAAO,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAC,IAAI,GAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACzB,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC7C,OAAO,IAAI,GAAG,cAAc,CAAC;SAChC;QACD,OAAO,aAAa,GAAG,IAAI,CAAC;IAChC,CAAC;CACJ;AA9DD,4BA8DC"} -------------------------------------------------------------------------------- /dist/jsonState.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.JsonState = exports.jsonState = void 0; 4 | const path = require("path"); 5 | const fs = require("fs"); 6 | class JsonState { 7 | constructor() { 8 | this.json = undefined; 9 | this.jsonStr = ''; 10 | this.dirPath = ''; 11 | this.filePath = ''; 12 | this.tabSize = 4; 13 | this.exists = false; 14 | } 15 | setFilePath(dirPath, filename) { 16 | this.exists = false; 17 | this.dirPath = path.join(dirPath, '.vscode'); 18 | this.filePath = path.join(this.dirPath, filename + '.json'); 19 | if (fs.existsSync(this.filePath)) { 20 | this.exists = true; 21 | } 22 | return this.exists; 23 | } 24 | fileExists() { 25 | return this.exists; 26 | } 27 | getFilePath() { 28 | return this.filePath; 29 | } 30 | jsonParse(dirPath, filename, label) { 31 | if (this.setFilePath(dirPath.path, filename)) { 32 | this.jsonStr = fs.readFileSync(this.filePath, 'utf8'); 33 | if (this.jsonStr.length) { 34 | this.json = JSON.parse(this.jsonStr); 35 | return true; 36 | } 37 | } 38 | return false; 39 | } 40 | saveFile(dirPath, filename, json) { 41 | this.json = json; 42 | this.setFilePath(dirPath, filename); 43 | this.writeFile(); 44 | return true; 45 | } 46 | writeFile() { 47 | var jsonStr = JSON.stringify(this.json, null, this.tabSize); 48 | if (!fs.existsSync(this.dirPath)) { 49 | try { 50 | fs.mkdirSync(this.dirPath); 51 | } 52 | catch (err) { 53 | console.log('Error creating .vscode folder: ' + err.message); 54 | } 55 | } 56 | try { 57 | fs.writeFileSync(this.filePath, jsonStr, { flag: 'w' }); 58 | } 59 | catch (err) { 60 | console.log('Error writing file ' + this.filePath + ': ' + err.message); 61 | } 62 | } 63 | } 64 | exports.JsonState = JsonState; 65 | //# sourceMappingURL=jsonState.js.map -------------------------------------------------------------------------------- /dist/jsonState.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"jsonState.js","sourceRoot":"","sources":["../src/jsonState.ts"],"names":[],"mappings":";;;AACA,6BAA6B;AAC7B,yBAAyB;AAGzB,MAAa,SAAS;IASlB;QAPO,SAAI,GAAQ,SAAS,CAAC;QACrB,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAW,EAAE,CAAC;QACrB,aAAQ,GAAW,EAAE,CAAC;QACtB,YAAO,GAAW,CAAC,CAAC;QACpB,WAAM,GAAY,KAAK,CAAC;IAGhC,CAAC;IAED,WAAW,CAAC,OAAe,EAAE,QAAgB;QACzC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAC,QAAQ,GAAC,OAAO,CAAC,CAAC;QACzD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,OAAmB,EAAE,QAAgB,EAAE,KAAa;QAC1D,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAC,QAAQ,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAS;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,SAAS;QACL,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI;gBACA,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9B;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;aAC/D;SACJ;QAED,IAAI;YACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAC,OAAO,EAAC,EAAC,IAAI,EAAC,GAAG,EAAC,CAAC,CAAC;SACtD;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;SAC1E;IACL,CAAC;CACJ;AAhED,8BAgEC"} -------------------------------------------------------------------------------- /eclcc.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/eclcc.log -------------------------------------------------------------------------------- /kb-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "#" 4 | }, 5 | "brackets": [ 6 | ["[", "]"], 7 | ["(", ")"] 8 | ], 9 | "autoClosingPairs": [ 10 | ["[", "]"], 11 | ["(", ")"], 12 | ["\"", "\""], 13 | ["'", "'"] 14 | ], 15 | "surroundingPairs": [ 16 | ["[", "]"], 17 | ["(", ")"], 18 | ["\"", "\""], 19 | ["'", "'"] 20 | ] 21 | } -------------------------------------------------------------------------------- /kbb-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "#" 4 | }, 5 | "brackets": [ 6 | ["[", "]"], 7 | ["(", ")"] 8 | ], 9 | "autoClosingPairs": [ 10 | ["[", "]"], 11 | ["(", ")"], 12 | ["\"", "\""], 13 | ["'", "'"] 14 | ], 15 | "surroundingPairs": [ 16 | ["[", "]"], 17 | ["(", ")"], 18 | ["\"", "\""], 19 | ["'", "'"] 20 | ] 21 | } -------------------------------------------------------------------------------- /nlp-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "#" 4 | }, 5 | "brackets": [ 6 | ["{", "}"], 7 | ["[", "]"], 8 | ["(", ")"] 9 | ], 10 | "autoClosingPairs": [ 11 | ["{", "}"], 12 | ["[", "]"], 13 | ["(", ")"], 14 | ["\"", "\""], 15 | ["'", "'"], 16 | ["@CODE", "\n@@CODE"], 17 | ["@DECL", "\n@@DECL"], 18 | ["@RULES", "@@"] 19 | ], 20 | "surroundingPairs": [ 21 | ["{", "}"], 22 | ["[", "]"], 23 | ["(", ")"], 24 | ["\"", "\""], 25 | ["'", "'"] 26 | ] 27 | } -------------------------------------------------------------------------------- /resources/NLPIcon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/NLPppLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/resources/NLPppLogo.png -------------------------------------------------------------------------------- /resources/NLUGlobLogoBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/resources/NLUGlobLogoBanner.png -------------------------------------------------------------------------------- /resources/OpeningAnalyzersFolder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/resources/OpeningAnalyzersFolder.gif -------------------------------------------------------------------------------- /resources/UnicodeExample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/resources/UnicodeExample.gif -------------------------------------------------------------------------------- /resources/VSCodeNLP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VisualText/vscode-nlp/2f486ca1f667eeab0815f0c5f131c3755bc7e471/resources/VSCodeNLP.png -------------------------------------------------------------------------------- /resources/dark/anacopy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 13 | 17 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /resources/dark/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/boolean.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/cancel-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 39 | 77 | 78 | -------------------------------------------------------------------------------- /resources/dark/chrome-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/circle-filled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/code.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/color-mode.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /resources/dark/dependency.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/dict.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /resources/dark/dna-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /resources/dark/dna-lib-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /resources/dark/dna-lib.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /resources/dark/dna.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /resources/dark/dnar-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /resources/dark/dnar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /resources/dark/document copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/dark/document-test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/dark/document.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/dark/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 44 | 50 | -------------------------------------------------------------------------------- /resources/dark/down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/dark/ecl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 42 | 45 | 48 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /resources/dark/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/file-test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 10 | 11 | -------------------------------------------------------------------------------- /resources/dark/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/folder-inactive.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37 | 44 | 48 | 53 | 57 | 58 | -------------------------------------------------------------------------------- /resources/dark/folder-test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/dark/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /resources/dark/gear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/kb-copyto.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 43 | 49 | 50 | -------------------------------------------------------------------------------- /resources/dark/kb-main.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/dark/kb-new.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/kb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/kbb-new.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 43 | 49 | 56 | 63 | 64 | -------------------------------------------------------------------------------- /resources/dark/left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 48 | 49 | -------------------------------------------------------------------------------- /resources/dark/library.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/dark/mod.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /resources/dark/new-file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/new-folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/nlp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/number.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/readme.svg: -------------------------------------------------------------------------------- 1 | 2 | 12 | 14 | 33 | 37 | 38 | -------------------------------------------------------------------------------- /resources/dark/refresh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/rename.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/dark/right-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 49 | 50 | -------------------------------------------------------------------------------- /resources/dark/right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 48 | 49 | -------------------------------------------------------------------------------- /resources/dark/run.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 37 | 41 | 48 | 49 | -------------------------------------------------------------------------------- /resources/dark/searchAll.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/seq-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/string.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/dark/symbol-keyword.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/symbol-property.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/dark/test-set.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/dark/test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/dark/text-copyto.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 36 | 44 | 50 | 51 | -------------------------------------------------------------------------------- /resources/dark/toggle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 12 | 13 | -------------------------------------------------------------------------------- /resources/dark/tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /resources/dark/up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /resources/dark/update.svg: -------------------------------------------------------------------------------- 1 | 2 | 38 | -------------------------------------------------------------------------------- /resources/dark/watch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resources/dark/x-box.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /resources/dark/yield.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /resources/light/anacopy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 10 | 14 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /resources/light/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/boolean.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/cancel-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37 | Svg Vector Icons : http://www.onlinewebfonts.com/icon 39 | 59 | 60 | -------------------------------------------------------------------------------- /resources/light/chrome-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/circle-filled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/code.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/color-mode.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/dependency.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/dict.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/light/dna-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /resources/light/dna-lib-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /resources/light/dna-lib.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /resources/light/dna.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/dnar-grayed.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /resources/light/dnar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /resources/light/document copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /resources/light/document-test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 14 | 15 | 16 | 17 | 18 | T 19 | 20 | -------------------------------------------------------------------------------- /resources/light/document.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/dot.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 44 | 50 | -------------------------------------------------------------------------------- /resources/light/down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/light/ecl.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 42 | 45 | 48 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /resources/light/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/error.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/folder-inactive.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37 | 44 | 48 | 53 | 57 | 58 | -------------------------------------------------------------------------------- /resources/light/folder-test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 13 | 14 | 16 | 18 | 19 | T 20 | 21 | -------------------------------------------------------------------------------- /resources/light/folder.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/gear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/kb-copyto.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 43 | 49 | 50 | -------------------------------------------------------------------------------- /resources/light/kb-main.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/light/kb-new.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/kb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/kbb-new.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 32 | 34 | 36 | 37 | 43 | 49 | 56 | 63 | 64 | -------------------------------------------------------------------------------- /resources/light/left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 42 | 43 | -------------------------------------------------------------------------------- /resources/light/library.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /resources/light/mod.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /resources/light/new-file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/light/new-folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /resources/light/nlp.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/number.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/readme.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/refresh.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/rename.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/light/right-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 43 | 49 | 50 | -------------------------------------------------------------------------------- /resources/light/right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 38 | 42 | 43 | -------------------------------------------------------------------------------- /resources/light/run.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 37 | 41 | 48 | 49 | -------------------------------------------------------------------------------- /resources/light/searchAll.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/seq-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/light/symbol-keyword.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/symbol-property.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /resources/light/test-set.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/light/test.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/light/text-copyto.svg: -------------------------------------------------------------------------------- 1 | 2 | 15 | 17 | 36 | 44 | 50 | 51 | -------------------------------------------------------------------------------- /resources/light/toggle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | 10 | 12 | 13 | -------------------------------------------------------------------------------- /resources/light/tree.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /resources/light/up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /resources/light/update.svg: -------------------------------------------------------------------------------- 1 | 2 | 38 | -------------------------------------------------------------------------------- /resources/light/watch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /resources/light/x-box.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /resources/light/yield.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 10 | 11 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /resources/vs_nlp-icon-theme.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "iconDefinitions": { 4 | "_file_dark": { 5 | "iconPath": "./dark/file.svg" 6 | }, 7 | "_file_light": { 8 | "iconPath": "./light/file.svg" 9 | }, 10 | "_stub_dark": { 11 | "iconPath": "./dark/triangle-right.svg" 12 | }, 13 | "_stub_light": { 14 | "iconPath": "./light/triangle-right.svg" 15 | }, 16 | "_nlp_dark": { 17 | "iconPath": "./dark/nlp.svg" 18 | }, 19 | "_nlp_light": { 20 | "iconPath": "./light/nlp.svg" 21 | }, 22 | "_kb_dark": { 23 | "iconPath": "./dark/kb.svg" 24 | }, 25 | "_kb_light": { 26 | "iconPath": "./light/kb.svg" 27 | }, 28 | "_dict_dark": { 29 | "iconPath": "./dark/dict.svg" 30 | }, 31 | "_dict_light": { 32 | "iconPath": "./light/dict.svg" 33 | }, 34 | "_test_dark": { 35 | "iconPath": "./dark/test.svg" 36 | }, 37 | "_test_light": { 38 | "iconPath": "./light/test.svg" 39 | }, 40 | "_tree_dark": { 41 | "iconPath": "./dark/tree.svg" 42 | }, 43 | "_tree_light": { 44 | "iconPath": "./light/tree.svg" 45 | }, 46 | "_log_dark": { 47 | "iconPath": "./dark/symbol-property.svg" 48 | }, 49 | "_log_light": { 50 | "iconPath": "./light/symbol-property.svg" 51 | }, 52 | "_markup_dark": { 53 | "iconPath": "./dark/symbol-keyword.svg" 54 | }, 55 | "_markup_light": { 56 | "iconPath": "./light/symbol-keyword.svg" 57 | }, 58 | "_code_dark": { 59 | "iconPath": "./dark/file-code.svg" 60 | }, 61 | "_code_light": { 62 | "iconPath": "./light/file-code.svg" 63 | } 64 | }, 65 | 66 | "file": "_file_dark", 67 | "folder": "_folder_dark", 68 | "fileExtensions": { 69 | "pat": "_nlp_dark", 70 | "nlp": "_nlp_dark", 71 | "kb": "_kb_dark", 72 | "kbb": "_kb_dark", 73 | "dict": "_dict_dark", 74 | "test": "_test_dark", 75 | "seq": "_tree_dark", 76 | "log": "_log_dark", 77 | "tree": "_tree_dark", 78 | "txxt": "_markup_dark", 79 | "stub": "_stub_dark", 80 | "cpp": "_code_dark", 81 | "h": "_code_dark" 82 | }, 83 | "light": { 84 | "file": "_file_light", 85 | "folder": "_folder_light", 86 | "fileExtensions": { 87 | "pat": "_nlp_light", 88 | "nlp": "_nlp_light", 89 | "kb": "_kb_light", 90 | "kbb": "_kb_light", 91 | "dict": "_dict_light", 92 | "test": "_test_light", 93 | "seq": "_tree_light", 94 | "log": "_log_light", 95 | "tree": "_tree_light", 96 | "txxt": "_markup_light", 97 | "stub": "_stub_light", 98 | "cpp": "_code_light", 99 | "h": "_code_light" 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /src/extension.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from "vscode"; 2 | import { VisualText } from './visualText'; 3 | import { AnalyzerView } from './analyzerView'; 4 | import { NLPCommands } from "./command"; 5 | import { SequenceView } from './sequenceView'; 6 | import { TextView } from './textView'; 7 | import { KBView } from './kbView'; 8 | import { OutputView } from './outputView'; 9 | import { FindView } from './findView'; 10 | import { HelpView } from './helpView'; 11 | import { LogView } from './logView'; 12 | import { NLPStatusBar } from './status'; 13 | import { visualText } from './visualText'; 14 | 15 | export function activate(ctx: vscode.ExtensionContext): void { 16 | TextView.attach(ctx); 17 | LogView.attach(ctx); 18 | VisualText.attach(ctx); 19 | AnalyzerView.attach(ctx); 20 | OutputView.attach(ctx); 21 | SequenceView.attach(ctx); 22 | KBView.attach(ctx); 23 | FindView.attach(ctx); 24 | HelpView.attach(ctx); 25 | NLPCommands.attach(ctx); 26 | NLPStatusBar.attach(ctx); 27 | 28 | vscode.commands.executeCommand('setContext', 'textView.fastload', visualText.getTextFastLoad()); 29 | 30 | if (visualText.getAutoUpdate()) 31 | visualText.startUpdater(); 32 | else 33 | visualText.debugMessage("Auto update on reload is off"); 34 | } -------------------------------------------------------------------------------- /src/jsonState.ts: -------------------------------------------------------------------------------- 1 | import * as vscode from 'vscode'; 2 | import * as path from 'path'; 3 | import * as fs from 'fs'; 4 | import { visualText } from './visualText'; 5 | 6 | export let jsonState: JsonState; 7 | export class JsonState { 8 | 9 | public json: any = undefined; 10 | private jsonStr: string = ''; 11 | private dirPath: string = ''; 12 | private filePath: string = ''; 13 | private tabSize: number = 4; 14 | private exists: boolean = false; 15 | 16 | constructor() { 17 | } 18 | 19 | setFilePath(dirPath: string, filename: string): boolean { 20 | this.exists = false; 21 | this.dirPath = path.join(dirPath,'.vscode'); 22 | this.filePath = path.join(this.dirPath,filename+'.json'); 23 | if (fs.existsSync(this.filePath)) { 24 | this.exists = true; 25 | } 26 | return this.exists; 27 | } 28 | 29 | fileExists(): boolean { 30 | return this.exists; 31 | } 32 | 33 | getFilePath(): string { 34 | return this.filePath; 35 | } 36 | 37 | jsonParse(dirPath: vscode.Uri, filename: string): boolean { 38 | if (this.setFilePath(dirPath.fsPath,filename)) { 39 | this.jsonStr = fs.readFileSync(this.filePath, 'utf8'); 40 | if (this.jsonStr.length) { 41 | try { 42 | this.json = JSON.parse(this.jsonStr); 43 | return true; 44 | } catch(e) { 45 | visualText.debugMessage('Jason file error: ' + this.filePath + ' -- ' + e); 46 | return false; 47 | } 48 | } 49 | } 50 | return false; 51 | } 52 | 53 | saveFile(dirPath: string, filename: string, json: any): boolean { 54 | this.json = json; 55 | this.setFilePath(dirPath,filename); 56 | this.writeFile(); 57 | return true; 58 | } 59 | 60 | writeFile() { 61 | var jsonStr = JSON.stringify(this.json,null,this.tabSize); 62 | if (!fs.existsSync(this.dirPath)) { 63 | try { 64 | fs.mkdirSync(this.dirPath); 65 | } catch (err: any) { 66 | console.log('Error creating .vscode folder: ' + err.message) 67 | } 68 | } 69 | 70 | try { 71 | fs.writeFileSync(this.filePath,jsonStr,{flag:'w'}); 72 | } catch (err: any) { 73 | console.log('Error writing file ' + this.filePath + ': ' + err.message) 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /syntaxes/dict.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.dict", 3 | "fileTypes": [ 4 | "dict" 5 | ], 6 | "name": "dict", 7 | "patterns": [ 8 | { 9 | "include": "#expression" 10 | } 11 | ], 12 | "repository": { 13 | "expression": { 14 | "name": "meta.expression.dict", 15 | "patterns": [ 16 | { 17 | "include": "#comment-line" 18 | }, 19 | { 20 | "include": "#attribute-equals" 21 | }, 22 | { 23 | "include": "#word-first-attr" 24 | }, 25 | { 26 | "include": "#other-attrs" 27 | }, 28 | { 29 | "include": "#value" 30 | }, 31 | { 32 | "include": "#qstring-double" 33 | } 34 | ] 35 | }, 36 | "word-first-attr": { 37 | "match": "^([^=]+)(\\s)([\\w\\d]+)(\\s)*(=)", 38 | "captures": { 39 | "1": { 40 | "name": "comment.line.dict" 41 | }, 42 | "2": { 43 | "name": "entity.nothing.dict" 44 | }, 45 | "3": { 46 | "name": "keyword.region.dict" 47 | }, 48 | "4": { 49 | "name": "keyword.region.dict" 50 | }, 51 | "5": { 52 | "name": "keyword.operator.dict" 53 | } 54 | } 55 | }, 56 | "value": { 57 | "match": "[\\w\\d]+", 58 | "name": "entity.name.function.dict" 59 | }, 60 | "other-attrs": { 61 | "match": "([\\w]+)(\\s)*(=)", 62 | "captures": { 63 | "1": { 64 | "name": "keyword.region.dict" 65 | }, 66 | "2": { 67 | "name": "keyword.region.dict" 68 | }, 69 | "3": { 70 | "name": "keyword.operator.dict" 71 | } 72 | } 73 | }, 74 | "comment-line": { 75 | "match": "\\s*#.*$\\n?", 76 | "name": "comment.line.dict" 77 | }, 78 | "qstring-double": { 79 | "begin": "\"", 80 | "end": "\\\"|(?:[^\\\\\\n]$)", 81 | "name": "string.double.dict", 82 | "patterns": [ 83 | { 84 | "include": "#string-character-escape" 85 | } 86 | ] 87 | }, 88 | "string-character-escape": { 89 | "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", 90 | "name": "constant.character.escape.dict" 91 | } 92 | } 93 | } -------------------------------------------------------------------------------- /syntaxes/kb.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.kb", 3 | "fileTypes": [ 4 | "kb" 5 | ], 6 | "name": "kb", 7 | "patterns": [ 8 | { 9 | "name": "variable.parameter.nlp", 10 | "match": "\\b(?i:(add|bind|ind|quit|take))\\b" 11 | }, 12 | { 13 | "name": "keyword.other.kb", 14 | "match": "\\b(?i:(attr|end|empty|hier|no_ptr|pchar|pcon|pfloat|pnum|pptr|psym|pst|root|word|sys))\\b" 15 | }, 16 | { 17 | "name": "variable.parameter.kb", 18 | "match": "\"(concept)\"" 19 | }, 20 | { 21 | "include": "#expression" 22 | } 23 | ], 24 | "repository": { 25 | "expression": { 26 | "name": "meta.expression.kb", 27 | "patterns": [ 28 | { 29 | "include": "#comment-line" 30 | }, 31 | { 32 | "include": "#number" 33 | }, 34 | { 35 | "include": "#qstring-double" 36 | }, 37 | { 38 | "include": "#comment" 39 | } 40 | ] 41 | }, 42 | "comment": { 43 | "match": "\\*.*$\\n?", 44 | "name": "comment.line.kb" 45 | }, 46 | "qstring-double": { 47 | "begin": "\"", 48 | "end": "\\\"|(?:[^\\\\\\n]$)", 49 | "name": "string.double.kb", 50 | "patterns": [ 51 | { 52 | "include": "#string-character-escape" 53 | } 54 | ] 55 | }, 56 | "string-character-escape": { 57 | "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", 58 | "name": "constant.character.escape.kb" 59 | }, 60 | "number": { 61 | "match": "\\b[0-9]+\\b", 62 | "name": "constant.numeric.kb" 63 | }, 64 | "comment-line": { 65 | "match": "\\s*#.*$\\n?", 66 | "name": "comment.line.dict" 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /syntaxes/kbb.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.kbb", 3 | "fileTypes": [ 4 | "kbb" 5 | ], 6 | "name": "kbb", 7 | "patterns": [ 8 | { 9 | "include": "#expression" 10 | } 11 | ], 12 | "repository": { 13 | "expression": { 14 | "name": "meta.expression.kbb", 15 | "patterns": [ 16 | { 17 | "include": "#comment-line" 18 | }, 19 | { 20 | "include": "#top-concept" 21 | }, 22 | { 23 | "include": "#concept-name" 24 | }, 25 | { 26 | "include": "#concept-name1" 27 | }, 28 | { 29 | "include": "#concept-name2" 30 | }, 31 | { 32 | "include": "#attribute-name" 33 | }, 34 | { 35 | "include": "#attributes" 36 | }, 37 | { 38 | "include": "#qstring-double" 39 | } 40 | ] 41 | }, 42 | "top-concept": { 43 | "match": "^([\\w\\d]+)$", 44 | "name": "keyword.other.kbb" 45 | }, 46 | "concept-name": { 47 | "name": "keyword.concept.kbb", 48 | "match": "^[\\s][\\s][\\w\\d][^:^\\[]+[:]?" 49 | }, 50 | "concept-name1": { 51 | "name": "keyword.concept.kbb1", 52 | "match": "^[\\s][\\s][\\s][\\s][\\w\\d][^:^\\[]+[:]?" 53 | }, 54 | "concept-name2": { 55 | "name": "keyword.concept.kbb2", 56 | "match": "^[\\s][\\s][\\s][\\s][\\s][\\s][\\w\\d][^:^\\[]+[:]?" 57 | }, 58 | "attribute-name": { 59 | "name": "constant.numeric.tree", 60 | "match": "\\b[\\w\\d]+=" 61 | }, 62 | "attributes": { 63 | "begin": "\\[", 64 | "end": "\\]", 65 | "patterns": [ 66 | { 67 | "include": "#number" 68 | }, 69 | { 70 | "include": "#qstring-double" 71 | } 72 | ], 73 | "name": "meta.attribute.kbb" 74 | }, 75 | "qstring-double": { 76 | "begin": "\"", 77 | "end": "\\\"|(?:[^\\\\\\n]$)", 78 | "name": "string.double.kbb", 79 | "patterns": [ 80 | { 81 | "include": "#string-character-escape" 82 | } 83 | ] 84 | }, 85 | "string-character-escape": { 86 | "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", 87 | "name": "constant.character.escape.kbb" 88 | }, 89 | "number": { 90 | "match": "\\b[\\d]+\\b", 91 | "name": "constant.numeric.kbb" 92 | }, 93 | "comment-line": { 94 | "match": "\\s*#.*$\\n?", 95 | "name": "comment.line.dict" 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /syntaxes/seq.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.seq", 3 | "fileTypes": [ 4 | "seq" 5 | ], 6 | "name": "SEQ", 7 | "patterns": [ 8 | { 9 | "include": "#expression" 10 | }, 11 | { 12 | "name": "keyword.other.seq", 13 | "match": "\\b(?i:(pat|rec|tokenize|dicttokz))\\b" 14 | } 15 | ], 16 | "repository": { 17 | "expression": { 18 | "name": "meta.expression.seq", 19 | "patterns": [ 20 | { 21 | "include": "#comment" 22 | }, 23 | { 24 | "include": "#string" 25 | }, 26 | { 27 | "include": "#literal" 28 | } 29 | ] 30 | }, 31 | "comment": { 32 | "name": "comment.seq", 33 | "patterns": [ 34 | { 35 | "include": "#comment-line" 36 | }, 37 | { 38 | "include": "#comment-block" 39 | } 40 | ] 41 | }, 42 | "comment-line": { 43 | "match": "#.*$\\n?", 44 | "name": "comment.line.seq" 45 | }, 46 | "comment-block": { 47 | "begin": "/\\*", 48 | "beginCaptures": { 49 | "0": { 50 | "name": "comment.block.begin.seq" 51 | } 52 | }, 53 | "end": "\\*/", 54 | "endCaptures": { 55 | "0": { 56 | "name": "comment.block.end.seq" 57 | } 58 | }, 59 | "name": "comment.block.seq" 60 | }, 61 | "string": { 62 | "name": "string.seq", 63 | "patterns": [ 64 | { 65 | "include": "#qstring-double" 66 | } 67 | ] 68 | }, 69 | "qstring-double": { 70 | "begin": "\"", 71 | "end": "\\\"|(?:[^\\\\\\n]$)", 72 | "name": "string.double.seq", 73 | "patterns": [ 74 | { 75 | "include": "#string-character-escape" 76 | } 77 | ] 78 | }, 79 | "string-character-escape": { 80 | "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", 81 | "name": "constant.character.escape.seq" 82 | }, 83 | "literal": { 84 | "name": "literal.seq", 85 | "patterns": [ 86 | { 87 | "include": "#numeric-literal" 88 | } 89 | ] 90 | }, 91 | "numeric-literal": { 92 | "match": "\\b(?<=[^$])((0(x|X)[0-9a-fA-F]+)|(0(o|O)[0-7]+)|(0(b|B)(0|1)+)|(([0-9]+(\\.[0-9]+)?))([eE]([+-]?)[0-9]+(\\.[0-9]+)?)?)\\b", 93 | "name": "constant.numeric.seq" 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /syntaxes/tree.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.tree", 3 | "fileTypes": [ 4 | "log", 5 | "tree" 6 | ], 7 | "name": "Tree", 8 | "patterns": [ 9 | { 10 | "include": "#expression" 11 | } 12 | ], 13 | "repository": { 14 | "expression": { 15 | "name": "meta.expression.tree", 16 | "patterns": [ 17 | { 18 | "include": "#comment-line" 19 | }, 20 | { 21 | "include": "#rewrites" 22 | }, 23 | { 24 | "include": "#node-name" 25 | }, 26 | { 27 | "include": "#attributes" 28 | } 29 | ] 30 | }, 31 | "node-name": { 32 | "match": "^([\\s]+)([^_\\s]+)", 33 | "name": "keyword.node.tree" 34 | }, 35 | "rewrites": { 36 | "name": "keyword.rewrite.tree", 37 | "match": "\\b_[\\w]+\\b" 38 | }, 39 | "attributes": { 40 | "begin": "\\[", 41 | "end": "\\]", 42 | "patterns": [ 43 | { 44 | "include": "#number" 45 | }, 46 | { 47 | "include": "#literal" 48 | }, 49 | { 50 | "include": "#qstring-double" 51 | } 52 | ], 53 | "name": "meta.attribute.tree" 54 | }, 55 | "qstring-double": { 56 | "begin": "\"", 57 | "end": "\\\"|(?:[^\\\\\\n]$)", 58 | "name": "string.double.tree", 59 | "patterns": [ 60 | { 61 | "include": "#string-character-escape" 62 | } 63 | ] 64 | }, 65 | "string-character-escape": { 66 | "match": "\\\\(x\\h{2}|[0-2][0-7]{,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)", 67 | "name": "constant.character.escape.tree" 68 | }, 69 | "literal": { 70 | "name": "literal.tree", 71 | "patterns": [ 72 | { 73 | "include": "#numeric-literal" 74 | }, 75 | { 76 | "include": "#types" 77 | }, 78 | { 79 | "include": "#fired" 80 | } 81 | ] 82 | }, 83 | "number": { 84 | "match": "\\b[0-9]+\\b", 85 | "name": "constant.numeric.tree" 86 | }, 87 | "fired": { 88 | "match": "\\b(?i:(fired))\\b", 89 | "name": "keyword.fired.tree" 90 | }, 91 | "types": { 92 | "match": "\\b(?i:(alpha|ctrl|emoji|node|num|punct|white))\\b", 93 | "name": "keyword.attribute.tree" 94 | }, 95 | "comment-line": { 96 | "match": "\\s*#.*$\\n?", 97 | "name": "comment.line.dict" 98 | } 99 | } 100 | } -------------------------------------------------------------------------------- /syntaxes/txxt.tmLanguage.json: -------------------------------------------------------------------------------- 1 | { 2 | "scopeName": "source.txxt", 3 | "fileTypes": [ 4 | "txxt" 5 | ], 6 | "name": "TXXT", 7 | "patterns": [{ "include": "#expression" }], 8 | 9 | "repository": { 10 | "expression": { 11 | "name": "meta.expression.tree", 12 | "patterns": [ 13 | { 14 | "include": "#angle-match" 15 | }, 16 | { 17 | "include": "#paren-match" 18 | } 19 | ] 20 | }, 21 | "angle-match": { 22 | "begin": "\\<\\<\\<", 23 | "end": "\\>\\>\\>", 24 | "beginCaptures": { 25 | "0": { "name": "variable.parameter.txxt" } 26 | }, 27 | "endCaptures": { 28 | "0": { "name": "variable.parameter.txxt" } 29 | }, 30 | "name": "keyword.other.txxt" 31 | }, 32 | "paren-match": { 33 | "begin": "\\(\\(\\(", 34 | "end": "\\)\\)\\)", 35 | "beginCaptures": { 36 | "0": { "name": "variable.parameter.txxt" } 37 | }, 38 | "endCaptures": { 39 | "0": { "name": "variable.parameter.txxt" } 40 | }, 41 | "name": "comment.line.txxt" 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /themes/dark_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "name": "Dark Default Colors", 4 | "colors": { 5 | "editor.background": "#1E1E1E", 6 | "editor.foreground": "#D4D4D4", 7 | "editor.inactiveSelectionBackground": "#3A3D41", 8 | "editorIndentGuide.background": "#404040", 9 | "editorIndentGuide.activeBackground": "#707070", 10 | "editor.selectionHighlightBackground": "#ADD6FF26", 11 | "list.dropBackground": "#383B3D", 12 | "activityBarBadge.background": "#007ACC", 13 | "sideBarTitle.foreground": "#BBBBBB", 14 | "input.placeholderForeground": "#A6A6A6", 15 | "settings.textInputBackground": "#292929", 16 | "settings.numberInputBackground": "#292929", 17 | "menu.background": "#252526", 18 | "menu.foreground": "#CCCCCC", 19 | "statusBarItem.remoteForeground": "#FFF", 20 | "statusBarItem.remoteBackground": "#16825D", 21 | "sideBarSectionHeader.background": "#0000", 22 | "sideBarSectionHeader.border": "#ccc3" 23 | }, 24 | "semanticHighlighting": true 25 | } -------------------------------------------------------------------------------- /themes/light_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "vscode://schemas/color-theme", 3 | "name": "Light Default Colors", 4 | "colors": { 5 | "editor.background": "#FFFFFF", 6 | "editor.foreground": "#000000", 7 | "editor.inactiveSelectionBackground": "#E5EBF1", 8 | "editorIndentGuide.background": "#D3D3D3", 9 | "editorIndentGuide.activeBackground": "#939393", 10 | "editor.selectionHighlightBackground": "#ADD6FF80", 11 | "editorSuggestWidget.background": "#F3F3F3", 12 | "activityBarBadge.background": "#007ACC", 13 | "sideBarTitle.foreground": "#6F6F6F", 14 | "list.hoverBackground": "#E8E8E8", 15 | "input.placeholderForeground": "#767676", 16 | "searchEditor.textInputBorder": "#CECECE", 17 | "settings.textInputBorder": "#CECECE", 18 | "settings.numberInputBorder": "#CECECE", 19 | "statusBarItem.remoteForeground": "#FFF", 20 | "statusBarItem.remoteBackground": "#16825D", 21 | "sideBarSectionHeader.background": "#0000", 22 | "sideBarSectionHeader.border": "#61616130" 23 | }, 24 | "semanticHighlighting": true 25 | } -------------------------------------------------------------------------------- /tree-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "*" 4 | }, 5 | "brackets": [ 6 | ["[", "]"], 7 | ["(", ")"] 8 | ], 9 | "autoClosingPairs": [ 10 | ["[", "]"], 11 | ["(", ")"], 12 | ["\"", "\""], 13 | ["'", "'"] 14 | ], 15 | "surroundingPairs": [ 16 | ["[", "]"], 17 | ["(", ")"], 18 | ["\"", "\""], 19 | ["'", "'"] 20 | ] 21 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | "target": "es6", 7 | "outDir": "dist", 8 | "sourceMap": true, 9 | "strict": true, 10 | "noImplicitAny": false, 11 | "importHelpers": true, 12 | "lib": [ 13 | "es2019", 14 | "es6", 15 | "dom" 16 | ] 17 | }, 18 | "include": [ 19 | "./src/**/*.ts" 20 | ] 21 | } -------------------------------------------------------------------------------- /txxt-configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "comments": { 3 | "lineComment": "//", 4 | "blockComment": [ "/*", "*/" ] 5 | }, 6 | "brackets": [ 7 | ["{", "}"], 8 | ["[", "]"], 9 | ["(", ")"] 10 | ], 11 | "autoClosingPairs": [ 12 | ["{", "}"], 13 | ["[", "]"], 14 | ["(", ")"], 15 | ["\"", "\""], 16 | ["'", "'"] 17 | ], 18 | "surroundingPairs": [ 19 | ["{", "}"], 20 | ["[", "]"], 21 | ["(", ")"], 22 | ["\"", "\""], 23 | ["'", "'"] 24 | ] 25 | } -------------------------------------------------------------------------------- /vsc-extension-quickstart.md: -------------------------------------------------------------------------------- 1 | # Welcome to your VS Code Extension 2 | 3 | ## What's in the folder 4 | * This folder contains all of the files necessary for your extension. 5 | * `package.json` - this is the manifest file in which you declare your language support and define 6 | the location of the grammar file that has been copied into your extension. 7 | * `syntaxes/nlp.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization. 8 | * `language-configuration.json` - this is the language configuration, defining the tokens that are used for 9 | comments and brackets. 10 | 11 | ## Get up and running straight away 12 | * Make sure the language configuration settings in `language-configuration.json` are accurate. 13 | * Press `F5` to open a new window with your extension loaded. 14 | * Create a new file with a file name suffix matching your language. 15 | * Verify that syntax highlighting works and that the language configuration settings are working. 16 | 17 | ## Make changes 18 | * You can relaunch the extension from the debug toolbar after making changes to the files listed above. 19 | * You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. 20 | 21 | ## Add more language features 22 | * To add features such as intellisense, hovers and validators check out the VS Code extenders documentation at 23 | https://code.visualstudio.com/docs 24 | 25 | ## Install your extension 26 | * To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. 27 | * To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. 28 | --------------------------------------------------------------------------------