Roy Qu
de406de236
refactor : member accessibility processing in the parser
2023-03-12 18:24:58 +08:00
Roy Qu
f04c7c0221
refactor test for operator
2023-03-12 12:42:44 +08:00
Roy Qu
b246e3d145
refactor check for struct/class/union defines in the parser
2023-03-12 10:50:47 +08:00
Roy Qu
16258cc015
use normal mutex instead of recursivemutex
2023-03-12 10:00:32 +08:00
Roy Qu
0b0e941155
- fix: Code completion info for stl::map/std::unordered_map is not correct.
2023-03-11 19:56:40 +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
fdc04c0d4f
fix: wrong type for operator overloading for conversion functions.
2023-03-10 20:50:46 +08:00
Roy Qu
fec78d0045
- enhancement: Don't show operator overloading functions in the complete suggestions
...
- enhancement: Correctly hanlde operator overloading functions like "operator ClassA"
2023-03-10 20:13:52 +08:00
Roy Qu
60055107ca
fix: '::' is not correctly handled when skip to : in the parser
2023-03-10 16:02:47 +08:00
Roy Qu
5cba7365f5
- enhancement: Improve support for function pointer vars.
2023-03-02 11:28:03 +08:00
Roy Qu
a40dee6b4d
work save
2023-03-02 10:15:25 +08:00
Roy Qu
56972d168e
- fix: Can't correctly parse function pointer var definition.
2023-03-01 22:53:14 +08:00
Roy Qu
e7013cff1a
- fix: Project files that not in the project folder is not correctly handled in makefile.
...
- enhancement: Improve support for function pointer typedefs.
2023-03-01 11:29:30 +08:00
Roy Qu
5d9ecea491
- enhancement: Add descriptions for x86 registers in the cpu info dialog.
2023-02-25 21:19:14 +08:00
Roy Qu
2dd835f4ce
- fix: Function with reference type return value is not correctly parsed.
2023-02-25 12:23:45 +08:00
Roy Qu
a4a7ff158c
- fix: Static class members is not correctly recognized as static.
2023-02-25 12:15:54 +08:00
Roy Qu
c1f8489bfd
Assert fail on parser in DEBUG mode, when multiparser working at the same time
2023-02-21 22:40:29 +08:00
Roy Qu
f03c25a672
- fix: Enum value defines is not correctly parsed.
...
- enhancement: Use differenct source file for each language in project templates
2023-02-21 20:35:41 +08:00
Roy Qu
457e84f86a
- Enhancement: Correctly init panel sizes when first run.
2023-02-21 09:47:59 +08:00
Roy Qu
60db5a894b
- Enhancement: Support C11 ano
2023-02-20 17:52:42 +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
1eb7bdf549
fix: editor not parsed when first load
...
fix: TODO is wrongly parsed when new a file (that exists in the current folder)
2023-02-14 09:03:06 +08:00
Roy Qu
32a29540bd
fix: correctly handle "::" in using, using namespace and typedef
2023-02-06 20:32:29 +08:00
Roy Qu
377a2c8ba8
remove debug info
2023-02-06 19:43:09 +08:00
Roy Qu
1b15f3eb1d
- fix: Parser can't correctly differentiate function and var initialization.
2023-02-06 19:37:01 +08:00
Roy Qu
6081054f89
fix: Don't expose functions who's parent can't be found in the global scope.
2023-02-06 16:50:24 +08:00
Roy Qu
4fc3900796
- enhancement: Improve parsing for operator overloading.
2023-02-06 14:04:38 +08:00
Roy Qu
7085318197
- enhancement: Auto suggest keyword "operator" when define functions.
...
- fix: Differentiate class and constructors.
2023-02-05 21:55:23 +08:00
Roy Qu
ca5916a4b1
- fix: Can't correctly handle definitions for "operator,"
2023-02-05 20:36:10 +08:00
Roy Qu
abf4a5985f
- fix: In column mode, selection that contain lines with different length will cause error.
2023-01-11 11:05:34 +08:00
Roy Qu
9a5f97cc7a
- fix: Function parameters that is pointer,reference or array can't be correctly parsed.
2023-01-11 09:51:05 +08:00
Roy Qu
b1ca0bb600
- enhancement: Import FPS (free problem set) files.
2022-12-11 19:47:43 +08:00
Roy Qu
c4a41403bc
refactor highlighters
2022-12-10 21:23:49 +08:00
Roy Qu
b4e561cf83
improve makefile highlighter
...
fix: qsortfilterproxymodel not correctly cleared when exiting and project closed.
2022-12-07 09:48:10 +08:00
Roy Qu
9f2ab0479e
minor fix
2022-12-03 11:02:33 +08:00
Roy Qu
bb2532a2ef
- change: Default value of option "Editors share one code analyzer" is ON
...
- change: Default value of option "Auto clear symbols in hidden editors" is OFF
- minor fix
2022-11-30 09:54:23 +08:00
Roy Qu
ba1e100ab4
- enhancement: support type deduce for std::pair
2022-11-29 18:30:00 +08:00
Roy Qu
a6d5da07a3
- enhancement: show compltion suggest for std::pair::first and std::pair second
2022-11-29 16:48:40 +08:00
Roy Qu
407f11aa22
fix: correctly handle For(const auto&)
2022-11-29 15:42:08 +08:00
Roy Qu
e845c7474b
correctly deduce type for stl container iterators
2022-11-29 12:17:41 +08:00
Roy Qu
0d0332aa7d
- fix: can't correctly show completion suggest for type with template parameters
...
- enhancement: correctly evaluate auto variable of stl container iterator.
2022-11-29 12:06:29 +08:00
Roy Qu
3a1bc97ca5
minor refactor
2022-11-28 11:28:02 +08:00
Roy Qu
de23833992
- enhancement: Deduce type info for "auto" in some simple cases.
...
- fix: crash when no semicolon or left brace after the keyword "namespace"
2022-11-28 08:22:48 +08:00
Roy Qu
adb3d79b60
- enhancement: Deduce type info for "auto" in some simple cases.
2022-11-27 13:32:14 +08:00
Roy Qu
b3a986f1ca
refactor: highlighter, work save
2022-11-23 12:51:23 +08:00
Roy Qu
a9c266c39a
clean up code
2022-11-16 10:29:20 +08:00
Roy Qu
6a6dc126a4
- enhancement: improve parse result for STL <random>
2022-11-12 12:14:19 +08:00
Roy Qu
b085560743
- fix: Escape suquences like \uxxxx and \Uxxxxxxxx in strings are not correctly highlighted.
...
- enhancement: Search / replace dialogs redesigned.
- fix: inline functions are not correctly parsed;
- fix: &operator= functions are not correctly parsed;
- fix: Code Formatter's "add indent to continueous lines" option is not correctly saved.
2022-11-11 21:20:57 +08:00
Roy Qu
9072e752a0
- fix: crash when alt+mouse drag selection
2022-11-10 09:16:30 +08:00
Roy Qu
052f4610ee
- fix: crash when alt+mouse drag selection
2022-11-10 09:05:34 +08:00
Roy Qu
ae7e914788
refactor code
2022-11-10 08:05:04 +08:00
Roy Qu
a1c80cc562
- fix: function pointers not correctly handle in code parser;
...
- fix: var assignment not correctly handled in code parser;
- fix: function args not correctly handled in code parser;
2022-11-09 22:26:26 +08:00
Roy Qu
bcc1b8dc09
- fix: function pointers not correctly handle in code parser;
...
- fix: var assignment not correctly handled in code parser;
- fix: function args not correctly handled in code parser;
2022-11-09 22:22:33 +08:00
Roy Qu
e0c4ba201d
- fix: Crash when editing a function at the end of file without ; or {
...
- enhancement: Add the "parsing TODOs" option in Options Dialog / Editor / Misc
- enhancement: Remove todos/bookmarks/breakpoints when deleting file from project
- enhancement: Rename filenames in todos/bookmarks/breakpoints when renaming project file
2022-11-07 21:44:12 +08:00
Roy Qu
fba7bd953c
- fix: Contents in class browser not correctly updated when close the last editor for project.
...
- fix: When all editors closed, switch browser mode dosen't correct update the class browser;
- stream line codes for project parser and close browser
2022-11-07 11:24:23 +08:00
Roy Qu
93751d1b23
- fix: When start parsing and exit app, app may crash
...
- enhancement: add "Allow parallel build" option in project option dialog's custom compile options page
- fix: crash when rename project file
- fix: When remove project file, symbols in it not correctly removed from code parser
- fix: infos in class browser (structure panel) not correctly updated when add/create/remove/rename project files
2022-11-06 22:51:14 +08:00
Roy Qu
771d0d1456
basic support for lambda
2022-11-05 18:58:15 +08:00
Roy Qu
8d9740dd57
- improve template parameters checker
...
- streamline cppparser
2022-11-05 08:42:54 +08:00
Roy Qu
ef79640eb0
work save
2022-11-04 23:44:11 +08:00
Roy Qu
585d7678d4
work save
2022-11-04 20:27:35 +08:00
Roy Qu
20917e3a8b
work save
2022-11-03 00:49:22 +08:00
Roy Qu
baab677fa1
work done: lambda support
2022-11-02 22:48:25 +08:00
Roy Qu
bd04e013de
work save
2022-11-02 13:38:26 +08:00
Roy Qu
7c7242c1a3
work save
2022-11-02 10:42:55 +08:00
Roy Qu
ca59fd7d70
work save
2022-11-01 23:23:21 +08:00
Roy Qu
ebfb631452
work save
2022-11-01 22:10:54 +08:00
Roy Qu
ab9aa75d1f
work save
2022-11-01 09:02:17 +08:00
Roy Qu
f78a4953ef
work save
2022-11-01 00:01:46 +08:00
Roy Qu
f8ab38b634
work save
2022-10-31 19:37:24 +08:00
Roy Qu
2ce732cfa5
C/C++ use differnet parser
2022-10-28 09:47:34 +08:00
Roy Qu
fcb64a69af
- fix: info not correctly update when open an editor
2022-10-24 10:58:30 +08:00
Roy Qu
09c7b5e791
fix: "." and ".." in included header paths not correctly handled
2022-10-23 23:06:55 +08:00
Roy Qu
e13217a395
- fix: headers included by project files not correctly analyzed
...
- fix: class members not correctly displayed in the class browser
- fix: when project is opened with no file opened, class browser not correctly updated
2022-10-23 21:42:11 +08:00
Roy Qu
471b3d6f26
- fix: namespace members defined in multiple places not correctly merged in the class browser
...
- fix: correctly display statements whose parent is not in the current file
- fix: statements is the class browser is correctly sorted
- enhancement: Weither double click on the class browser should goto definition/declaration, depends on the current cursor position
2022-10-23 15:22:26 +08:00
Roy Qu
012628aef3
- fix: editor & class browser not correct updated when editor is switched but not focused
...
- fix: when invalidating a c/c++ source file, statements that not declared in it are wrongly removed.
2022-10-23 10:40:00 +08:00
Roy Qu
74b250c9d2
work save
2022-10-22 22:10:35 +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
51d0f2c2aa
clean up code
2022-10-22 08:46:27 +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
Roy Qu
a62910e1a3
- fix: editor tooltip for #include_next is not correctly calculated
...
- fix: ctrl+click on #include_next header name doesn't open the right file
- enhancement: parser used for non-project C files won't find header files in C++ include folders.
2022-10-18 12:24:59 +08:00
Roy Qu
f67628863f
- fix: minor memory leaks when set itemmodels
...
- fix: thread for parsing doesn't correctly released when parsing finished ( so and the parser)
2022-10-10 18:05:18 +08:00
Roy Qu
25ac4d5048
refactor: open/create project
...
refactor: save/load project layout
2022-10-09 22:19:18 +08:00
Roy Qu
d946b9373e
refactor: clean up QSynedit
2022-09-27 14:01:38 +08:00
Roy Qu
15bbf15d38
work save
2022-09-26 12:01:45 +08:00
Roy Qu
00ea7ee773
create QSynedit namespace
2022-09-25 09:55:18 +08:00
Roy Qu
4df3ba4f14
- enhancement: don't parse all openned files when start up
...
- enhancement: don't parse files when close all and exit
2022-08-24 17:05:16 +08:00
Roy Qu
c7e8ee6072
- enhancement: don't show cpp defines when editing c files
2022-07-28 13:51:38 +08:00
Roy Qu
cd6e5719b7
fix: autolink calculation not stable
2022-06-04 14:44:50 +08:00
Roy Qu
85f3a04bcf
- fix: #define followed by tab not correctly parsed
...
- enhancement: don't auto add () when completing C++ io manipulators ( std::endl, std::fixed, etc.)
- fix: can't goto to definition of std::endl
2022-06-01 17:02:03 +08:00
Roy Qu
e3d7af019d
- fix: keyword 'final' in inhertid class definition is not correctly processed
2022-05-06 19:20:26 +08:00
Roy Qu
2056d42286
fix valgrind problems
2022-04-25 10:47:19 +08:00
Roy Qu
354f375f67
- enhancement: improve the matching of function declaration and definitions
...
- fix: research button doesn't show find in files dialog
2022-04-19 19:17:49 +08:00
Roy Qu
56c71f321f
- fix: parse error for definition of functions whose return type is pointer
2022-04-18 16:56:31 +08:00
Roy Qu
312d282501
- fix: crash when eval statements like "fsm::stack fsm;"
2022-04-17 19:49:04 +08:00
Roy Qu
5fb877b2ef
work save
2022-03-23 14:13:10 +08:00
Roy Qu
e80a92c30a
make simple functions inline
2022-03-23 12:30:58 +08:00
Roy Qu
59ada398be
work save
2022-03-22 20:04:34 +08:00
Roy Qu
fad84b23f9
work save
2022-03-22 20:03:53 +08:00
Roy Qu
6e4d36aade
- fix: disable code completion doesn't correctly disable project parser
2022-03-22 19:08:26 +08:00
Roy Qu
69ca9f3a79
fix: definite loop when show tip for rand
2022-03-16 16:36:25 +08:00
Roy Qu
47212c2716
- fix: parse error in avxintrin.h
...
- fix: infinite loop when searching for using alias
2022-03-16 16:24:39 +08:00
Roy Qu
54592276c8
- fix: wrong font size of exported RTF file
...
- fix: correct tokenize statements like "using ::memcpy";
2022-03-15 21:33:27 +08:00
Roy Qu
409091d52b
- enhancement: custome icons for project view
2022-02-13 20:08:18 +08:00
Roy Qu
d81740257a
fix: crash when there are catch block in the upper most scope
2022-02-09 20:50:01 +08:00
Roy Qu
6cbab4a646
- fix: typo error in the parser
...
- fix: typing after symbols like 'std::string' shouldn't show code completion suggestions
2022-02-07 09:53:02 +08:00
Roy Qu
771ccec745
- enhancement: code completion ui redesigned
2022-01-27 20:31:44 +08:00
Roy Qu
620bdc8266
- fix: code folding calcuation not correct when some codes are folded and editing after them
2022-01-27 18:34:18 +08:00
Roy Qu
894e587f7d
- enhancement: show parameter tips for class constructors
...
- enhancement: when there are tips showing, don't show mouse tips
2022-01-26 12:17:15 +08:00
Roy Qu
83a4277e68
- fix: static members are not correct showed after Classname + '::'
2022-01-25 16:11:16 +08:00
Roy Qu
ca9006ff4f
- fix: can't show private & protected members of 'this'
...
- fix: function name like 'A::B' is not correctly parsed
2022-01-25 13:53:55 +08:00
Roy Qu
609f611e8f
- enhancement: highlighter for GLSL (OpenGL Shading Language)
2022-01-23 23:27:48 +08:00
Roy Qu
df323d30c8
- fix: ctrl+click on the enum value will jump to the wrong line in it's definition file
...
- fix: line info in the mouse tip of statement not correct
2022-01-22 21:07:41 +08:00
Roy Qu
eefb65bcb4
- fix: parser can't correctly handle variable definitions that don't have spaces like 'int*x';
...
- fix: parser can't correctly handle function parameters like 'int *x'
2022-01-12 20:59:28 +08:00
Roy Qu
bb6a4ed9c8
qt 5.12 compatibility
2022-01-04 16:50:54 +08:00
royqh1979@gmail.com
317db42876
add license information
2021-12-26 23:18:28 +08:00
Roy Qu
33e8042944
- enhancement: use the new expression parser to implement rename symbol
...
- fix: rename symbol shouldn't remove empty lines
2021-12-19 10:16:46 +08:00
Roy Qu
41336cf31f
add a function to find statement by expression in the parser
2021-12-18 23:36:58 +08:00
Roy Qu
2de2f1e162
work save
2021-12-12 13:02:00 +08:00
Roy Qu
095a0897f2
work save
2021-12-08 21:44:40 +08:00
Roy Qu
63d0321fcf
work save
2021-12-08 19:55:15 +08:00
Roy Qu
e8644dfd0b
work save
2021-12-08 19:13:47 +08:00
Roy Qu
f10bc14f3b
work save
2021-12-07 14:48:20 +08:00
Roy Qu
8db5c531ab
work save
2021-12-07 08:23:27 +08:00
royqh1979@gmail.com
d554e6dba5
work save
2021-12-06 11:37:37 +08:00
Roy Qu
b0f608a360
work save
2021-12-06 09:02:39 +08:00
Roy Qu
3d8084c489
work save
2021-12-05 16:45:48 +08:00
royqh1979@gmail.com
4d6f78b0fc
work save
2021-12-05 10:52:17 +08:00
Roy Qu
2e54b4460d
work save
2021-12-04 18:38:54 +08:00
Roy Qu
6f8096bc27
change: redesign code completion logic
2021-12-04 10:02:07 +08:00
royqh1979@gmail.com
e60b909294
- enhancement: code completion suggestion for "__func__" variable
2021-11-17 17:18:02 +08:00
royqh1979
58ba490f32
work save
2021-11-12 07:26:13 +08:00
royqh1979
b3e5ddc94c
- enhancement: greatly reduces memory usage for symbol parsing ( memory needed for bits/stdc++.h reduced from 150m+ to 50m+)
...
- fix: currect compiler set not correctly updated when switch between normal file and project file
2021-11-12 02:20:13 +08:00
royqh1979@gmail.com
02d935fb32
- change: turn on gcc compiler's "-pipe" option by default, to use pipe instead of temp files in compiliation (and make the life of SSD longer)
...
- fix: correctly save input histories for the find combo box in the Find dialog
- add installer scripts
2021-11-05 10:44:23 +08:00
royqh1979@gmail.com
d27f8c1c50
- fix: can't parse old c-style enum variable definition like "enum Test test;"
2021-11-01 23:29:03 +08:00
royqh1979
e5e7635d1f
- change: Don't use 'pause' in the console pauser, in case of privilege problems.
...
- fix: parser use it's one keywords set , to prevent crash when exit
2021-10-30 21:15:07 +08:00
royqh1979@gmail.com
2ceb95e4cc
- fix: "tab to spaces" option in the editor general options widget doesn't work
2021-10-27 16:39:23 +08:00
royqh1979
d7cbd855ff
- fix: function declaration's parameters not correctly parsed, if it have a definition which have different parameter names
2021-10-23 16:35:36 +08:00
royqh1979
5c9ef2035e
clean up compile warnings
2021-10-20 18:05:43 +08:00
royqh1979@gmail.com
443aa541fc
- fix: can't correctly find definition of the symbols in namespace
2021-10-10 00:46:19 +08:00
royqh1979@gmail.com
3ed5701621
fix: #include_next processing
2021-10-04 22:32:34 +08:00
royqh1979@gmail.com
77e8eda8a3
- enhancement: support #include_next (and clang libc++)
2021-10-04 21:59:48 +08:00
royqh1979@gmail.com
8ebe9174bb
- implement: symbol usage count
...
- implement: user code snippet / template
- implement: auto generate javadoc-style docstring for functions
- enhancement: use up/down key to navigate function parameter tooltip
- enhancement: press esc to close function parameter tooltip
- enhancement: code suggestion for unicode identifiers
2021-10-02 15:34:18 +08:00
royqh1979
b518304f56
- implement: symbol usage count
...
work save: code snippets
2021-09-30 11:20:43 +08:00
royqh1979@gmail.com
2d393cb509
- enhancement: more charset selection in the edit menu
...
- fix: can't correctly get system default encoding name when save file
- fix: Tokenizer can't correctly handle array parameters
- fix: debug actions enabled states not correct updated when processing debug mouse tooltips
2021-09-28 22:26:12 +08:00
royqh1979@gmail.com
60759cef9b
- enhancement: support C++ using type alias;
2021-09-28 10:40:19 +08:00
royqh1979@gmail.com
6ec3cfbfca
fix: enum values no correctly displayed
2021-09-26 19:40:52 +08:00