Commit Graph

1692 Commits

Author SHA1 Message Date
Roy Qu a91dc12519 - enhancement: Reduce flicker when editing big files. 2023-02-18 07:09:19 +08:00
Roy Qu f4b239e15d - enhancement: Greatly reduce time to open/edit big files. 2023-02-17 23:56:13 +08:00
Roy Qu 4b54d3799a fix: Fold area is not correctly calculated after editing. 2023-02-17 17:33:48 +08:00
Roy Qu 9f036d0d70 - enhancement: Correctly handle high-precision mouse wheel / touchpad in editors. 2023-02-17 16:16:57 +08:00
Roy Qu dbdf098b94 - enhancement: Limit max speed for mouse scroll (and touch pad?) 2023-02-17 15:33:33 +08:00
Roy Qu 52eb2960ac - change: Remove "Compile & Run" menu item. It's replaced by "Run". 2023-02-17 09:18:39 +08:00
Roy Qu a410226f46 Don't confirm recompiler when debug single file 2023-02-17 09:11:52 +08:00
Roy Qu 8254de68c8 - enhancement: Delay for tooltips.
- enhancement: "Tool tips delay" option in Options/editor/Tooltips
2023-02-17 09:03:35 +08:00
Roy Qu 3f971b34bb - enhancement: Improve auto indent for embedding no-brace statements like for-for-if. 2023-02-16 22:27:04 +08:00
Roy Qu 885470782c - enhancement: Parser not correctly released if save a c file to non-c file. 2023-02-16 18:36:15 +08:00
Roy Qu da3bcf1c6a - enhancement: Basic code completion for xmake.lua. 2023-02-16 17:49:55 +08:00
Roy Qu 46dd637770 - enhancement: Syntaxer for lua. 2023-02-16 12:26:35 +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 1b8ff37a60 update translations 2023-02-14 23:55:23 +08:00
Roy Qu 926802a8f5 - change: Don't confirm rebuild/recompile when run/debug. 2023-02-14 23:42:11 +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 a31bc6ef17 more keywords for asm 2023-02-13 21:49:19 +08:00
Roy Qu 08fdeca219 - fix: Can't compile files with chinese characters in filenames using winlibs mingw gcc 2023-02-13 19:21:11 +08:00
Roy Qu d484c790a2 minor change 2023-02-13 11:14:28 +08:00
Roy Qu aaae910c59 - change: The default disassemble style of CPU Dialog is "AT&T" now. 2023-02-13 10:24:35 +08:00
Roy Qu 57cbf3a49a - fix: New non-saved filenames is wrongly saved in the last openfiles list.
- fix: File is parsed before editor is fully created.
  - enhancement: New GAS File in the File Menu
  - change: rename "New File" to "New C/C++ File"
2023-02-12 22:33:34 +08:00
Roy Qu 9976ee248a - enhancement: If GAS source file has "_start" label, compile it with "-nostartfiles". 2023-02-12 18:15:41 +08:00
Roy Qu 5cc52ea9f9 Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2023-02-12 18:14:02 +08:00
Roy Qu 02b64497d5 - enhancement: Keyword completion for asm/GAS files. 2023-02-12 18:13:24 +08:00
Roy Qu 382da1d747 add -nostdlib when compile assembler program that has _start 2023-02-12 15:13:04 +08:00
Roy Qu 23d5bb85b6 Linux fix 2023-02-12 14:22:45 +08:00
Roy Qu 0e3441e604 - fix: Crash when debug project that has nasm files.
- enhancement: Generate debug info for nasm files in Linux/MacOS.
  - enhancement: Compile/Run/Debug GAS source files.
  - enhancement: Compile/Debug GAS source files in project.
2023-02-12 12:53:14 +08:00
Roy Qu ff86213aee - fix: Confirm if recompile, when start to debug and project files has modifications. 2023-02-11 11:31:54 +08:00
Roy Qu 7b52eff40d - enhancement: Code folding for #if/#endif
- enhancement: When folding "if", don't fold "else";
2023-02-10 22:27:36 +08:00
Roy Qu 6b4bfc3e64 - fix: Crash when create or open txt files in project. 2023-02-10 19:28:18 +08:00
Roy Qu 78f9aa8b3c - fix: Can't correctly load project's custom compile options, if it contains more than one line contents. 2023-02-10 09:42:55 +08:00
Roy Qu f91e35192f - fix: preprocessors is not correctly suggested.
- fix: javadoc-style docstring is not correctly suggested
  - enhancement: Better syntax color for asm files.
2023-02-09 21:01:01 +08:00
Roy Qu cc1e42193d - enhancement: Add "assembler" tab in the project options dialog's custom compiler parameters. 2023-02-09 16:33:25 +08:00
Roy Qu 0b7761fbc2 - fix: Project parser should not parse non-c/cpp files. 2023-02-09 09:45:09 +08:00
Roy Qu 78ff319a75 - enhancement: Support compile asm files using nasm in the project. 2023-02-08 21:07:41 +08:00
Roy Qu 62737d6716 - fix: Correctly handle files whose name contains spaces in the generated makefile.
- fix: Correctly handle custom obj folder in the generated makefile.
2023-02-08 17:32:52 +08:00
Roy Qu d8f237a10e - enhancement: Auto reload openned project files that use "Project Default" as the encoding, when the project encoding setting is changed in the project options dialog. 2023-02-08 12:20:20 +08:00
Roy Qu 5d3a933932 - enhancement: Change the way to calculate execution time. 2023-02-07 20:27:31 +08:00
Roy Qu dd5df6912c - enhancement: Improve auto indent. 2023-02-07 19:05:39 +08:00
Roy Qu 79ed9573d6 - fix: Respect encoding "Project default" when search/find occurrencies/open project units.
- enhancement: Show progress dialog when search/find occurrencies in large projects.
2023-02-07 10:46: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 79bf453c6c - enhancement: Pause autosave timer when autosave new files. 2023-01-26 11:33:27 +08:00
Roy Qu 7b13d3a519 - enhancement: Pause autosave timer when autosave new files. 2023-01-26 11:23: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 48788a189b - enhancement: Simplified chinese translations for encoding names. 2023-01-25 10:51:59 +08:00
Roy Qu 35e3c9af8d - fix: Can't correctly set project file's encoding back to 'UTF-8'/'ANSI' in the project options dialog/files setting page. 2023-01-25 10:28:55 +08:00
Roy Qu 0ccec06f33 add project encoding 2023-01-24 11:31:30 +08:00
Roy Qu 1f491fccfd - fix: Settings in Options/Tools/General is messed up when switching items in the list.
- fix: Infos in the status bar not correctly updated when editor closed.
  - change: Project's encoding shouldn't be set to "auto detect"
2023-01-24 10:21:19 +08:00
Roy Qu 4a941b63b4 - fix: Settings in Options/Tools/General is messed up when switching items in the list. 2023-01-24 09:17:27 +08:00
Roy Qu 580a88721f - enhancement: Set lldb-mi as the debugger program for clang, when finding compiler set in folders and gdb doesn't exist. 2023-01-23 19:34:09 +08:00
Roy Qu 7d2920198e - enhancement: Use lldb-mi as the debugger.
- enhancement: Set lldb-mi as the debugger program for clang, when finding compiler set in folders.
2023-01-22 22:19:19 +08:00
Roy Qu c5331f0597 - enhancement: If there is "cppreference.chm" or "cppreference-%locale_name%.chm"(like cppreference-zh_CN.chm) in the redpanda C++'s app folder, open it instead of the cppreference website. 2023-01-20 12:17:04 +08:00
Roy Qu 22e1339b1a - enhancement: Confirm before remove a compiler set. 2023-01-20 00:08:16 +08:00
Roy Qu b0be83b006 - fix: If buttons in the options dialog / compiler / compiler set page is pressed, they won't release. 2023-01-19 23:58:56 +08:00
Roy Qu 1c8ba68b78 remove debug info 2023-01-19 20:08:22 +08:00
Roy Qu c77a25f109 - enhancement: Save project files' real encoding;
- enhancement: Use project files' real encoding information when generating the makefile.
2023-01-19 20:04:05 +08:00
Roy Qu 4456772fa7 - enhancement: Code Completion now respect compiler set's language standard settings. 2023-01-19 11:08:32 +08:00
Roy Qu 8603fa10ee - enhancement: Add "Help"/"Submit Iusses".
- enhancement: Add "Help"/"Document" for Simplified Chinese users.
2023-01-16 15:42:03 +08:00
Roy Qu 73d527318c - fix: When restored from minimization, info on statusbar not correctly restored.
- enhancement: Changes of "auto backup editing contents" is applied immediately.
  - enhancement: Don't create temp backup for readonly files.
2023-01-16 11:35:55 +08:00
Roy Qu 00c19d1f4f disable save backup 2023-01-15 17:01:54 +08:00
Roy Qu dbc9a1829c - fix: Project's file encoding is wrongly set to 'AUTO' when load project. 2023-01-15 15:57:48 +08:00
Roy Qu 0f746957a5 - fix: rename project file will wrongly set it's encoding to 'ASCII';
- fix: can't make project
2023-01-15 15:47:08 +08:00
Roy Qu 48446aab02 minor change 2023-01-15 13:54:37 +08:00
Roy Qu aa62f95cad - enhancement: Auto backup editing contents. (Save editing contents 3 seconds after input stopped. Auto delete when editor successfully closed)
- enhancement: Add "Auto backup editing contents" option in options/editor/auto save
2023-01-15 13:32:33 +08:00
Roy Qu edeb47d2c2 Let user choose if continue to save, if backup file creation failed. 2023-01-15 09:43:54 +08:00
Roy Qu ac20a2c458 - enhancement: Create a temporary copy of the current file when saving files (it's removed after the saving sucessfully finished). 2023-01-14 22:52:04 +08:00
Roy Qu 6072944c23 - fix: Save may crash app if the encoding codec is failed to load.
- enhancement: support open and save utf-16/utf-32 BOM files. (but gcc can't compile)
2023-01-14 21:51:55 +08:00
Roy Qu d8fae209c6 - enhancement: set caret to the corresponding line in the editor after "run"/"generate assembly"
- fix: syntax highlighting for cpp style line comment is not correct.
2023-01-12 21:58:04 +08:00
Roy Qu 7503f553fc update version to 2.9 2023-01-12 17:00:46 +08:00
Roy Qu ea26548835 - enhancement: Add "Open files in editor" in the search panel
- enhancement: Auto disable the "in project" option in the "search in files" dialog, if no project is opened.
  - enhancement: Auto disable the "search again" button in the search panel if the current search history item is search in the project, and no project is opened.
2023-01-12 16:53:00 +08:00
Roy Qu 93a37a2bc6 rename symbol/batch replace correctly support undo 2023-01-12 13:46:09 +08:00
Roy Qu bc1b22ad25 - enhancement: Rename symbols won't remove all breakpoints/bookmarks
- enhancement: Batch replace won't remove all breakpoints/bookmarks
  - enhancement: Execute parameters can be used in debug.
2023-01-12 12:07:22 +08:00
Roy Qu 06a528313d refactor 2023-01-11 17:06:32 +08:00
Roy Qu 1761c66456 refactor 2023-01-11 16:22:26 +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 5f75fd97cd - fix: Result of scope calculation not right if a for statement immediately follows another for statement. 2023-01-10 19:08:49 +08:00
Roy Qu 7324475277 - fix: alt+shift+left/right can't select
- fix: Input any content will exit column mode.
2023-01-10 16:52:39 +08:00
Roy Qu d75ffef9bb - fix: Can't save new file using filename with custom suffix. 2023-01-07 20:29:57 +08:00
Roy Qu 2ab5efc6fe - fix: "Goto declaration" / "Goto definition" / "Find occurences" not correctly disabled for non-c/c++ files. 2023-01-07 20:04:51 +08:00
Roy Qu 32088a18d0 - change: Disable undo limit by default. 2023-01-06 11:59:21 +08:00
Roy Qu b01a51ab91 - enhancement: Print current selection can be used in the print dialog.
- enhancement: Print syntax colored content.
  - enhancement: Correctly handle tab in the exported RTF.
2023-01-06 11:41:04 +08:00
Roy Qu 17160b7c3d - enhancement: Print current selection can be used in the print dialog. 2023-01-05 18:38:36 +08:00
Roy Qu 89ee9d8914 - fix: Crash when find occurrences in a project that has missing files.
rename FileEndType to NewlineType
2023-01-04 11:01:34 +08:00
Roy Qu 4f2fb8f540 - enhancement: Let encoding options in the statusbar more explicit.
change FileEndingType names
  applySettings shouldn't be called every time show event triggered.
2023-01-04 09:08:58 +08:00
Roy Qu f179f45cd9 - fix: Restore main window and cpu info window will set wrong font in the cpu info. 2023-01-03 22:34:38 +08:00
Roy Qu 562293c05d - enhancement: Waiting for syntax parsers to finish before saving files, to prevent data lost caused by syntax parsering crash. 2023-01-03 21:43:45 +08:00
Cyano Hao 375e990e0b
Add more Linux packaging format (#89)
* Arch Linux packaging; make LIBEXECDIR configurable

* update docs

* resolve libexec and share from relative path

* AppImage packaging

* allow build AppImage on Windows host
2023-01-03 12:18:02 +08:00
Roy Qu 9296877b86 - enhancement: "Toggle readonly" in the Edit menu.
- fix: Error When save project units' encoding settings.
2023-01-02 16:50:30 +08:00
Roy Qu 96f9a898d0 - enhancement: "Switch Header/Source" in editor title bar context menu. 2023-01-01 08:32:33 +08:00
Roy Qu 0caaad8436 - fix: Action "Run all problem cases" is triggered twice by one clicked. 2022-12-31 09:36:50 +08:00
Roy Qu 2041f813de - fix: Can't set project icon to "app.ico" in the project folder, if the project doesn't has icon.
- fix: Resource compilation items is missing in the auto generated makefile, if the project's icon is removed and re-added.
2022-12-30 19:48:12 +08:00
Roy Qu babecbd3bc change "ConsolePauser.exe" to "consolepauser.exe" in all codes 2022-12-30 09:06:39 +08:00
Roy Qu dd92cfa6da - enhancement: "Run" / "Generate Assembly" for project source files 2022-12-28 16:39:18 +08:00
Roy Qu bcb6069fe3 - fix: Crash while input using input method in makefile 2022-12-28 09:24:54 +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 022f32a95f minor optimization 2022-12-27 13:26:16 +08:00
Roy Qu 988afaac7a - enhancement: Add "Resources" in project option's dialog's custom compiler parameter page 2022-12-26 22:55:00 +08:00
Roy Qu bd4478476d - fix: Crash when editing makefile 2022-12-26 18:20:26 +08:00
Roy Qu 52ed2b79f7 auto remove a.out generead by tcc 2022-12-25 12:01:51 +08:00
Roy Qu 0af113e2a1 auto remove a.exe generated by tcc 2022-12-25 12:00:09 +08:00
Roy Qu 151e5a6edc minor change 2022-12-24 12:09:28 +08:00
Roy Qu 84b09fe842 - enhancement: "Convert HTML for - Input" / "Convert HTML for - Expected" in "Options" - "Executor" - "Problem Set"
- fix: Unit for memory limit is not correctly loaded when open problem properties dialog.
  - enhancement: Auto open the properties dialog, after add a new problem.
2022-12-24 12:08:13 +08:00
Roy Qu 0ce717841b minor change for new project dialog 2022-12-23 09:52:10 +08:00
Roy Qu dde47e0226 - fix: Makefile error when "Use precompiled header" is enabled in the project option dialog. 2022-12-22 22:01:55 +08:00
Cyano Hao 7fcd73abfc
Disable Address Sanitizer on non-x86 64-bit Linux (#87)
* disable ASan on non-x86 64-bit linux

* add "debug with ASan" compiler set

* set default compiler set back to "debug"

* enable ASan compiler for linux only

* default to "debug with ASan" on x86-64 or 32-bit, "debug" for others
2022-12-21 19:35:38 +08:00
Roy Qu 4cb432da74 Improve the layout of the makefile auto generated. 2022-12-21 09:17:27 +08:00
Roy Qu e232ce77c9 - enhancement: Auto add "lib" to the output of static/dynamic library projects, if project name don't start with "lib". 2022-12-21 09:15:39 +08:00
Roy Qu 892b987894 - enhancement: "Line Spacing" in options / editor / font
- enhancement: "Show whitespaces" in options / editor / font
2022-12-20 20:38:02 +08:00
Roy Qu ed89690f7a - fix: Icon size not correct under macOS high DPI / zoom factor settings.
- enhancement: "Icon zoom" in options / environment / appearance
2022-12-20 11:01:04 +08:00
Roy Qu 0e9278e98a qt 5.11 compatibility 2022-12-19 09:35:48 +08:00
Roy Qu 7196413dbc update translations 2022-12-19 09:06:40 +08:00
Roy Qu b499a1ab44 translation 2022-12-19 08:51:53 +08:00
Roy Qu ea924d8742 update translations 2022-12-19 08:50:40 +08:00
Roy Qu 3eb393c5b7 add translations 2022-12-19 08:48:17 +08:00
Roy Qu 1da2961970 - fix: Project's "static link" option is overwrited by global compiler set settings, when project options dialog is opened. 2022-12-18 12:31:19 +08:00
Roy Qu fc07b4dcd4 - enhancement: Don't add "-g3" option when generate assembely.
- enhancement: Generate assembly is not correctly disabled when current file is not C/C++.
2022-12-17 17:20:33 +08:00
Roy Qu efc7af7f46 - enhancement: Run all cases button not correct disabled when no case exits. 2022-12-17 13:40:13 +08:00
Roy Qu 4b9e51a925 refactor: tool buttons for problem & cases 2022-12-17 13:34:11 +08:00
Roy Qu 88449a5381 refactor: context menus
refactor: tool buttons for problem and problem set
2022-12-17 11:37:33 +08:00
Roy Qu d2a2002629 fix: Compiler buttons not correctly disabled for non-c/c++ files 2022-12-16 18:31:48 +08:00
Roy Qu 68f4dcec3f fix: compile buttons not correctly disabled when no file opening. 2022-12-16 18:27:10 +08:00
Roy Qu 07f6b975f1 fix: auto find compilers failed. 2022-12-16 16:36:59 +08:00
Roy Qu d60febaac8 - enhancement: Export FPS (free problem set) files. 2022-12-16 15:54:02 +08:00
Roy Qu f4ca71803f work save 2022-12-16 14:41:24 +08:00
Roy Qu 492345b939 - enhancement: "Trim trailing spaces" in code menu
- change: Don't auto disable compile and debug buttons.
  - enhancement: Better error messages for missing compile/debug/make programs.
  - enhancement: "Show special chars" in options / editor / font
  - fix: Lost compiler set settings if a compiler set's bin dirs is empty.
  - enhancement: Better error message when trying to debug with Release compile set.
2022-12-16 11:10:46 +08:00
Roy Qu 7ddc30967d Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2022-12-16 09:10:57 +08:00
Roy Qu b6b046b0e2 warning user when make program no exists. 2022-12-16 09:10:39 +08:00
Roy Qu ff336ad5c3 work save 2022-12-16 01:44:20 +08:00
Roy Qu 16db14e761 - enhancement: "Remove trailing spaces" in options / editor / misc
- enhancement: show special chars
2022-12-16 01:03:57 +08:00
Roy Qu 4985191120 - enhancement: Remove multiple problems in the problem set view
- enhancement: Clear the proble view after a new problem set created
2022-12-15 16:33:17 +08:00
Roy Qu 02e6748db5 - fix: Buttons in options -> compiler -> compiler set -> programs are not usable.
- enhancement: Don't check existence of gcc/g++/make/gdb at startup.
  - enhancement: Auto disable "compile" button if gcc doesn't exist.
  - enhancement: Auto disable "debug" button if gdb doesn't exist.
  - enhancement: Auto disable "compile" button for project if make doesn't exist.
2022-12-13 15:58:27 +08:00
Roy Qu e81c08d6c8 refactor: correct var name 2022-12-13 12:40:54 +08:00
Roy Qu ea3b4ea8e5 - enhancement: Show memory usage after console program exited.
- fix: If clang and g++ are in the same folder, only the compiler sets for gcc are auto generated.
2022-12-13 12:36:16 +08:00
Roy Qu e37759b977 add memory usage info for console runner 2022-12-13 09:46:16 +08:00
Roy Qu 2520ddf8f5 - enhancement: Show memory usage for problem cases. 2022-12-13 08:49:20 +08:00
Roy Qu 325fe71567 simplify isTarget64Bit 2022-12-11 22:43:23 +08:00
Roy Qu 79931d73d5 Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2022-12-11 22:37:56 +08:00
Roy Qu 800d4c9e07
Merge pull request #83 from CyanoHao/aarch64-support
Handle non-x86 64-bit targets
2022-12-11 22:37:39 +08:00
Roy Qu 67f0e4dee2 support "url" in fps file 2022-12-11 21:46:51 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Cyano Hao 23af39395e check 64-bit by comparing with a specific list 2022-12-11 18:22:44 +08:00
Roy Qu c4a41403bc refactor highlighters 2022-12-10 21:23:49 +08:00