Commit Graph

429 Commits

Author SHA1 Message Date
Roy Qu dd1bb88733 fix #348 : crash when failed to expand parametered macro in the expression 2024-03-30 12:42:48 +08:00
Roy Qu c941ae4cf8 - enhancement: Open ".def" (Module definition file) file in editor when double click it in the project view.
- enhancement: When a dll project has .def file, use it when generating the dll file.
2024-03-27 15:32:30 +08:00
Roy Qu 2483962082 fix #329 - fix: Some functions like "std::fstream::write" are not shown in the completion suggestion. 2024-03-27 11:18:20 +08:00
Roy Qu 6cb843a1ee fix: hardDefines not correctly handled 2024-03-26 17:36:17 +08:00
Roy Qu df992c5cbc - fix: Remove duplicated macro defines make it's lost in the parse result.
- fix: An undefined macro is still missing the the parse result after #undef is removed.
2024-03-26 16:33:22 +08:00
Roy Qu 1bb8ad3a27 fix: crash when parsing A{}
enhancement: auto type induction for new
2024-03-24 21:53:55 +08:00
Roy Qu 13e0393c8e - enhancement: Auto type induction for new / temp class object. 2024-03-24 19:42:29 +08:00
Roy Qu 0405a51206 fix #318 #309 - enhancement: Auto type induction for new / temp class object. 2024-03-24 19:19:57 +08:00
Roy Qu 4c8e88ce1b highlights "import"/"module"/"override"/"final" 2024-03-24 17:15:40 +08:00
Roy Qu 741b814e1d fixes #315 : foreach not correcly handled. 2024-03-24 17:07:53 +08:00
Roy Qu 09a61c4c32 support lambda expression captures. 2024-03-23 09:03:20 +08:00
Roy Qu 0782994f95 fix : menu items for editors are disabled. 2024-03-22 19:37:13 +08:00
Roy Qu 517fdbdecc - enhancement: Improve lambda support. 2024-03-22 18:56:02 +08:00
Roy Qu 470bd9cee0 work save 2024-03-22 18:43:01 +08:00
Roy Qu e5a23b7686 cppparser refactors 2024-03-22 17:54:08 +08:00
West-Pavilion 421a227d05
update the C++20 keyword "co_await" from "co_wait" (#299)
* Updated the Chinese translation for "Goto Page Start and Select"
This PR updates the Chinese translation for "Goto Page Start and Select" to accurately reflect the functionality of the feature.
本次PR更新了“Goto Page Start and Select”的中文翻译,以准确反映该功能的操作。

* update the C++20 keyword "co_await" from "co_wait"

The C++20 introduced a new keyword "co_await", however there is a tiny typo wrong("co_wait") in the current version of RedPanda-CPP. This PR is aimed to correct it.
2024-03-22 15:44:04 +08:00
Roy Qu 72cd79eef5 - enhancement: Improvement in italic font support. 2024-03-22 11:12:06 +08:00
Roy Qu 3b85e8bec0 remove debug info 2024-03-22 09:37:54 +08:00
Roy Qu aad4050c25 - enhancement: Show "std::function" in the completion list. 2024-03-22 09:23:49 +08:00
Roy Qu 172c66c6dc fix #296 - enhancement: Type induction for "auto &&" vars. 2024-03-21 20:04:02 +08:00
Roy Qu d859894105 fix #290 : Auto type induction for expression contains '[]' are not correct. 2024-03-21 16:55:32 +08:00
Roy Qu c68eea9463 Merge branch 'master' of github.com:royqh1979/RedPanda-CPP
# Conflicts:
#	NEWS.md
2024-03-21 16:19:05 +08:00
Roy Qu c407c27a7a - fix: Can't correctly retrieve function parameters type. 2024-03-21 16:18:14 +08:00
Roy Qu e308ccb629 - fix: '*=' is treadted as '*' when parsing. 2024-03-21 15:13:58 +08:00
Roy Qu 0426bfe1b0 fix #293 : No icons for inherited class private members. 2024-03-21 07:10:48 +08:00
Roy Qu 22b8ee814e fix: crash when load c/c++ files 2024-03-20 10:17:10 +08:00
Roy Qu 7593f99c58 fix #280 : Using aliased functions are not correctly processed. 2024-03-19 21:22:46 +08:00
Roy Qu 0e5d666c67 - fix: Full scope typed variables in lambda expressions is not correctly parsed. 2024-03-08 18:20:49 +08:00
Roy Qu 9df669ba08 Issue #194 - fix: Function tips contains functions that not in the scope. 2024-03-08 08:30:41 +08:00
Roy Qu f79da84224 Issue #197 - enhancement: Support "enum struct" Scoped enumerations. 2024-03-08 08:17:44 +08:00
Roy Qu df4c14caa4 - fix Issue #211: Using alias for global symbols are not correctly handled. 2024-03-08 08:06:23 +08:00
Roy Qu 45a73181df Issue #209 - enhancement: Support annonymous class 2024-03-08 07:32:09 +08:00
Roy Qu c742a8bb29 - enhancement: Issue #196 Support C++ using alias in syntax highlighting/code completion/function tips. 2024-03-07 21:35:53 +08:00
Roy Qu 0a11b4b6ea - Enhancement: Issue #213 Expands macro when finding function tips. 2024-03-06 19:35:35 +08:00
Roy Qu 6daddd1e5b - fix: Can't show function tips for std::ios::sync_with_stdio. 2024-02-29 09:50:20 +08:00
Roy Qu f763cec8f4 - fix: Function argument infos are not correctly parsed. 2024-02-28 10:41:03 +08:00
Roy Qu f7eacaa048 minor update 2024-02-28 09:41:20 +08:00
Roy Qu 2743e6f682 - fix: Parser: invalidating file may lost class inheritance infos. 2024-02-28 09:17:30 +08:00
Roy Qu 1728e953bf - fix: Parser: invalidating file may break class inheritance infos. 2024-02-27 18:08:38 +08:00
Roy Qu f9d8212712 - Enhancement: New option for compiler set "Don't localize gcc output messages" 2024-02-20 21:47:12 +08:00
Roy Qu 522722c418 - Enhancement: Improved Raw string support 2024-02-20 17:25:37 +08:00
Roy Qu 20339b3e9a - Fix: Function list is not correctly retrived for full-scoped functions 2024-02-20 14:45:12 +08:00
Roy Qu d8e4c4d76b - Fix: Expression that starts with full scoped variables might be treated as var definition. 2024-02-20 12:34:02 +08:00
Roy Qu b4cfc7b98d fix: Can't correctly suggest a variable defined by a typedef-ed type. 2024-02-19 17:56:15 +08:00
Roy Qu ce678c64e8 - Enhancement: Better type induction for auto in foreach loop of maps. 2023-11-26 16:30:22 +08:00
Roy Qu bfd00957eb - Enhancement: Better support for macros. 2023-11-26 15:44:13 +08:00
Roy Qu aa12dcc4d1 - fix: Crash if #include a non-exist header file in the source. 2023-11-05 21:00:52 +08:00
Roy Qu 43dbbf798a optimize 2023-10-28 09:20:01 +08:00
Roy Qu 6cf04c1ca6 minor refactor 2023-10-27 20:49:39 +08:00
Roy Qu 13d81b1134 reduce memory usage 2023-10-27 20:16:44 +08:00
Roy Qu 9a51678d09 Minor update 2023-10-27 09:49:34 +08:00
Roy Qu 5814043302 - enhancement: when induce type info for return value, try to select the overloaded one that doesn't have an "auto" type. 2023-10-26 08:57:40 +08:00
Roy Qu 94e955b07a - fix: If the integrated gcc compiler is add to path, auto find compilers will find in twice. (Windows) 2023-10-25 18:58:45 +08:00
Roy Qu 3a78819fb8 - fix: C++ compiler atrribute '[[xxx]]' are not correctly handled. 2023-10-25 17:01:42 +08:00
Roy Qu 85ef5986bf Add debug info for macro expansion 2023-10-25 11:49:25 +08:00
Roy Qu b287464b98 - fix: Macros that defined by the compiler are not correctly syntax-colored and tooltiped. 2023-10-25 00:34:29 +08:00
Roy Qu 0bc361e1f9 - enhancement: Better support for expanding macros with complex parameters. 2023-10-25 00:19:05 +08:00
Roy Qu 4eca58b62a - enhancement: Basic support for parsing variadic macros. 2023-10-24 20:35:43 +08:00
Roy Qu e0b9bfb4c8 minor cleanup 2023-10-22 20:04:21 +08:00
Roy Qu c3352ad661 - refactor: for/catch processing
- fix: Link in the project options dialog / precompiled header pages is not clickable.
2023-10-22 18:33:53 +08:00
Roy Qu 30cabe2faa - enhancement: Parse files that contains C++ 20 'concept' keyword. (No code suggesion for concepts now)
- enhancement: Parse files that contains C++ 20 'requires' keyword.
  - fix: Code suggestions in namespace.
  - enhancement: Code suggestions for namespace alias.
  - fix: Correctly handle statements like 'using xxx::operator()'.
2023-10-22 13:19:03 +08:00
Roy Qu 9467645bef - fix: __attribute__ is not correctly handled if it is after 'static'. 2023-10-21 22:19:26 +08:00
Roy Qu eb7c1d0c8f Merge branch '2.26' 2023-10-21 13:38:50 +08:00
Cyano Hao a62acc2eb0
Add Windows XP support (#146)
* improve Qt 5.6 support

* switch registry API to Windows XP compatible Unicode API

* update docs

* add comment for `CONFIG += c++14 c++17` in qmake .pro files

* fix logic for lockFile
2023-10-21 13:38:12 +08:00
Roy Qu 8fe15dab8a - enhancment: Code suggestion for embedded std::vectors. 2023-10-19 19:32:08 +08:00
Roy Qu 526e73d27a Use QRecursiveMutex instead of QMutex in CppParser 2023-10-10 19:59:39 +08:00
Roy Qu 85cd761e36 minor fix 2023-10-01 10:49:59 +08:00
Roy Qu 14ba74e705 - fix: Processing for #if/#elif/#else is not correct. 2023-10-01 10:45:43 +08:00
Roy Qu 98f015f661 fix: linux compatibility(from cyano.CN) 2023-08-17 22:08:31 +08:00
Roy Qu 6b2a800d37 - enhancement: Support SDCC Project. 2023-08-17 19:24:49 +08:00
Roy Qu dd5640d334 - enhancement: False branches are displayed as comments. 2023-08-17 13:24:08 +08:00
Roy Qu dcd53771d3 fix: Can't suggest members of variable defined by unname struct/union. 2023-08-13 22:19:56 +08:00
Roy Qu 37df656c82 add more sdcc keywords 2023-08-13 20:57:09 +08:00
Roy Qu 707358817c - enhancement: Autowrap tool output text. 2023-08-13 15:41:17 +08:00
Roy Qu 738faf0c90 - fix: Crash if close file while auto syntax checking.
- enhancement: support sdcc compiler.
2023-08-13 14:46:53 +08:00
Roy Qu f462d6708d - fix: Crash if close file while auto syntax checking. 2023-08-12 13:51:35 +08:00
Roy Qu 739f382f46 - change: Remove option "clear all symbols when current editor is hidden".
- fix: When opening multiple files, only the active file should be parsed.
2023-08-11 13:49:09 +08:00
Roy Qu 7104089e66 comment out debug info 2023-08-09 22:36:33 +08:00
Roy Qu 0f7b4b8ce5 - fix: Wrong code suggestion while inputing numbers in assembly files.
- fix: Defines in all files are wrongly cleared when reparsing.
2023-08-09 22:35:25 +08:00
Roy Qu f111433ac5 - fix: Can't parse virtual inherit. 2023-08-08 10:40:59 +08:00
Roy Qu 30426ac58f Crash when enum value is a symbol that not valid. 2023-08-07 18:28:30 +08:00
Roy Qu d1214e3d63 fix: Value of noname enum members are not shown in the class browser. 2023-08-07 14:42:42 +08:00
Roy Qu 6a06b5b3d6 - fix: Dummy struct/enum symbols shouldn't be shown in the completion suggestion.
- enhancement: Support optional enum name.
  - enhancement: Support optional enum type.
  - enhancement: Support simple const expression evaluation for enum values.
  - fix: Accessibilty for inherited members are not correct calculated in multiple inheritance.
  - fix: Can't handle full class name when handle inheritance.
2023-08-07 14:23:57 +08:00
Roy Qu d3a8a57cf5 - fix: Goto definition/declaration may choose wrong symbol is multiple files are opened and symbols have the same name. 2023-07-27 15:44:33 +08:00
Roy Qu 8e6a1872db - fix: members of elements of stl maps are not correctly suggested. 2023-07-14 17:44:14 +08:00
Roy Qu 56f03a52d5 - fix: Keyword asm is not correctly parsed. 2023-07-05 09:01:38 +08:00
Roy Qu bd768552c0 - fix: Inherited class/struct members are not correctly shown in the completion suggestions. 2023-07-04 20:10:08 +08:00
Roy Qu 0e1332dd5e fix: "__max" in istream.tcc is wrongly expanded. 2023-07-03 18:21:33 +08:00
Roy Qu b571e5f535 - enhancement: Show code completion suggestion after "typedef" and "const". 2023-07-03 09:36:27 +08:00
Roy Qu 362cf5701c - improve: Correctly expands multi-line macros when parsing;
- improve: Correctly eppands macros when real param string contains '(' or  ')'.
2023-07-01 18:06:39 +08:00
Roy Qu 58b92a6360 - fix: crash when source files contains macro definitions like "#define cfun (cfun + 0)" 2023-07-01 13:41:27 +08:00
Roy Qu 88b592f829 - fix: crash when parsing files containing inline assembly code. 2023-06-30 11:52:01 +08:00
Roy Qu e5e322dea4 - enhancement: correctly highlight multiline raw string literals.
- change: remove "Assembly" color scheme item (it's not used anymore).
2023-06-30 10:53:58 +08:00
Roy Qu 8ad9e22976 - fix: "typedef struct" for arrays is not correctly parsed. 2023-06-30 09:29:20 +08:00
Roy Qu d71cd7e7dc - fix: "typedef struct" that don't have definition of the struct is not correctly parsed. 2023-06-29 21:31:30 +08:00
Roy Qu 4070362cdc - enhancement: improve parsing result for function parameters like 'Node (&node)[10]' 2023-06-21 19:30:02 +08:00
Roy Qu 35b986a358 - enhancement: improve code completion for std iterators defined with "using namespace std" 2023-06-20 21:07:26 +08:00
Roy Qu 3cc00eaf8f improve pointer level calc for [] 2023-06-20 19:26:28 +08:00
Roy Qu 9e7d82fc52 work save 2023-06-20 10:58:14 +08:00
Roy Qu 1928783cbd - enhancement: differenciate -> and . when displaying completion suggestion infos. 2023-06-20 09:57:57 +08:00