Commit Graph

69 Commits

Author SHA1 Message Date
csh eb44afe2be 🧪 test: ignore IDS_AuditExpr in ast/symbol scripts 2025-12-21 15:57:38 +08:00
csh fbf6c85baa 🧪 test: register remaining tests in ctest 2025-12-21 15:52:09 +08:00
csh f2d2aeb272 🧪 test: wire ast/symbol scripts into ctest 2025-12-21 15:47:27 +08:00
csh bb0cbde79c 🧪 test: add LSP json fixtures and provider suite 2025-12-21 15:39:33 +08:00
csh 53f4588c53 🐛 fix: align rename provider method names 2025-12-21 15:39:16 +08:00
csh 1de97aace5 🐛 fix: support LSP request id variants 2025-12-21 15:38:46 +08:00
csh 8e564fc8bb 🧹 remove empty extern C block 2025-12-20 11:33:09 +08:00
csh b27dafb657 sync tree-sitter grammar and AST 2025-12-20 11:25:33 +08:00
csh 7c13d70d3a 🔧 chore(standards): sync cpp playbook rules
Vendor standards live under docs/standards/playbook and are synced into .agents/cpp.

Add AGENTS.md entries so agents working in lsp-server follow the C++ ruleset and standards.
2025-12-14 17:57:26 +08:00
csh e75027b80a 🔧 chore(symbol): trace per-library file indexing
- Log each indexed .tsf file at trace level during LoadSystemLibrary.
- Include top-level symbol summary when a file is skipped for stem mismatch.
2025-12-14 14:06:24 +08:00
csh 9a12b1b194 🐛 fix(logging): support --log-stderr and clarify stdin wait
- Make logs go to stderr by default (keep LSP stdout clean).
- Add --log-stderr/--log-stdout flags and wire config.use_stderr into spdlog.
- Log an explicit message when waiting for LSP input on stdin.
2025-12-14 13:43:56 +08:00
csh 241de77152 🐛 fix(symbol): treat .tsl as script, not library
- LoadSystemLibrary now only scans .tsf files.
- LoadWorkspace still indexes .tsl scripts but skips the file-stem/top-level check for them.
2025-12-14 13:28:14 +08:00
csh 566830bdb8 🐛 fix(symbol): emit module symbols for unit
Fix Builder::CreateSymbol to handle SymbolKind::Module (Unit) so system/workspace loading can match file stems.
2025-12-14 13:13:54 +08:00
csh 2c9c0b2d8f 🐛 fix(server): load interpreter funcext symbols
- Wire `--interpreter=...` into server startup.
- Auto-load `<interpreter>/funcext` as a system library via Symbol::LoadSystemLibrary.
2025-12-14 13:08:50 +08:00
csh 7d1db3f3ac 🔧 chore(conan): rename profiles without version
- Rename `linux-x86_64-clang-20` to `linux-x86_64-clang`.
- Rename `windows-x86_64-clang-20-cross` to `windows-x86_64-clang-cross`.
- Remove unused `windows-x86_64-clang-17-cross` profile.
2025-12-14 12:59:32 +08:00
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 0ef01a2d1c ♻️ 重大重构 2025-11-11 18:58:21 +08:00
csh 7e0b69c354 ♻️ 重构`tree-sitter-tsf` 2025-11-11 16:54:48 +08:00
csh bcb83f7cad ♻️ 更名tree-sitter-tsf文件夹 2025-11-02 16:29:05 +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 e7a5274270 大量更新,不想写更新日志 2025-11-01 22:57:53 +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 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