Commit Graph

349 Commits

Author SHA1 Message Date
Cyano Hao ca13548ba0
Terminal arguments fix and cleanup (#138)
* fix linux build error

* Linux packaging: remove Alacritty from AppImage

* limit APP_DIR trick to Windows only

* implement Windows search path

* fix terminal search
2023-09-25 10:15:07 +08:00
Roy Qu 78f00febbc - fix: Custom compile options is not used when retrieve macros defined by the compiler. 2023-09-24 08:55:10 +08:00
Roy Qu 8edbe5e9be update translations 2023-09-21 17:02:13 +08:00
Roy Qu 8ea94b3e26 minor change 2023-09-21 16:37:22 +08:00
Roy Qu 7b5fa255da Redesign terminal settings 2023-09-21 16:31:22 +08:00
Roy Qu 9557dd8378 minor fix and clean up 2023-09-21 12:52:56 +08:00
Roy Qu f145e87962 Autoset terminal options if not setted before. 2023-09-21 12:19:17 +08:00
Roy Qu 1e645d7770 Improvement of terminal support 2023-09-21 08:17:07 +08:00
Cyano Hao 52c5ea4caf
improve custom terminal settings (#137)
- custom terminal on Windows now require explicit enablement
- customizable terminal arguments pattern and its auto detection
- move hard-coded terminals to resource files
2023-09-20 10:52:54 +08:00
Roy Qu eb1a86a4a8 minor clean up 2023-09-06 07:12:22 +08:00
Cyano Hao 7cf5d21b48
Add runner args abstraction and fix shm on macOS/BSD (#134)
* add runner args abstraction to allow different args patterns in various terminal apps; fix macOS shm IPC

* extend platform support from Linux to XDG desktop

* update build docs for Unix

* improve terminal args pattern migration for macOS
2023-09-05 19:14:08 +08:00
Roy Qu 9bc5203a93 - fix: Can't find other compilers that in the same folder with gcc. 2023-08-20 21:38:26 +08:00
Roy Qu 4be629727d - enhancement: 3 compare mode for problem cases. 2023-08-19 18:01:16 +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 72883cf8fb streamline codes 2023-08-15 10:57:03 +08:00
Roy Qu bbdefc4af0 - fix: Can't suggest header filename starting with numbers. 2023-08-14 22:37:34 +08:00
Roy Qu fbef3b4f29 minor change 2023-08-14 19:56:56 +08:00
Roy Qu b16a85d033 - Retrieve sdcc predefined macros (hacking).
- Stop compiling if ihx file is not correct created.
 - Run/Debug/Generate assembly actions are correctly diabled.
2023-08-14 12:22:24 +08:00
Roy Qu bfc1b03ae3 use sdcc to create hex/bin files 2023-08-13 18:53:48 +08:00
Roy Qu 707358817c - enhancement: Autowrap tool output text. 2023-08-13 15:41:17 +08:00
Roy Qu d2b0653504 - enhancement: Autowrap tool output text. 2023-08-13 15:10:33 +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 496421e97d - fix: Wrong compiler settings if xcode is not installed in mac os.
- enhancement: Name for new files will not be different from files openned.
2023-08-11 17:09:30 +08:00
Roy Qu 12f4b3ee9c - fix: Wrong compiler settings if xcode is not installed in mac os. 2023-08-11 16:26:03 +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 3a8e434399 - change: Git support is disabled in the distributed buildings. 2023-08-08 14:41:23 +08:00
Roy Qu dfbdf604fb - fix: Filename in the gcc 13.1 error messages when building project is using wrong encoding. 2023-08-08 12:44:46 +08:00
Roy Qu 9076fb6ab9 refactor: fix typos 2023-07-25 09:41:20 +08:00
Roy Qu 2c999dd8ed try to invoke set print characters when gdb starts 2023-07-14 08:30:21 +08:00
Roy Qu d629a496ff - fix: Shouldn't auto indent lines starts with "\\".
- enhancement: When problem case's expected output is not too large (<= 5000 line), highlight text in the first different line in the expected output.
  - enhancement: Highlight text in the first different line using the error color.
  - enhancement: Add the option "redirect stderr to the Tools output panel" in the options dialog -> executor -> problem set page.
2023-07-12 12:08:26 +08:00
Roy Qu adcaba29d0 windows'c gcc default to mingw-w64 gcc 2023-06-25 08:53:21 +08:00
Roy Qu 8deb40f9f5 - change: The option "Check for stack smashing attacks (-fstack-protector)" is turned off by default in the Debug compiler set settings. 2023-04-07 09:55:35 +08:00
Roy Qu 7bc4365573 - change: Remove the compiler set option "Syntax error when object larger than" 2023-04-04 08:27:22 +08:00
Roy Qu 68caa885bb - change: Default max function frame size is 2MB under windows / 8MB others. 2023-04-01 11:41:46 +08:00
Roy Qu 7a64538982 - change: Change compiler set option "Syntax error when object larger than" to "Syntax error when function frame larger than"
- fix: Projects created by some templates are not correct when editor's default encoding is not utf8.
2023-03-31 17:39:08 +08:00
Roy Qu b4b41e43a1 - enhancement: Add option in the debug settings, to limit the length of the ouput generated by gdb for arrays. 2023-03-17 08:47:05 +08:00
Roy Qu a8695a96d0 - enhancement: Options in compiler set settings, to generate protection code for stack smashing attack. (Enable for Debug settings by default)
- enhancement: Options in compiler set settings, to enable address sanitizer. Not available in windows.(Enable for Debug settings by default)
2023-03-14 10:02:23 +08:00
Roy Qu 99ca9796b1 fix typos. 2023-03-13 22:00:55 +08:00
Roy Qu 436a047821 - enhancement: Options in compiler set settings, to generate syntax error for large stack objects. 2023-03-13 21:57:15 +08:00
Roy Qu aaac2bfcf7 - enhancement: Warn user and stop compile if project has missing files.
- enhancement: Warn user when exit and save settings failed.
2023-03-12 09:19:02 +08:00
Roy Qu 3b56bab68b refactor: Don't implement custom indent options for C/C++ for now. 2023-03-09 21:08:08 +08:00
Roy Qu 45578a2603 refactor: formatter interface for qsynedit 2023-03-09 20:35:15 +08:00
Cyano Hao bdfa4c066b
Linux package: bundled terminal in AppImage and minor adjustment (#104)
* AppImage: build Alacritty with from-scratch build environment

* enrich compatible terminal list; fix Linux terminal determination

* Linux: get rid of libicu
2023-03-04 18:44:39 +08:00
Roy Qu da3dda97e3 - enhancement: Add "Close window" and "Move to other view" in the "Window" menu
- enhancement: Auto open CPU info dialog, if the program in debug is stopped at a position that have no source file.
  - enhancement: "add watchpoint" when debug. It's hitted when the watch variable is modified, or it's out of scope.
  - enhancement: Switch current call stack frame in the CPU info dialog
  - fix: Shouldn't try evaluate value of the selection in the cpu info dialog.
  - enhancement: Show oct/bin/bin value in the memory view's tooltip.
  - Don't set optimization level to -Og in the Debug compiler set. (Some variable can't be view in the memory view, because they are put in registers.)
2023-03-03 17:20:33 +08:00
Roy Qu 683331e848 - change: Set optimization level to -Og for Debug compiler settings by default. 2023-03-01 21:45:17 +08:00
Roy Qu 7943801f91 - emhancement: Improve display of disassembled codes in the cpu info dialog. 2023-03-01 20:28:00 +08:00
Roy Qu 78739e388a - enhancement: Add "Languages" page group in the options dialog.
- enhancement: Add "ASM Generation" page in the options dialog.
  - change: Move "Custom C/C++ keywords" from group "Editor" to "Lanauges" in the options dialog.
  - change: Rename "Folder" page to "Folder / Reset default settings" in the options dialog.
  - enhancement: Generate asm with/without SEH directives.
  - enhancement: Generate asm using intel style/att style.
  - enhancement: make description for jump/cmov/setb instructions more explicit. (used for signed or unsigned)
2023-02-28 10:49:50 +08:00
Roy Qu 5bef664106 - fix: Search dialog shouldn't have "confirm when replace".
- change: Default value for the debugger debugger panel "memory view's columns" is changed from 8 to 16.
  - change: Default value for the debugger debugger panel "memory view's rows" is changed from 8 to 16.
  - enhancement: Display hex value as ascii chars in the debugger panel memory view tab.
2023-02-25 21:42:30 +08:00
Roy Qu 8ad1915acd - change: Don't stop debug when breakpoint can't be set 2023-02-22 10:39:20 +08:00
Roy Qu 457e84f86a - Enhancement: Correctly init panel sizes when first run. 2023-02-21 09:47:59 +08:00
Roy Qu 24734bfb28 - enhancement: If executable doesn't have symbol table, inform user and stop.
- enhancement: If breakpoint is setted but executable doesn't have debug info ,inform user and stop.
  - enhancement: If current compiler set has "strip addition infos(-s)" enabled, inform user and stop.
2023-02-18 12:08:03 +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 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 aaae910c59 - change: The default disassemble style of CPU Dialog is "AT&T" now. 2023-02-13 10:24:35 +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 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 1c8ba68b78 remove debug info 2023-01-19 20:08:22 +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 dbc9a1829c - fix: Project's file encoding is wrongly set to 'AUTO' when load project. 2023-01-15 15:57:48 +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 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 32088a18d0 - change: Disable undo limit by default. 2023-01-06 11:59:21 +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 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
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 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 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 07f6b975f1 fix: auto find compilers failed. 2022-12-16 16:36:59 +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 16db14e761 - enhancement: "Remove trailing spaces" in options / editor / misc
- enhancement: show special chars
2022-12-16 01:03:57 +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 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
Cyano Hao 23af39395e check 64-bit by comparing with a specific list 2022-12-11 18:22:44 +08:00
Cyano Hao 1983efdd2f handle non-x86 64-bit targets 2022-12-10 12:00:57 +08:00
Roy Qu 77942999d5 - enhancement: Use asm highlighter in cpu window
- fix: "AT&T" radio button not correctly checked in cpu window
  - enhancement: Remove blank lines in the register list of cpu window.
  - fix: Cpu window's size not correctly saved, if it is not closed before app exits.
  - fix: Can't restore cpu window's splitter position.
2022-12-02 10:19:03 +08:00
Roy Qu f9fb966c38 - enhancement: Add "Generate Assembly" in "Run" Menu
- enhancement: Improve highlighter for asm
2022-12-01 22:10:44 +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 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 8788e950dd - enhancement: show completion suggest for "namespace" after "using"
- fix: MinGW-w64 gcc displayed as "MinGW GCC"
2022-11-25 10:01:10 +08:00
Roy Qu e352ef345c - change: Default value of option "Editors share one code analyzer" is ON if available physical memory <= 32G
- change: Default value of option "Auto clear symbols in hidden editors" is ON if number of CPU cores > 8 and "Editors share one code analyzer" is on
  - refactor qsynedit's highlighter, work save
2022-11-23 11:41:16 +08:00
Roy Qu d86e93dc35 - enhancement: Options -> editor -> custom C/C++ type keywords page 2022-11-22 15:14:05 +08:00
Roy Qu edfd09191c - change: the default value for UI font size : 11
- change:  the default value for add leading zeros to line numbers : false
2022-11-12 10:56:57 +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 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 01c1e96aeb - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set
- fix: Changes mainwindows's compiler set combobox not correctly handled for project
  - change: Don't localize autogenerated name for new files and new project (new msys2 gcc compiler can't correctly handle non-ascii chars in filenames)
2022-10-30 11:58:42 +08:00
Roy Qu 819d217708 - change: Don't turn on "Show some more warnings (-Wextra)" option by default for DEBUG compiler set 2022-10-29 20:51:31 +08:00
Roy Qu 662990e997 fix linux compatibility 2022-10-28 08:40:46 +00:00
Roy Qu e987959551 - add default autolink for fmtlib in Windows
- reduce size of the executable of win-git-askpass tool
  - fix: memory size not correctly calculated when check if share parser.
  - fix: c/c++ file use different parser for share.
2022-10-28 12:43:47 +08:00
Roy Qu 2ce732cfa5 C/C++ use differnet parser 2022-10-28 09:47:34 +08:00
Roy Qu 833be397b0 - enhancement: add "editors share one code parser" in "options" / "editor" / "code completion", to reduce memory usage.
Turned off by default on PCs with memory > 4G; Force turned on PCs with memory < 1G.
  - enhancement: add "goto block start"/"goto block end" in "Code" menu
2022-10-27 15:18:57 +08:00
Roy Qu cab0c8ca24 - enhancement: add "auto reformat when saving codes" in "Options" / "Editor" / "Misc" (off by default)
- enhancement: use "todo" and "fixme" as the keyword for TODO comments
2022-10-25 10:13:51 +08:00
Roy Qu f20a979885 fix : issues tab hidden 2022-10-24 20:06:12 +08:00
Roy Qu 55b63a4f95 - enhancement: refresh project view for git status won't redraw project structure
- enhancement: auto save project options after the compilerset option for project resetted
  - enhancement: "." and ".." in paths of issues not correctly handled
  - enhancement: auto locate the last opened file in the project view after project creation
  - enhancement: separate compiler's language standard option for C / C++
  - fix: compiler settings not correctly handled when create makefile
2022-10-24 19:23:43 +08:00