diff --git a/CODE_ERROR_FIX_REPORT.md b/CODE_ERROR_FIX_REPORT.md deleted file mode 100644 index 685d40c..0000000 --- a/CODE_ERROR_FIX_REPORT.md +++ /dev/null @@ -1,105 +0,0 @@ -# 代码错误检测功能修复报告 - -## 修复的问题 - -### 1. 字符串检测误报问题 -**原问题**: 只要使用引号就会报"检测未正确闭合的字符串"错误 -**修复方案**: -- 重写了字符串检测逻辑,使用状态机方法进行精确解析 -- 正确处理转义字符(`\"`、`\'`) -- 区分字符串内容和代码内容 -- 支持多行字符串检测 -- 正确处理注释中的引号(不会误报) -- **新增**: 跳过被注释掉的代码行中的字符串检测 - -### 2. 括号检测误报问题 -**原问题**: 只要使用括号就会报"检测未正确闭合的括号"错误 -**修复方案**: -- 重写了括号匹配算法,使用栈数据结构进行精确匹配 -- 正确处理字符串内的括号(不参与匹配) -- 正确处理注释内的括号(不参与匹配) -- 支持多行括号匹配 -- 提供具体的错误位置和类型(圆括号、方括号、花括号) -- **新增**: 跳过被注释掉的代码行中的括号检测 - -### 3. 注释行误报问题 ⭐ **新修复** -**原问题**: 被注释掉的代码(以`//`开头的行)也会被错误检测 -**修复方案**: -- 智能识别整行注释(以`//`开头的行) -- 跳过注释行中的所有错误检测 -- 正确处理块注释(`/* */`)中的内容 -- 区分行内注释和整行注释 -- 保持对正常代码的检测精度 - -### 4. 语法错误检测改进 -**改进内容**: -- 更精确的拼写错误检测,减少误报 -- 改进的赋值操作符检查(避免误报合法赋值) -- 跳过注释行的检查 -- 添加函数定义语法检查 -- 分号缺失检测 - -### 5. 拼写检查智能化 -**改进内容**: -- 扩展了Squirrel关键字列表 -- 添加常见标识符模式识别,减少误报 -- 改进编辑距离算法的使用 -- 移除字符串和注释内容后再进行拼写检查 -- **新增**: 跳过注释行中的拼写检查 - -### 6. 快速修复功能增强 -**新增功能**: -- 拼写错误的一键修复 -- 赋值操作符的快速修复 -- 缺失分号的自动添加 -- 更友好的修复建议描述 - -## 技术实现 - -### 状态机解析 -使用状态机方法来跟踪: -- 字符串状态(是否在字符串内) -- 转义状态(是否被转义) -- 注释状态(行注释/块注释) - -### 栈结构匹配 -使用栈来跟踪: -- 开括号的位置和类型 -- 括号的匹配状态 -- 错误位置的精确报告 - -### 上下文感知 -- 区分代码、字符串、注释的不同上下文 -- 在不同上下文中应用不同的检测规则 -- 避免跨上下文的误报 - -## 测试覆盖 - -创建了全面的测试用例: -- 正常的字符串和括号使用 -- 各种拼写错误场景 -- 字符串中的特殊字符 -- 注释中的内容(行注释和块注释) -- **新增**: 被注释掉的代码行测试 -- 多行结构 -- 转义字符处理 -- 混合场景(注释+正常代码) - -## 使用说明 - -1. 修复后的错误检测会在您输入代码时实时运行 -2. 错误会以红色波浪线显示在编辑器中 -3. 将鼠标悬停在错误上可查看详细信息 -4. 点击灯泡图标或使用 `Ctrl+.` 可应用快速修复 -5. 支持的快速修复包括:拼写纠正、添加分号、修复操作符等 -6. **新功能**: 注释掉的代码不会被错误检测干扰 - -## 性能优化 - -- 使用高效的算法减少处理时间 -- 避免不必要的重复检查 -- 智能跳过注释和字符串内容的检查 -- 优化正则表达式的使用 -- **新优化**: 提前识别注释行,减少不必要的处理 - -修复完成后,代码错误检测功能应该能够准确、智能地识别真正的错误,同时避免之前存在的误报问题,包括对注释代码的错误检测。 \ No newline at end of file diff --git a/FEATURES.md b/FEATURES.md deleted file mode 100644 index 0a39b8c..0000000 --- a/FEATURES.md +++ /dev/null @@ -1,82 +0,0 @@ -# Squirrel NUT Explorer 功能说明 - -## 已实现的功能 - -### 1. 基础功能 -- 通过 pvfUtility API 浏览和编辑 NUT 文件 -- 支持连接到本地运行的 pvfUtility 服务 -- 自动加载所有 NUT 文件内容 -- 支持文件保存和刷新 - -### 2. 代码自动完成功能 -- **基础自动完成**:提供关键字、API函数、类、常量的基本自动完成 -- **跨文件完成**:能够识别其他已加载的 NUT 文件中定义的函数 -- **变量完成**:提供当前文档中已声明的局部变量自动完成 -- **点号完成**:支持对象属性和方法的自动完成(如 string.len, array.append 等) - -### 3. 悬停信息功能 -- **库函数信息显示**:显示内置函数的参数、返回值和描述 -- **类信息显示**:显示内置类的方法和属性信息 -- **常量信息显示**:显示内置常量的值和描述 -- **跨文件自定义函数信息**:显示其他文件中定义的函数的参数和位置信息 - -### 4. 定义跳转功能 -- **跨文件跳转**:支持在所有已加载的 NUT 文件中查找函数定义并跳转 -- **多重定义支持**:当存在同名函数时,提供所有可能的定义位置供选择 - -### 5. 函数签名帮助 -- **参数提示**:在函数调用时显示函数的参数列表 -- **当前参数高亮**:高亮显示当前正在输入的参数 -- **内置函数支持**:支持内置函数的签名帮助 -- **自定义函数支持**:支持用户定义函数的签名帮助 - -### 6. 输入时格式化 -- **括号触发格式化**:输入 ")" 时格式化当前行 -- **分号触发格式化**:输入 ";" 时格式化当前行 -- **大括号触发格式化**:输入 "}" 时格式化整个代码块 -- **Squirrel语法优化**:针对Squirrel语言特性进行格式化优化 - -### 7. 代码格式化 -- **缩进标准化**:统一代码缩进风格 -- **空格规范化**:在操作符周围添加适当空格 -- **换行管理**:合理安排代码换行 -- **括号处理**:自动调整大括号位置和缩进 - -### 8. 代码错误检测 -- **语法错误检测**:检测常见的语法错误,如拼写错误的关键字 -- **未闭合字符串检测**:检测未正确闭合的字符串 -- **未闭合括号检测**:检测未正确闭合的括号 -- **逻辑错误提示**:提示可能的逻辑错误,如在条件语句中使用赋值操作符 -- **快速修复**:提供拼写错误的快速修复功能 - -### 9. API文档解析 -- **内置函数文档**:解析和管理Squirrel语言的内置函数文档 -- **类文档**:解析和管理内置类的文档 -- **常量文档**:解析和管理内置常量的文档 -- **动态生成**:根据文档动态生成自动完成项和悬停信息 - -### 10. 语法定义支持 -- **语法高亮**:支持关键字、字符串、注释、数字、操作符等的语法高亮 -- **代码折叠**:支持基于大括号的代码折叠 -- **自动闭合**:支持括号、引号的自动闭合 -- **智能缩进**:根据代码结构自动调整缩进 - -## 缓存机制 -- **函数缓存**:缓存所有已解析的函数信息,提高性能 -- **持久化缓存**:在整个VS Code会话期间保持缓存有效 -- **增量更新**:在保存文件时自动更新对应文件的缓存 -- **重复函数处理**:正确处理同名函数,提供所有定义位置供选择 - -## 性能优化 -- **批量处理**:文件按批次处理,避免内存溢出 -- **并行处理**:批次内的文件并行处理,提高效率 -- **增量更新**:仅在文件保存时更新对应文件的缓存 -- **防重复提取**:防止同时进行多次提取操作 -- **性能监控**:监控提取性能,为优化提供数据支持 - -## 使用方法 -1. 确保 pvfUtility 服务正在运行 -2. 在 VS Code 中打开 Squirrel NUT Explorer -3. 点击"连接到 pvfUtility"按钮 -4. 连接成功后,所有功能将自动启用 -5. 编辑和保存文件时,相关缓存会自动更新 \ No newline at end of file diff --git a/FUNCTION_EXTRACTOR.md b/FUNCTION_EXTRACTOR.md deleted file mode 100644 index ac66c10..0000000 --- a/FUNCTION_EXTRACTOR.md +++ /dev/null @@ -1,67 +0,0 @@ -# 函数提取和缓存功能说明 - -## 功能概述 - -本项目新增了函数提取和缓存功能,用于从nut文件中提取函数信息并进行缓存,为后续的函数跳转功能做准备。 - -## 主要组件 - -### 1. FunctionInfo 接口 -定义了函数信息的数据结构: -- `name`: 函数名称 -- `filePath`: 文件路径 -- `lineNumber`: 行号 -- `parameters`: 参数列表 -- `signature`: 函数签名 - -### 2. FunctionCacheManager 类 -负责管理函数信息的缓存: -- 缓存函数信息 -- 提供函数查找功能 -- 统计缓存信息 -- 缓存在VS Code会话期间一直有效,直到重新获取nut文件时重置 - -### 3. FunctionExtractor 类 -负责从文件中提取函数信息: -- 解析Squirrel语言的函数定义 -- 批量处理文件 -- 防止重复提取 -- 性能监控 - -### 4. PerformanceMonitor 类 -监控函数提取的性能: -- 记录提取时间 -- 计算平均处理时间 -- 提供性能统计信息 - -## 工作流程 - -1. 用户点击"连接到 pvfUtility"时,系统自动获取所有nut文件内容 -2. 连接成功后,自动启动函数提取过程 -3. FunctionExtractor逐个解析文件中的函数定义 -4. 提取的函数信息被缓存到FunctionCacheManager中 -5. 缓存在VS Code会话期间一直有效 -6. 当用户保存nut文件时,自动更新对应文件的函数缓存 -7. 性能数据被记录用于优化 - -## 性能优化措施 - -1. **批量处理**: 文件按批次处理,避免内存溢出 -2. **并行处理**: 批次内的文件并行处理,提高效率 -3. **缓存机制**: 避免重复解析已处理的文件 -4. **增量更新**: 仅在文件保存时更新对应文件的缓存 -5. **防重复提取**: 防止同时进行多次提取操作 -6. **性能监控**: 监控提取性能,为优化提供数据支持 - -## 使用方法 - -1. 函数提取功能在用户连接到pvfUtility后自动执行,无需手动操作。 -2. 当用户保存nut文件时,对应的函数缓存会自动更新。 -3. 缓存在整个VS Code会话期间一直有效,直到重新获取nut文件时重置。 - -## 后续开发 - -当前实现为函数跳转功能奠定了基础,下一步可以: -1. 实现函数跳转到定义功能 -2. 添加函数引用查找功能 -3. 提供函数自动补全功能 \ No newline at end of file diff --git a/INSTALL_GUIDE.md b/INSTALL_GUIDE.md deleted file mode 100644 index 7b24a2e..0000000 --- a/INSTALL_GUIDE.md +++ /dev/null @@ -1,100 +0,0 @@ -# 🚀 Squirrel NUT Explorer - 安装和使用指南 - -## 📦 已修复版本特性 - -✅ **修复了所有代码错误检测的误报问题** -- 字符串检测不再误报 -- 括号检测不再误报 -- 智能语法检查 -- 快速错误修复 - -✅ **完整的功能支持** -- 代码自动完成 -- 悬停信息显示 -- 定义跳转 -- 函数签名帮助 -- 代码格式化 -- 错误检测和修复 - -## 📋 安装步骤 - -### 方法一:通过 VSIX 文件安装 (推荐) - -1. **打开 VS Code** - -2. **打开扩展面板** - - 快捷键:`Ctrl+Shift+X` - - 或点击左侧活动栏的扩展图标 - -3. **安装扩展** - - 点击扩展面板右上角的 "..." 菜单 - - 选择 "从 VSIX 安装..." - - 浏览并选择:`squirrel-nut-explorer-1.0.1.vsix` - -4. **重启 VS Code** - - 安装完成后重启 VS Code 以确保扩展正常工作 - -### 方法二:命令行安装 - -```bash -code --install-extension squirrel-nut-explorer-1.0.1.vsix -``` - -## 🎯 使用方法 - -1. **激活扩展** - - 扩展会在 VS Code 启动时自动激活 - - 在活动栏中会看到 "Squirrel" 图标 - -2. **连接到 pvfUtility** - - 确保 pvfUtility 服务正在运行 - - 点击 Squirrel 面板中的"连接到 pvfUtility"按钮 - - 连接成功后即可使用所有功能 - -3. **编辑 NUT 文件** - - 打开或创建 `.nut` 文件 - - 享受完整的语言支持功能 - -## 🔧 功能说明 - -### 代码错误检测 -- **实时检测**:输入时即时显示错误 -- **智能识别**:不会误报正常的字符串和括号 -- **快速修复**:点击灯泡图标或 `Ctrl+.` 应用修复 - -### 代码自动完成 -- **关键字完成**:Squirrel 语言关键字 -- **函数完成**:内置和自定义函数 -- **变量完成**:当前作用域的变量 -- **跨文件完成**:其他 NUT 文件中的函数 - -### 悬停信息 -- **函数说明**:显示参数、返回值和描述 -- **类信息**:显示类的方法和属性 -- **跨文件信息**:其他文件中的函数信息 - -### 其他功能 -- **定义跳转**:`F12` 或 `Ctrl+点击` -- **格式化代码**:`Shift+Alt+F` -- **函数签名提示**:输入函数参数时显示 -- **输入时格式化**:输入 `)`、`;`、`}` 时自动格式化 - -## 🐛 问题反馈 - -如果遇到任何问题,请检查: -1. VS Code 版本是否为 1.99.0 或更高 -2. pvfUtility 服务是否正常运行 -3. 文件扩展名是否为 `.nut` - -## 📄 更新日志 - -### v1.0.1 (修复版) -- ✅ 完全修复字符串检测误报问题 -- ✅ 完全修复括号检测误报问题 -- ✅ 改进语法错误检测精度 -- ✅ 增强快速修复功能 -- ✅ 优化性能和稳定性 - ---- - -**享受无误报的 Squirrel 开发体验!** 🎉 \ No newline at end of file diff --git a/copy-beautify-files.js b/copy-beautify-files.js deleted file mode 100644 index 9912ab2..0000000 --- a/copy-beautify-files.js +++ /dev/null @@ -1,34 +0,0 @@ -const fs = require('fs-extra'); -const path = require('path'); - -// 复制 js-beautify 相关文件到 dist 目录 -async function copyBeautifyFiles() { - const srcDir = path.join(__dirname); - const destDir = path.join(__dirname, 'dist'); - - // 确保目标目录存在 - await fs.ensureDir(destDir); - - // 复制 js-beautify.js 和包装器 - const filesToCopy = [ - 'js-beautify.js', - 'js-beautify-wrapper.js' - ]; - - for (const file of filesToCopy) { - const srcPath = path.join(srcDir, file); - const destPath = path.join(destDir, file); - - if (await fs.pathExists(srcPath)) { - await fs.copy(srcPath, destPath); - console.log(`已复制 ${file} 到 dist 目录`); - } - } -} - -// 如果直接运行此脚本,则执行复制操作 -if (require.main === module) { - copyBeautifyFiles().catch(console.error); -} - -module.exports = { copyBeautifyFiles }; \ No newline at end of file diff --git a/dist/providers/apiParser.js b/dist/providers/apiParser.js index 5320d05..676654f 100644 --- a/dist/providers/apiParser.js +++ b/dist/providers/apiParser.js @@ -40,7 +40,8 @@ const path = __importStar(require("path")); // API文档解析器类 class ApiParser { constructor() { - this.functions = []; + this.functions = []; // 普通函数,不自动填写第一个参数 + this.functionEx = []; // 扩展函数,自动填写所有参数 this.classes = []; this.constants = []; // 获取扩展路径并设置JSON文件路径 @@ -65,6 +66,7 @@ class ApiParser { const apiData = JSON.parse(jsonData); // 加载函数数据 this.functions = apiData.functions || []; + this.functionEx = apiData.functionEx || []; // 加载类数据 this.classes = apiData.classes || []; // 加载常量数据 @@ -383,6 +385,7 @@ class ApiParser { try { const apiData = { functions: this.functions, + functionEx: this.functionEx, classes: this.classes, constants: this.constants }; @@ -396,13 +399,27 @@ class ApiParser { reloadApiDocumentation() { this.initializeApiDocumentation(); } - // 获取所有函数 + // 获取所有普通函数 getFunctions() { return this.functions; } - // 根据名称获取函数 + // 获取所有扩展函数 + getFunctionEx() { + return this.functionEx; + } + // 根据名称获取函数(包括普通函数和扩展函数) getFunctionByName(name) { - return this.functions.find(func => func.name === name); + // 先在普通函数中查找 + let func = this.functions.find(func => func.name === name); + if (func) { + return func; + } + // 再在扩展函数中查找 + return this.functionEx.find(func => func.name === name); + } + // 检查是否是扩展函数 + isFunctionEx(name) { + return this.functionEx.some(func => func.name === name); } // 获取所有类 getClasses() { @@ -425,19 +442,41 @@ class ApiParser { return this.constants.find(constant => constant.name === name); } // 生成函数签名 - generateFunctionSignature(func) { - const params = func.params.map(param => { - let paramStr = param.name; - if (param.optional) { - paramStr = `[${paramStr}`; - if (param.defaultValue) { - paramStr += `=${param.defaultValue}`; + generateFunctionSignature(func, isFunctionEx = false) { + // 检查是否是普通函数且有参数 + if (!isFunctionEx && func.params.length > 0) { + // 对于普通函数,将第一个参数移到函数名前面 + const firstParam = func.params[0]; + const remainingParams = func.params.slice(1); + const params = remainingParams.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; } - paramStr += ']'; - } - return paramStr; - }).join(', '); - return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + return paramStr; + }).join(', '); + const paramPart = params ? `(${params})` : '()'; + return `function ${firstParam.name}.${func.name}${paramPart}${func.returns ? `: ${func.returns.type}` : ': void'}`; + } + else { + // 对于扩展函数或无参数的函数,保持原有格式 + const params = func.params.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + } } // 生成类签名 generateClassSignature(cls) { diff --git a/dist/providers/apiParser.js.map b/dist/providers/apiParser.js.map index 83f3dd4..05d9d1f 100644 --- a/dist/providers/apiParser.js.map +++ b/dist/providers/apiParser.js.map @@ -1 +1 @@ -{"version":3,"file":"apiParser.js","sourceRoot":"","sources":["../../src/providers/apiParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"apiParser.js","sourceRoot":"","sources":["../../src/providers/apiParser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/providers/completionProvider.js b/dist/providers/completionProvider.js index 25a0cd8..7c18b77 100644 --- a/dist/providers/completionProvider.js +++ b/dist/providers/completionProvider.js @@ -96,21 +96,50 @@ class CompletionProvider { } // 获取API函数完成项 getApiFunctionCompletions() { + const completions = []; + // 添加普通函数(不自动填写第一个参数) const functions = this.apiParser.getFunctions(); - return functions.map(func => { + functions.forEach(func => { const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); item.detail = '内置函数'; item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); // 为函数创建带参数的插入文本 if (func.params.length > 0) { + // 普通函数不自动填写第一个参数,用户需要手动输入 + if (func.params.length > 1) { + // 从第二个参数开始添加占位符 + const remainingParams = func.params.slice(1); + const paramText = remainingParams.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); + item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); + } + else { + // 只有一个参数或无参数 + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + } + else { + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + completions.push(item); + }); + // 添加扩展函数(自动填写所有参数) + const functionEx = this.apiParser.getFunctionEx(); + functionEx.forEach(func => { + const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); + item.detail = '扩展函数'; + item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); + // 为函数创建带参数的插入文本 + if (func.params.length > 0) { + // 扩展函数自动填写所有参数 const paramText = func.params.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); } else { item.insertText = new vscode.SnippetString(`${func.name}()`); } - return item; + completions.push(item); }); + return completions; } // 获取API类完成项 getApiClassCompletions() { diff --git a/dist/providers/completionProvider.js.map b/dist/providers/completionProvider.js.map index 687e811..a318ddf 100644 --- a/dist/providers/completionProvider.js.map +++ b/dist/providers/completionProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../src/providers/completionProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"completionProvider.js","sourceRoot":"","sources":["../../src/providers/completionProvider.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/providers/hoverProvider.js b/dist/providers/hoverProvider.js index b6e09fa..0fc1c3e 100644 --- a/dist/providers/hoverProvider.js +++ b/dist/providers/hoverProvider.js @@ -60,7 +60,8 @@ class HoverProvider { // 首先检查是否是API函数 const apiFunction = this.apiParser.getFunctionByName(word); if (apiFunction) { - const signature = this.apiParser.generateFunctionSignature(apiFunction); + const isFunctionEx = this.apiParser.isFunctionEx(apiFunction.name); + const signature = this.apiParser.generateFunctionSignature(apiFunction, isFunctionEx); let hoverContent = ` 内置函数: ${signature}\n\n`; hoverContent += `${apiFunction.description}\n\n`; if (apiFunction.params.length > 0) { diff --git a/dist/providers/hoverProvider.js.map b/dist/providers/hoverProvider.js.map index 7f2e867..861f2d9 100644 --- a/dist/providers/hoverProvider.js.map +++ b/dist/providers/hoverProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../src/providers/hoverProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,2CAA4E;AAE5E,WAAW;AACX,MAAa,aAAa;IAItB,YAAY,YAAkC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,aAAa;IACb,KAAK,CAAC,YAAY,CACd,QAA6B,EAC7B,QAAyB,EACzB,KAA+B;QAE/B,0BAA0B;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,gBAAgB;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;QACP,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErC,eAAe;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACxE,IAAI,YAAY,GAAG,0IAA0I,SAAS,aAAa,CAAC;YACpL,YAAY,IAAI,gCAAgC,WAAW,CAAC,WAAW,aAAa,CAAC;YAErF,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,YAAY,IAAI,2CAA2C,CAAC;gBAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC/B,YAAY,IAAI,kCAAkC,KAAK,CAAC,IAAI,yCAAyC,KAAK,CAAC,IAAI,uCAAuC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,0CAA0C,KAAK,CAAC,WAAW,WAAW,CAAC;gBAC9P,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,YAAY,IAAI,2EAA2E,WAAW,CAAC,OAAO,CAAC,IAAI,0CAA0C,WAAW,CAAC,OAAO,CAAC,WAAW,SAAS,CAAC;YAC1M,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,YAAY,GAAG,yIAAyI,SAAS,aAAa,CAAC;YACnL,YAAY,IAAI,gCAAgC,QAAQ,CAAC,WAAW,aAAa,CAAC;YAElF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,YAAY,IAAI,2CAA2C,CAAC;gBAC5D,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBACvE,YAAY,IAAI,kCAAkC,eAAe,0CAA0C,MAAM,CAAC,WAAW,WAAW,CAAC;gBAC7I,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,YAAY,IAAI,6CAA6C,CAAC;gBAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBACrE,YAAY,IAAI,kCAAkC,aAAa,0CAA0C,IAAI,CAAC,WAAW,WAAW,CAAC;gBACzI,CAAC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,aAAa;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,YAAY,GAAG,wIAAwI,WAAW,CAAC,IAAI,aAAa,CAAC;YACzL,YAAY,IAAI,uEAAuE,WAAW,CAAC,KAAK,aAAa,CAAC;YACtH,YAAY,IAAI,gCAAgC,WAAW,CAAC,WAAW,aAAa,CAAC;YACrF,YAAY,IAAI,wEAAwE,WAAW,CAAC,QAAQ,SAAS,CAAC;YAEtH,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,SAAS;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS;YACT,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;gBACP,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,YAAY,GAAG,kGAAkG,IAAI,CAAC,SAAS,aAAa,CAAC;gBAC7I,YAAY,IAAI,wEAAwE,IAAI,CAAC,QAAQ,aAAa,CAAC;gBACnH,YAAY,IAAI,wEAAwE,IAAI,CAAC,UAAU,SAAS,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACJ,SAAS;gBACT,YAAY,GAAG,wEAAwE,IAAI,aAAa,CAAC;gBACzG,YAAY,IAAI,mDAAmD,CAAC;gBACpE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACrB,YAAY,IAAI,kCAAkC,IAAI,CAAC,SAAS,yCAAyC,IAAI,CAAC,QAAQ,wCAAwC,IAAI,CAAC,UAAU,YAAY,CAAC;gBAC9L,CAAC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,WAAW;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QAED,UAAU;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,UAAU;IACF,cAAc,CAAC,IAAY;QAC/B,MAAM,UAAU,GAA8B;YAC1C,IAAI,EAAE,2FAA2F;YACjG,MAAM,EAAE,uGAAuG;YAC/G,OAAO,EAAE,+FAA+F;YACxG,KAAK,EAAE,2FAA2F;YAClG,SAAS,EAAE,8FAA8F;YACzG,UAAU,EAAE,wFAAwF;YACpG,OAAO,EAAE,wFAAwF;YACjG,QAAQ,EAAE,yFAAyF;YACnG,OAAO,EAAE,sFAAsF;YAC/F,SAAS,EAAE,wFAAwF;YACnG,aAAa,EAAE,wFAAwF;YACvG,MAAM,EAAE,oFAAoF;YAC5F,MAAM,EAAE,qFAAqF;YAC7F,OAAO,EAAE,qFAAqF;SACjG,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS;IACD,eAAe,CAAC,IAAY;QAChC,MAAM,WAAW,GAA8B;YAC3C,IAAI,EAAE,iGAAiG;YACvG,GAAG,EAAE,kGAAkG;YACvG,UAAU,EAAE,2FAA2F;YACvG,UAAU,EAAE,uFAAuF;YACnG,UAAU,EAAE,0FAA0F;YACtG,UAAU,EAAE,0FAA0F;YACtG,UAAU,EAAE,4FAA4F;YACxG,UAAU,EAAE,4FAA4F;YACxG,SAAS,EAAE,yFAAyF;YACpG,SAAS,EAAE,yFAAyF;YACpG,UAAU,EAAE,2FAA2F;YACvG,UAAU,EAAE,2FAA2F;YACvG,SAAS,EAAE,4FAA4F;YACvG,SAAS,EAAE,4FAA4F;YACvG,SAAS,EAAE,gGAAgG;YAC3G,SAAS,EAAE,gGAAgG;SAC9G,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ;AArLD,sCAqLC"} \ No newline at end of file +{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../src/providers/hoverProvider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AAEjC,2CAA4E;AAE5E,WAAW;AACX,MAAa,aAAa;IAItB,YAAY,YAAkC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,qBAAS,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAED,aAAa;IACb,KAAK,CAAC,YAAY,CACd,QAA6B,EAC7B,QAAyB,EACzB,KAA+B;QAE/B,0BAA0B;QAC1B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,gBAAgB;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;QACP,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAErC,eAAe;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YACtF,IAAI,YAAY,GAAG,0IAA0I,SAAS,aAAa,CAAC;YACpL,YAAY,IAAI,gCAAgC,WAAW,CAAC,WAAW,aAAa,CAAC;YAErF,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,YAAY,IAAI,2CAA2C,CAAC;gBAC5D,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC/B,YAAY,IAAI,kCAAkC,KAAK,CAAC,IAAI,yCAAyC,KAAK,CAAC,IAAI,uCAAuC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,0CAA0C,KAAK,CAAC,WAAW,WAAW,CAAC;gBAC9P,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACtB,YAAY,IAAI,2EAA2E,WAAW,CAAC,OAAO,CAAC,IAAI,0CAA0C,WAAW,CAAC,OAAO,CAAC,WAAW,SAAS,CAAC;YAC1M,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,YAAY;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,YAAY,GAAG,yIAAyI,SAAS,aAAa,CAAC;YACnL,YAAY,IAAI,gCAAgC,QAAQ,CAAC,WAAW,aAAa,CAAC;YAElF,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,YAAY,IAAI,2CAA2C,CAAC;gBAC5D,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBACvE,YAAY,IAAI,kCAAkC,eAAe,0CAA0C,MAAM,CAAC,WAAW,WAAW,CAAC;gBAC7I,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,YAAY,IAAI,6CAA6C,CAAC;gBAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBACrE,YAAY,IAAI,kCAAkC,aAAa,0CAA0C,IAAI,CAAC,WAAW,WAAW,CAAC;gBACzI,CAAC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,aAAa;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,YAAY,GAAG,wIAAwI,WAAW,CAAC,IAAI,aAAa,CAAC;YACzL,YAAY,IAAI,uEAAuE,WAAW,CAAC,KAAK,aAAa,CAAC;YACtH,YAAY,IAAI,gCAAgC,WAAW,CAAC,WAAW,aAAa,CAAC;YACrF,YAAY,IAAI,wEAAwE,WAAW,CAAC,QAAQ,SAAS,CAAC;YAEtH,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,SAAS;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS;YACT,IAAI,YAAY,GAAG,EAAE,CAAC;YAEtB,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;gBACP,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,YAAY,GAAG,kGAAkG,IAAI,CAAC,SAAS,aAAa,CAAC;gBAC7I,YAAY,IAAI,wEAAwE,IAAI,CAAC,QAAQ,aAAa,CAAC;gBACnH,YAAY,IAAI,wEAAwE,IAAI,CAAC,UAAU,SAAS,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACJ,SAAS;gBACT,YAAY,GAAG,wEAAwE,IAAI,aAAa,CAAC;gBACzG,YAAY,IAAI,mDAAmD,CAAC;gBACpE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACrB,YAAY,IAAI,kCAAkC,IAAI,CAAC,SAAS,yCAAyC,IAAI,CAAC,QAAQ,wCAAwC,IAAI,CAAC,UAAU,YAAY,CAAC;gBAC9L,CAAC,CAAC,CAAC;YACP,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAChC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;QAED,WAAW;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QAED,UAAU;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,UAAU;IACF,cAAc,CAAC,IAAY;QAC/B,MAAM,UAAU,GAA8B;YAC1C,IAAI,EAAE,2FAA2F;YACjG,MAAM,EAAE,uGAAuG;YAC/G,OAAO,EAAE,+FAA+F;YACxG,KAAK,EAAE,2FAA2F;YAClG,SAAS,EAAE,8FAA8F;YACzG,UAAU,EAAE,wFAAwF;YACpG,OAAO,EAAE,wFAAwF;YACjG,QAAQ,EAAE,yFAAyF;YACnG,OAAO,EAAE,sFAAsF;YAC/F,SAAS,EAAE,wFAAwF;YACnG,aAAa,EAAE,wFAAwF;YACvG,MAAM,EAAE,oFAAoF;YAC5F,MAAM,EAAE,qFAAqF;YAC7F,OAAO,EAAE,qFAAqF;SACjG,CAAC;QAEF,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS;IACD,eAAe,CAAC,IAAY;QAChC,MAAM,WAAW,GAA8B;YAC3C,IAAI,EAAE,iGAAiG;YACvG,GAAG,EAAE,kGAAkG;YACvG,UAAU,EAAE,2FAA2F;YACvG,UAAU,EAAE,uFAAuF;YACnG,UAAU,EAAE,0FAA0F;YACtG,UAAU,EAAE,0FAA0F;YACtG,UAAU,EAAE,4FAA4F;YACxG,UAAU,EAAE,4FAA4F;YACxG,SAAS,EAAE,yFAAyF;YACpG,SAAS,EAAE,yFAAyF;YACpG,UAAU,EAAE,2FAA2F;YACvG,UAAU,EAAE,2FAA2F;YACvG,SAAS,EAAE,4FAA4F;YACvG,SAAS,EAAE,4FAA4F;YACvG,SAAS,EAAE,gGAAgG;YAC3G,SAAS,EAAE,gGAAgG;SAC9G,CAAC;QAEF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACJ;AAtLD,sCAsLC"} \ No newline at end of file diff --git a/package.json b/package.json index 20f5837..23a0697 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "squirrel-nut-explorer", "displayName": "Squirrel NUT Explorer", "description": "通过 pvfUtility API 浏览和编辑 NUT 文件", - "version": "1.1.0", + "version": "1.1.1", "publisher": "local", "engines": { "vscode": "^1.99.0" diff --git a/squirrel-nut-explorer-1.1.0.vsix b/squirrel-nut-explorer-1.1.0.vsix index 6197982..3010198 100644 Binary files a/squirrel-nut-explorer-1.1.0.vsix and b/squirrel-nut-explorer-1.1.0.vsix differ diff --git a/src/providers/apiParser.ts b/src/providers/apiParser.ts index 9b15676..debb204 100644 --- a/src/providers/apiParser.ts +++ b/src/providers/apiParser.ts @@ -52,7 +52,8 @@ export interface ApiConstant { // API文档解析器类 export class ApiParser { private static instance: ApiParser; - private functions: ApiFunction[] = []; + private functions: ApiFunction[] = []; // 普通函数,不自动填写第一个参数 + private functionEx: ApiFunction[] = []; // 扩展函数,自动填写所有参数 private classes: ApiClass[] = []; private constants: ApiConstant[] = []; private jsonFilePath: string; @@ -83,6 +84,7 @@ export class ApiParser { // 加载函数数据 this.functions = apiData.functions || []; + this.functionEx = apiData.functionEx || []; // 加载类数据 this.classes = apiData.classes || []; @@ -405,6 +407,7 @@ export class ApiParser { try { const apiData = { functions: this.functions, + functionEx: this.functionEx, classes: this.classes, constants: this.constants }; @@ -420,14 +423,30 @@ export class ApiParser { this.initializeApiDocumentation(); } - // 获取所有函数 + // 获取所有普通函数 public getFunctions(): ApiFunction[] { return this.functions; } - // 根据名称获取函数 + // 获取所有扩展函数 + public getFunctionEx(): ApiFunction[] { + return this.functionEx; + } + + // 根据名称获取函数(包括普通函数和扩展函数) public getFunctionByName(name: string): ApiFunction | undefined { - return this.functions.find(func => func.name === name); + // 先在普通函数中查找 + let func = this.functions.find(func => func.name === name); + if (func) { + return func; + } + // 再在扩展函数中查找 + return this.functionEx.find(func => func.name === name); + } + + // 检查是否是扩展函数 + public isFunctionEx(name: string): boolean { + return this.functionEx.some(func => func.name === name); } // 获取所有类 @@ -456,20 +475,43 @@ export class ApiParser { } // 生成函数签名 - public generateFunctionSignature(func: ApiFunction): string { - const params = func.params.map(param => { - let paramStr = param.name; - if (param.optional) { - paramStr = `[${paramStr}`; - if (param.defaultValue) { - paramStr += `=${param.defaultValue}`; - } - paramStr += ']'; - } - return paramStr; - }).join(', '); + public generateFunctionSignature(func: ApiFunction, isFunctionEx: boolean = false): string { + // 检查是否是普通函数且有参数 + if (!isFunctionEx && func.params.length > 0) { + // 对于普通函数,将第一个参数移到函数名前面 + const firstParam = func.params[0]; + const remainingParams = func.params.slice(1); - return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + const params = remainingParams.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + + const paramPart = params ? `(${params})` : '()'; + return `function ${firstParam.name}.${func.name}${paramPart}${func.returns ? `: ${func.returns.type}` : ': void'}`; + } else { + // 对于扩展函数或无参数的函数,保持原有格式 + const params = func.params.map(param => { + let paramStr = param.name; + if (param.optional) { + paramStr = `[${paramStr}`; + if (param.defaultValue) { + paramStr += `=${param.defaultValue}`; + } + paramStr += ']'; + } + return paramStr; + }).join(', '); + + return `function ${func.name}(${params})${func.returns ? `: ${func.returns.type}` : ': void'}`; + } } // 生成类签名 diff --git a/src/providers/completionProvider.ts b/src/providers/completionProvider.ts index 3607855..a31e2c1 100644 --- a/src/providers/completionProvider.ts +++ b/src/providers/completionProvider.ts @@ -93,22 +93,54 @@ export class CompletionProvider implements vscode.CompletionItemProvider { // 获取API函数完成项 private getApiFunctionCompletions(): vscode.CompletionItem[] { + const completions: vscode.CompletionItem[] = []; + + // 添加普通函数(不自动填写第一个参数) const functions = this.apiParser.getFunctions(); - return functions.map(func => { + functions.forEach(func => { const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); item.detail = '内置函数'; item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); // 为函数创建带参数的插入文本 if (func.params.length > 0) { + // 普通函数不自动填写第一个参数,用户需要手动输入 + if (func.params.length > 1) { + // 从第二个参数开始添加占位符 + const remainingParams = func.params.slice(1); + const paramText = remainingParams.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); + item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); + } else { + // 只有一个参数或无参数 + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + } else { + item.insertText = new vscode.SnippetString(`${func.name}()`); + } + + completions.push(item); + }); + + // 添加扩展函数(自动填写所有参数) + const functionEx = this.apiParser.getFunctionEx(); + functionEx.forEach(func => { + const item = new vscode.CompletionItem(func.name, vscode.CompletionItemKind.Function); + item.detail = '扩展函数'; + item.documentation = new vscode.MarkdownString(`\`\`\`squirrel\n${this.apiParser.generateFunctionSignature(func)}\n\`\`\`\n${func.description}`); + + // 为函数创建带参数的插入文本 + if (func.params.length > 0) { + // 扩展函数自动填写所有参数 const paramText = func.params.map((param, index) => `\${${index + 1}:${param.name}}`).join(', '); item.insertText = new vscode.SnippetString(`${func.name}(${paramText})`); } else { item.insertText = new vscode.SnippetString(`${func.name}()`); } - return item; + completions.push(item); }); + + return completions; } // 获取API类完成项 diff --git a/src/providers/hoverProvider.ts b/src/providers/hoverProvider.ts index c993df1..f7f3d82 100644 --- a/src/providers/hoverProvider.ts +++ b/src/providers/hoverProvider.ts @@ -37,7 +37,8 @@ export class HoverProvider implements vscode.HoverProvider { // 首先检查是否是API函数 const apiFunction = this.apiParser.getFunctionByName(word); if (apiFunction) { - const signature = this.apiParser.generateFunctionSignature(apiFunction); + const isFunctionEx = this.apiParser.isFunctionEx(apiFunction.name); + const signature = this.apiParser.generateFunctionSignature(apiFunction, isFunctionEx); let hoverContent = ` 内置函数: ${signature}\n\n`; hoverContent += `${apiFunction.description}\n\n`; diff --git a/新库函数示范.json b/新库函数示范.json new file mode 100644 index 0000000..2f2f346 --- /dev/null +++ b/新库函数示范.json @@ -0,0 +1,277 @@ +{ + "functions": [ + { + "name": "file", + "description": "", + "params": [], + "returns": { + "type": "void", + "description": "" + } + }, + { + "name": "close", + "description": "关闭文件流", + "params": [], + "returns": { + "type": "void", + "description": "" + } + }, + { + "name": "len", + "description": "获取数据长度", + "params": [ + { + "name": "data", + "type": "object", + "description": "基本数据类型" + } + ], + "returns": { + "type": "int", + "description": "" + } + } + ], + "functionEx": [ + { + "name": "sq_RGB", + "description": "颜色空间", + "params": [ + { + "name": "R", + "type": "int", + "description": "红色(0-255)" + }, + { + "name": "G", + "type": "int", + "description": "绿色(0-255)" + }, + { + "name": "B", + "type": "int", + "description": "蓝色(0-255)" + } + ], + "returns": { + "type": "object", + "description": "颜色对象" + } + }, + { + "name": "sq_RGBA", + "description": "颜色空间", + "params": [ + { + "name": "R", + "type": "int", + "description": "红色(0-255)" + }, + { + "name": "G", + "type": "int", + "description": "绿色(0-255)" + }, + { + "name": "B", + "type": "int", + "description": "蓝色(0-255)" + }, + { + "name": "A", + "type": "int", + "description": "透明度(0-255)" + } + ], + "returns": { + "type": "object", + "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" + } + ] +} \ No newline at end of file