Commit Graph

95 Commits

Author SHA1 Message Date
Roy Qu f4d3ebc9bc optimize: use constData() if possible 2024-05-14 20:26:32 +08:00
Cyano Hao 43e795e791
migrate QStringRef -> QStringView (#425) 2024-05-14 08:38:22 +08:00
Roy Qu 67b2ec1bc7 - fix: Current editor wouldn't get parsed, when it's switched from another editor being parsed.
- enhancement: Support macro in #include preprocessing statements. (Issue #497)
2024-05-02 16:58:01 +08:00
Cyano Hao 8b80e2a77d
remove pre-Qt 5.15 stuff (#405) 2024-04-28 16:46:01 +08:00
Roy Qu a9295caff2 optimization: make parser methods inline 2024-04-09 22:12:03 +08:00
Roy Qu 37c7405311 refactor: openInclude 2024-04-09 19:39:35 +08:00
Roy Qu 35dccca91e refactor: PParsedFileInfo 2024-04-09 18:19:48 +08:00
Roy Qu 9ef6d1f3e6 refactor: ParsedFileInfo 2024-04-09 18:10:44 +08:00
Roy Qu edbe230bf7 refactor 2024-04-09 17:15:27 +08:00
Roy Qu 17fddff91b clean code
refactor: rename fileIncludes to fileInfo
2024-04-06 18:10:49 +08:00
Roy Qu fd062e2f34 refactor: rename FileIncludes to ParsedFileInfo 2024-04-06 17:45:02 +08:00
Roy Qu 384396d196 clean codes 2024-04-06 04:05:00 +08:00
Roy Qu 762c27b860 fix: cppparser : #included files not correctly handled
refactor project options -> file page
2024-04-06 04:03:14 +08:00
Roy Qu 29ed064b91 fix: function tips not correctly displayed 2024-04-05 22:43:07 +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 0a11b4b6ea - Enhancement: Issue #213 Expands macro when finding function tips. 2024-03-06 19:35:35 +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 13d81b1134 reduce memory usage 2023-10-27 20:16:44 +08:00
Roy Qu 85ef5986bf Add debug info for macro expansion 2023-10-25 11:49:25 +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
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 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 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 0e1332dd5e fix: "__max" in istream.tcc is wrongly expanded. 2023-07-03 18:21:33 +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 19a85db1f9 - fix: '^' is not correctly handled as operator. 2023-05-24 13:42:46 +08:00
Roy Qu 7e3ee41546 - fix: foreach-loops are not correctly parsed. 2023-05-14 15:57:07 +08:00
Roy Qu 1470f58206 - fix: Crash when directive line ends with '\' and at the last line. 2023-03-18 10:34:37 +08:00
Roy Qu dab6a331b9 optimize parser 2023-03-13 00:13:23 +08:00
Roy Qu b220df600b - enhancement: Sort header completion infos by suffix-trimmed filename. 2023-03-11 19:30:56 +08:00
Roy Qu d29ec1ee0f refactor: make most expression evaluation funcs const 2023-03-11 17:32:57 +08:00
Roy Qu 25d0f5b782 - fix: Can't parse enum values.
- fix: Can't correctly show enum values in the class browser.
  - fix: Can't correctly create project, if template's encoding setting is not valid.
  - enhancement: Add "embed assembly" template.
2023-02-15 16:24:24 +08:00
Roy Qu 629a90d521 - enhancement: Simplified chinese translations for encoding names.
- fix: Crash when there are preprocessing directives like '#if 0/0' or '#if 0%0'
2023-01-26 11:07:46 +08:00
Roy Qu 61a5d9f94f minor optimization 2022-12-27 14:34:57 +08:00
Roy Qu a1af733a53 minor optimization 2022-12-27 14:29:49 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Roy Qu f24c1e96db remove debug info 2022-11-08 22:12:33 +08:00
Roy Qu 4fad826899 - fix: macro defines parsed before not correctly applied in the succeeding parse. 2022-11-08 22:04:53 +08:00
Roy Qu 09c7b5e791 fix: "." and ".." in included header paths not correctly handled 2022-10-23 23:06:55 +08:00
Roy Qu d1d68758aa work done: refactor cpp parser for project 2022-10-22 19:33:20 +08:00
Roy Qu dbf34548d8 work save: clean up CppPreprocessor clear & reset 2022-10-22 10:59:39 +08:00
Roy Qu 6ba6030af7 work save: CppPreprocessor clean 2022-10-22 10:44:10 +08:00
Roy Qu 921a6b41c5 clean up CppPreprocessor::addDefinesInFile 2022-10-22 10:19:47 +08:00
Roy Qu eed7fdcf56 fix: click a non-existing header name will get an error 2022-10-18 23:22:29 +08:00
Roy Qu 29da40bb14 - fix: toggle block comment/delete to word begin/delete to word end are not correctly disabled when editor not open 2022-10-18 19:09:46 +08:00