Commit Graph

97 Commits

Author SHA1 Message Date
csh ab1dcc00bc 🐛 fix(uses): make file-level uses globally visible
- Preserve top-level `uses` imports and apply them to subsequent unit/class/function/method scopes.
- Extend semantic ResolveFromUses to consult file-level imports (and fall back from unit imports).
2025-12-14 11:10:50 +08:00
csh 171d5e2064 feat(lsp_completion): support unit-qualified constructors
- Support `new UnitA.ClassName` and `new unit(UnitA).ClassName` completion.
- Support `createobject("UnitA.ClassName"` and `createobject("unit(UnitA).ClassName"` completion.
- Apply `uses` ordering when resolving ambiguous ClassName (last wins).
- Improve `obj.` member completion using qualified type strings.
2025-12-14 10:33:12 +08:00
csh 3106ab9ce4 feat(lsp_completion): complete object creation and members
- Add class-name completion for `new` and `createobject("..."`.
- Generate constructor parameter snippets in completionItem/resolve.
- Support `obj.` instance member completion (methods/properties/fields).
- Infer `new`/`createobject` result types in SemanticModel TypeSystem.
2025-12-14 09:54:18 +08:00
csh 476e83beb8 feat(lsp_server): support rdo_expression and normalize call field
- rename tree-sitter fields for inherited/rdo to 'call'
- regenerate parser sources and sync into lsp-server
- add RdoExpression to AST + symbol/semantic visitors
2025-12-14 06:05:47 +08:00
csh d1c35de70c 🔧 chore(conan): add clang-20 profiles
add linux and windows-cross conan profiles for clang 20 toolchains
2025-12-13 20:37:10 +08:00
csh e5782c76fa ♻️ refactor(lsp_server): move entrypoints out of named modules
- export Run() from launcher module and add non-module main TU
- apply same pattern to module-based test executables
- migrate utils/string implementation fully into string.cppm and drop string.cpp
- point clangd to linux build compilation database
2025-12-13 19:55:45 +08:00
csh f7d5a74615 ♻️ 使用`module`重构所有代码 2025-12-07 23:07:03 +08:00
csh 549f1d1b0a ♻️ 重构 2025-12-05 21:03:18 +08:00
csh 4c2e242920 新增语义模块
♻️ 重构符号表,职责更清晰单一

🐛 同步修复`test_symbol`
2025-11-18 23:11:40 +08:00
csh 3274af67d5 ♻️ 重构符号表的代码 2025-11-17 17:45:39 +08:00
csh 99f735f2df 🗑️ 删除`CMakeLists.txt`对`vcpkg`的支持
 新增`conan`包管理,并配置多平台`profile`

🔧 变更`CMakeLists`的设置
2025-11-17 17:41:43 +08:00
csh 41ef82b1aa 🐛 修复路径转换问题 2025-11-17 08:59:15 +08:00
csh cee6e614bf ♻️ 重构符号表相关内容
🚀 优化`ast`相关代码
2025-11-16 21:20:47 +08:00
csh 8f25f212a7 📦 更新`lsp`对`tree-sitter`的依赖
🚀 优化部分无关代码

🐛 修复`ast`的测试代码
2025-11-15 21:19:45 +08:00
csh 1776437d1d tree-sitter 新增语法支持`procedure` 2025-11-15 21:18:50 +08:00
csh 9714d8c9ac `grammar.js`支持`var`,`out`,`const`,`in`等语法参数
🚀 优化`grammar.js`的语法设计,合理重命名一些field

♻️ 重构ast的`struct`设计
2025-11-13 22:41:40 +08:00
csh 7dfbb713ac ♻️ 继续重构 2025-11-11 23:12:03 +08:00
csh 49f2085847 Merge remote-tracking branch 'origin/master' into lsp-server 2025-11-11 18:58:59 +08:00
csh 0ef01a2d1c ♻️ 重大重构 2025-11-11 18:58:21 +08:00
csh 7e0b69c354 ♻️ 重构`tree-sitter-tsf` 2025-11-11 16:54:48 +08:00
csh 9f4d447b5c 🔧 更新`gitattributes` 2025-11-02 16:37:33 +08:00
csh 3cd7198b45 📦 更新server 2025-11-02 16:35:51 +08:00
csh 5eba41429d 🐛 恢复 2025-11-02 16:34:31 +08:00
csh e9b2945289 🐛 test bug 2025-11-02 16:32:46 +08:00
csh a1d0df9024 🔧 更新`gitattributes` 2025-11-02 16:29:25 +08:00
csh bcb83f7cad ♻️ 更名tree-sitter-tsf文件夹 2025-11-02 16:29:05 +08:00
csh d8027f2f1a 🔧 `gitattributes`忽略自动生成和第三方依赖的代码 2025-11-02 16:22:30 +08:00
csh 64ec88f0c3 🗑️ 移除`test_glaz`
 新增测试`test_lsp_any`
2025-11-02 15:47:48 +08:00
csh a81d9de71d ♻️ 重构优化LSPAny相关代码 2025-11-02 15:47:40 +08:00
csh c690b76fcf 🔧 gitignore新增过滤项 2025-11-02 15:46:50 +08:00
csh 33a20fdb52 update bin 2025-11-01 23:00:32 +08:00
csh e7a5274270 大量更新,不想写更新日志 2025-11-01 22:57:53 +08:00
csh ff9a7c5093 update .gitignore 2025-10-26 22:52:51 +08:00
csh 100e210ed1 add symbol table and test file 2025-10-26 22:52:31 +08:00
csh 7d9b966bc7 improve ast 2025-10-26 22:51:52 +08:00
csh dbccd5b605 improve tree-sitter 2025-10-26 22:51:27 +08:00
csh 9385aaf2c1 update tree-sitter 2025-10-25 23:53:26 +08:00
csh 6aa28f9b23 update test_ast file 2025-10-25 23:53:04 +08:00
csh e0e8c7b26d fix ast 2025-10-25 23:52:33 +08:00
csh 857ba73755 update .gitignore 2025-10-25 14:07:14 +08:00
csh 117f8e878e update test file 2025-10-25 14:06:58 +08:00
csh 6be3662226 update protocol 2025-10-25 14:05:35 +08:00
csh 0fedf40a25 update tree-sitter 2025-10-25 14:05:13 +08:00
csh a7237a58d9 improvements 2025-10-25 14:04:59 +08:00
csh ddca9769e5 refactor ast 2025-10-25 14:02:55 +08:00
csh 57f182380e fix: ast bug 2025-10-15 22:59:51 +08:00
csh 174d484d93 枚举修正 2025-10-15 22:59:39 +08:00
csh 4deb0b6d87 lsp协议的枚举不使用google风格 2025-10-15 22:59:06 +08:00
csh 1f7045140e 重构语法树/符号表 2025-10-15 20:31:00 +08:00
csh f52768e385 Enable Git LFS for binaries 2025-10-15 20:30:12 +08:00