1.0.4 将库函数外置,插件文件夹下api-functions.json
This commit is contained in:
292
api-functions.json
Normal file
292
api-functions.json
Normal file
@@ -0,0 +1,292 @@
|
||||
{
|
||||
"functions": [
|
||||
{
|
||||
"name": "print",
|
||||
"description": "打印消息到控制台",
|
||||
"params": [
|
||||
{
|
||||
"name": "message",
|
||||
"type": "string",
|
||||
"description": "要打印的消息"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "void",
|
||||
"description": "无返回值"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "len",
|
||||
"description": "返回字符串、数组或表的长度",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "string|table|array",
|
||||
"description": "要计算长度的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "对象的长度"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "type",
|
||||
"description": "返回对象的类型",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "any",
|
||||
"description": "要检查类型的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "string",
|
||||
"description": "对象的类型字符串"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "clone",
|
||||
"description": "创建对象的浅拷贝",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "any",
|
||||
"description": "要克隆的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "any",
|
||||
"description": "克隆的对象"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tostring",
|
||||
"description": "将对象转换为字符串",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "any",
|
||||
"description": "要转换的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "string",
|
||||
"description": "转换后的字符串"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tointeger",
|
||||
"description": "将对象转换为整数",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "any",
|
||||
"description": "要转换的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "转换后的整数"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tofloat",
|
||||
"description": "将对象转换为浮点数",
|
||||
"params": [
|
||||
{
|
||||
"name": "obj",
|
||||
"type": "any",
|
||||
"description": "要转换的对象"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "float",
|
||||
"description": "转换后的浮点数"
|
||||
}
|
||||
}
|
||||
],
|
||||
"classes": [
|
||||
{
|
||||
"name": "String",
|
||||
"description": "字符串类,提供字符串操作方法",
|
||||
"methods": [
|
||||
{
|
||||
"name": "len",
|
||||
"description": "返回字符串长度",
|
||||
"params": [],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "字符串的长度"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "slice",
|
||||
"description": "返回字符串的子串",
|
||||
"params": [
|
||||
{
|
||||
"name": "start",
|
||||
"type": "integer",
|
||||
"description": "起始位置"
|
||||
},
|
||||
{
|
||||
"name": "end",
|
||||
"type": "integer",
|
||||
"description": "结束位置(可选)",
|
||||
"optional": true
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "string",
|
||||
"description": "子串"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "find",
|
||||
"description": "查找子串在字符串中的位置",
|
||||
"params": [
|
||||
{
|
||||
"name": "substr",
|
||||
"type": "string",
|
||||
"description": "要查找的子串"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "子串的位置,未找到返回-1"
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "length",
|
||||
"type": "integer",
|
||||
"description": "字符串的长度"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Array",
|
||||
"description": "数组类,提供数组操作方法",
|
||||
"methods": [
|
||||
{
|
||||
"name": "len",
|
||||
"description": "返回数组长度",
|
||||
"params": [],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "数组的长度"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "append",
|
||||
"description": "向数组末尾添加元素",
|
||||
"params": [
|
||||
{
|
||||
"name": "value",
|
||||
"type": "any",
|
||||
"description": "要添加的元素"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "void",
|
||||
"description": "无返回值"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "pop",
|
||||
"description": "移除并返回数组最后一个元素",
|
||||
"params": [],
|
||||
"returns": {
|
||||
"type": "any",
|
||||
"description": "被移除的元素"
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": [
|
||||
{
|
||||
"name": "length",
|
||||
"type": "integer",
|
||||
"description": "数组的长度"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Table",
|
||||
"description": "表类,提供表操作方法",
|
||||
"methods": [
|
||||
{
|
||||
"name": "len",
|
||||
"description": "返回表中键值对的数量",
|
||||
"params": [],
|
||||
"returns": {
|
||||
"type": "integer",
|
||||
"description": "键值对的数量"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rawget",
|
||||
"description": "获取指定键的值",
|
||||
"params": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": "any",
|
||||
"description": "键"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "any",
|
||||
"description": "键对应的值"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "rawset",
|
||||
"description": "设置指定键的值",
|
||||
"params": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": "any",
|
||||
"description": "键"
|
||||
},
|
||||
{
|
||||
"name": "value",
|
||||
"type": "any",
|
||||
"description": "值"
|
||||
}
|
||||
],
|
||||
"returns": {
|
||||
"type": "void",
|
||||
"description": "无返回值"
|
||||
}
|
||||
}
|
||||
],
|
||||
"properties": []
|
||||
}
|
||||
],
|
||||
"constants": [
|
||||
{
|
||||
"name": "PI",
|
||||
"value": "3.14159",
|
||||
"description": "圆周率",
|
||||
"category": "math"
|
||||
},
|
||||
{
|
||||
"name": "true",
|
||||
"value": "true",
|
||||
"description": "布尔真值",
|
||||
"category": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "false",
|
||||
"value": "false",
|
||||
"description": "布尔假值",
|
||||
"category": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "null",
|
||||
"value": "null",
|
||||
"description": "空值",
|
||||
"category": "general"
|
||||
}
|
||||
]
|
||||
}
|
||||
3
dist/extension.js
vendored
3
dist/extension.js
vendored
@@ -48,8 +48,11 @@ const signatureHelpProvider_1 = require("./providers/signatureHelpProvider");
|
||||
const onTypeFormattingProvider_1 = require("./providers/onTypeFormattingProvider");
|
||||
const documentFormattingProvider_1 = require("./providers/documentFormattingProvider");
|
||||
const codeErrorProvider_1 = require("./providers/codeErrorProvider");
|
||||
const apiParser_1 = require("./providers/apiParser");
|
||||
function activate(context) {
|
||||
console.log('Squirrel NUT Explorer 正在激活...');
|
||||
// 初始化API解析器
|
||||
const apiParser = apiParser_1.ApiParser.getInstance();
|
||||
// 创建模型和提供者
|
||||
const model = new model_1.FileModel();
|
||||
const provider = new provider_1.FileProvider(model);
|
||||
|
||||
2
dist/extension.js.map
vendored
2
dist/extension.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
||||
90
dist/providers/apiParser.js
vendored
90
dist/providers/apiParser.js
vendored
@@ -1,12 +1,51 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ApiParser = void 0;
|
||||
const vscode = __importStar(require("vscode"));
|
||||
const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
// API文档解析器类
|
||||
class ApiParser {
|
||||
constructor() {
|
||||
this.functions = [];
|
||||
this.classes = [];
|
||||
this.constants = [];
|
||||
// 获取扩展路径并设置JSON文件路径
|
||||
const extensionPath = vscode.extensions.getExtension('local.squirrel-nut-explorer')?.extensionPath || __dirname;
|
||||
this.jsonFilePath = path.join(extensionPath, 'api-functions.json');
|
||||
this.initializeApiDocumentation();
|
||||
}
|
||||
// 获取单例实例
|
||||
@@ -18,6 +57,33 @@ class ApiParser {
|
||||
}
|
||||
// 初始化API文档
|
||||
initializeApiDocumentation() {
|
||||
try {
|
||||
// 检查JSON文件是否存在
|
||||
if (fs.existsSync(this.jsonFilePath)) {
|
||||
// 读取JSON文件
|
||||
const jsonData = fs.readFileSync(this.jsonFilePath, 'utf8');
|
||||
const apiData = JSON.parse(jsonData);
|
||||
// 加载函数数据
|
||||
this.functions = apiData.functions || [];
|
||||
// 加载类数据
|
||||
this.classes = apiData.classes || [];
|
||||
// 加载常量数据
|
||||
this.constants = apiData.constants || [];
|
||||
}
|
||||
else {
|
||||
// 如果JSON文件不存在,使用默认数据并创建文件
|
||||
this.initializeDefaultApiDocumentation();
|
||||
this.saveApiDocumentation();
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
console.error('读取API函数JSON文件失败:', error);
|
||||
// 如果读取失败,使用默认数据
|
||||
this.initializeDefaultApiDocumentation();
|
||||
}
|
||||
}
|
||||
// 初始化默认API文档
|
||||
initializeDefaultApiDocumentation() {
|
||||
// 初始化内置函数
|
||||
this.functions = [
|
||||
{
|
||||
@@ -292,12 +358,6 @@ class ApiParser {
|
||||
description: '圆周率',
|
||||
category: 'math'
|
||||
},
|
||||
{
|
||||
name: 'E',
|
||||
value: '2.71828',
|
||||
description: '自然常数',
|
||||
category: 'math'
|
||||
},
|
||||
{
|
||||
name: 'true',
|
||||
value: 'true',
|
||||
@@ -318,6 +378,24 @@ class ApiParser {
|
||||
}
|
||||
];
|
||||
}
|
||||
// 保存API文档到JSON文件
|
||||
saveApiDocumentation() {
|
||||
try {
|
||||
const apiData = {
|
||||
functions: this.functions,
|
||||
classes: this.classes,
|
||||
constants: this.constants
|
||||
};
|
||||
fs.writeFileSync(this.jsonFilePath, JSON.stringify(apiData, null, 2), 'utf8');
|
||||
}
|
||||
catch (error) {
|
||||
console.error('保存API函数JSON文件失败:', error);
|
||||
}
|
||||
}
|
||||
// 重新加载API文档
|
||||
reloadApiDocumentation() {
|
||||
this.initializeApiDocumentation();
|
||||
}
|
||||
// 获取所有函数
|
||||
getFunctions() {
|
||||
return this.functions;
|
||||
|
||||
2
dist/providers/apiParser.js.map
vendored
2
dist/providers/apiParser.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -2,7 +2,7 @@
|
||||
"name": "squirrel-nut-explorer",
|
||||
"displayName": "Squirrel NUT Explorer",
|
||||
"description": "通过 pvfUtility API 浏览和编辑 NUT 文件",
|
||||
"version": "1.0.1",
|
||||
"version": "1.0.2",
|
||||
"publisher": "local",
|
||||
"engines": {
|
||||
"vscode": "^1.99.0"
|
||||
|
||||
BIN
squirrel-nut-explorer-1.0.2.vsix
Normal file
BIN
squirrel-nut-explorer-1.0.2.vsix
Normal file
Binary file not shown.
@@ -11,10 +11,14 @@ import { SignatureHelpProvider } from './providers/signatureHelpProvider';
|
||||
import { OnTypeFormattingProvider } from './providers/onTypeFormattingProvider';
|
||||
import { DocumentFormattingProvider } from './providers/documentFormattingProvider';
|
||||
import { CodeErrorProvider } from './providers/codeErrorProvider';
|
||||
import { ApiParser } from './providers/apiParser';
|
||||
|
||||
export function activate(context: vscode.ExtensionContext) {
|
||||
console.log('Squirrel NUT Explorer 正在激活...');
|
||||
|
||||
// 初始化API解析器
|
||||
const apiParser = ApiParser.getInstance();
|
||||
|
||||
// 创建模型和提供者
|
||||
const model = new FileModel();
|
||||
const provider = new FileProvider(model);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import * as vscode from 'vscode';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
|
||||
// API函数信息接口
|
||||
export interface ApiFunction {
|
||||
@@ -53,8 +55,12 @@ export class ApiParser {
|
||||
private functions: ApiFunction[] = [];
|
||||
private classes: ApiClass[] = [];
|
||||
private constants: ApiConstant[] = [];
|
||||
private jsonFilePath: string;
|
||||
|
||||
private constructor() {
|
||||
// 获取扩展路径并设置JSON文件路径
|
||||
const extensionPath = vscode.extensions.getExtension('local.squirrel-nut-explorer')?.extensionPath || __dirname;
|
||||
this.jsonFilePath = path.join(extensionPath, 'api-functions.json');
|
||||
this.initializeApiDocumentation();
|
||||
}
|
||||
|
||||
@@ -68,6 +74,35 @@ export class ApiParser {
|
||||
|
||||
// 初始化API文档
|
||||
private initializeApiDocumentation(): void {
|
||||
try {
|
||||
// 检查JSON文件是否存在
|
||||
if (fs.existsSync(this.jsonFilePath)) {
|
||||
// 读取JSON文件
|
||||
const jsonData = fs.readFileSync(this.jsonFilePath, 'utf8');
|
||||
const apiData = JSON.parse(jsonData);
|
||||
|
||||
// 加载函数数据
|
||||
this.functions = apiData.functions || [];
|
||||
|
||||
// 加载类数据
|
||||
this.classes = apiData.classes || [];
|
||||
|
||||
// 加载常量数据
|
||||
this.constants = apiData.constants || [];
|
||||
} else {
|
||||
// 如果JSON文件不存在,使用默认数据并创建文件
|
||||
this.initializeDefaultApiDocumentation();
|
||||
this.saveApiDocumentation();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('读取API函数JSON文件失败:', error);
|
||||
// 如果读取失败,使用默认数据
|
||||
this.initializeDefaultApiDocumentation();
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化默认API文档
|
||||
private initializeDefaultApiDocumentation(): void {
|
||||
// 初始化内置函数
|
||||
this.functions = [
|
||||
{
|
||||
@@ -344,12 +379,6 @@ export class ApiParser {
|
||||
description: '圆周率',
|
||||
category: 'math'
|
||||
},
|
||||
{
|
||||
name: 'E',
|
||||
value: '2.71828',
|
||||
description: '自然常数',
|
||||
category: 'math'
|
||||
},
|
||||
{
|
||||
name: 'true',
|
||||
value: 'true',
|
||||
@@ -371,6 +400,26 @@ export class ApiParser {
|
||||
];
|
||||
}
|
||||
|
||||
// 保存API文档到JSON文件
|
||||
private saveApiDocumentation(): void {
|
||||
try {
|
||||
const apiData = {
|
||||
functions: this.functions,
|
||||
classes: this.classes,
|
||||
constants: this.constants
|
||||
};
|
||||
|
||||
fs.writeFileSync(this.jsonFilePath, JSON.stringify(apiData, null, 2), 'utf8');
|
||||
} catch (error) {
|
||||
console.error('保存API函数JSON文件失败:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// 重新加载API文档
|
||||
public reloadApiDocumentation(): void {
|
||||
this.initializeApiDocumentation();
|
||||
}
|
||||
|
||||
// 获取所有函数
|
||||
public getFunctions(): ApiFunction[] {
|
||||
return this.functions;
|
||||
|
||||
Reference in New Issue
Block a user