pss-langserver
Version:
A Language server for the Portable Stimulus Standard
142 lines (141 loc) • 5.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestDoxygenGeneration = exports.accessMap = exports.semanticTokensLegend = exports.objType = void 0;
/*
* Copyright (C) 2025 Darshan(@thisisthedarshan)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
const vscode_languageserver_1 = require("vscode-languageserver");
/* This enum defines the types of objects our AST has */
var objType;
(function (objType) {
objType["NONE"] = "NONE";
objType["COMPONENT"] = "COMPONENT";
objType["ACTION"] = "ACTION";
objType["ACTIVITY"] = "ACTION";
objType["FUNCTION"] = "FUNCTION";
objType["PROCEDURAL_FUNCTION"] = "PROCEDURAL_FUNCTION";
objType["ENUM"] = "ENUM";
objType["REGISTER_BODY_ITEM"] = "REGISTER_BODY_ITEM";
objType["REGISTER_GROUP"] = "REGISTER_GROUP";
objType["REGISTER_COMP"] = "REGISTER_COMP";
objType["REGISTER_DEF"] = "REGISTER_DEF";
objType["REGISTER"] = "REGISTER";
objType["BUFFER"] = "BUFFER";
objType["STRUCT"] = "STRUCT";
objType["STATE"] = "STATE";
objType["STREAM"] = "STREAM";
objType["POOLS"] = "POOLS";
objType["RESOURCE_OBJECT"] = "RESOURCE_OBJECT";
objType["PACKAGE"] = "PACKAGE";
objType["MONITOR"] = "MONITOR";
objType["CONSTRAINT"] = "CONSTRAINT";
objType["DATA"] = "DATA";
objType["TYPEDEF"] = "TYPEDEF";
objType["CHANDLE"] = "CHANDLE";
objType["INTEGER"] = "INTEGER";
objType["BIT"] = "BIT";
objType["STRING"] = "STRING";
objType["BOOL"] = "BOOL";
objType["FLOAT32"] = "FLOAT32";
objType["FLOAT64"] = "FLOAT64";
objType["REF"] = "REF";
objType["ARRAY"] = "ARRAY";
objType["LIST"] = "LIST";
objType["MAP"] = "MAP";
objType["SET"] = "SET";
objType["INSTANCE"] = "INSTANCE";
objType["MEMORY_SPACE"] = "MEMORY_SPACE";
objType["MEMORY_REGION"] = "MEMORY_REGION";
objType["MEMORY_CLAIM"] = "MEMORY_CLAIM";
objType["VARARGS"] = "VARARGS";
objType["TEMPLATE_ITEM"] = "TEMPLATE_ITEM";
objType["ACTION_HANDLE"] = "ACTION_HANDLE";
objType["ADDRESS_SPACE"] = "ADDRESS_SPACE";
objType["ADDRESS_REGION"] = "ADDRESS_REGION";
objType["ADDRESS_CLAIM"] = "ADDRESS_CLAIM";
objType["STRUCT_ITEM"] = "STRUCT_ITEM";
objType["EXEC_PRESOLVE"] = "EXEC_PRESOLVE";
objType["EXEC_POSTSOLVE"] = "EXEC_POSTSOLVE";
objType["EXEC_PREBODY"] = "EXEC_PREBODY";
objType["EXEC_BODY"] = "EXEC_BODY";
objType["EXEC_HEADER"] = "EXEC_HEADER";
objType["EXEC_DECLARATION"] = "EXEC_DECLARATION";
objType["EXEC_RUNSTART"] = "EXEC_RUNSTART";
objType["EXEC_RUNEND"] = "EXEC_RUNEND";
objType["EXEC_INITDOWN"] = "EXEC_INITDOWN";
objType["EXEC_INITUP"] = "EXEC_INITUP";
objType["EXEC_INIT"] = "EXEC_INIT";
objType["EXEC_TARGET"] = "EXEC_TARGET";
objType["EXEC_FILE"] = "EXEC_FILE";
objType["CALL_SUPER"] = "CALL_SUPER";
objType["IMPORT"] = "IMPORT";
objType["ASSIGNMENT"] = "ASSIGNMENT";
objType["FUNCTION_CALL"] = "FUNCTION_CALL";
objType["PARAMETER"] = "PARAMETER";
objType["UNKNOWN"] = "UNKNOWN";
})(objType || (exports.objType = objType = {}));
/* Semantic Legend */
exports.semanticTokensLegend = {
tokenTypes: [
"namespace",
"type",
"class",
"enum",
"interface",
"struct",
"typeParameter",
"parameter",
"variable",
"property",
"enumMember",
"event",
"function",
"method",
"macro",
"keyword",
"modifier",
"comment",
"string",
"number",
"regexp",
"operator",
"decorator"
],
tokenModifiers: [
"declaration",
"definition",
"readonly",
"static",
"deprecated",
"abstract",
"async",
"modification",
"documentation",
"defaultLibrary"
]
};
/* Create a mapping for access type */
exports.accessMap = {
"READONLY": "READONLY",
"READWRITE": "READWRITE",
"WRITEONLY": "WRITEONLY"
};
/* Custom Request Method Types */
/* The first type is for client to send a line and the server to
send a doxygen comment info for the first entity type it encounters.
This excludes keywords but only has variable types, functions etc */
const RequestDoxygenGeneration = new vscode_languageserver_1.RequestType('dsp/RequestDoxygenGeneration');
exports.RequestDoxygenGeneration = RequestDoxygenGeneration;