Commit Graph

294 Commits

Author SHA1 Message Date
Roy Qu 7a8a239dfc - fix: Reformat code when select contents in column mode will mess up the document.
- enhancement: Add "save as" icon to the toolbar.
  - enhancement: Use key sequences as shortcut to actions in the options dialog's environment->shortcut page.
  - change: Use ctrl+shift+S as the shortcut for "save as".
  - change: Use ctrl+K,ctrl+S as the shortcut for "save all".
2023-03-25 10:16:49 +08:00
Roy Qu 9cfc892e3f add comment 2023-03-24 18:25:21 +08:00
Roy Qu 584b970aec fix: last line not removed when it's not used in the Drag&Drop 2023-03-24 18:24:48 +08:00
Roy Qu 6be2b79e01 - enhancement: Drag the selection beyond the end of the document, and move/copy it beyond the last line. 2023-03-24 18:09:23 +08:00
Roy Qu 0730aa6c22 - enhancement: Drag the selection beyond the end of the document, and move/copy it beyond the last line.
- enhancement: Open Containing folder will auto select the file in windows file explore.
2023-03-23 22:33:04 +08:00
Roy Qu 0fdac532b2 - fix: Crash when drag the selection beyond the end of the document. 2023-03-23 17:04:23 +08:00
Roy Qu 6eded18fd6 - fix: Crash when drag the selection beyond the end of the document. 2023-03-23 15:56:07 +08:00
Roy Qu e9247f6476 - fix: Can't undo & save after copy by drag with mouse. 2023-03-10 09:12:22 +08:00
Roy Qu 45578a2603 refactor: formatter interface for qsynedit 2023-03-09 20:35:15 +08:00
Roy Qu 3a0d3f684a - enhancement: If no selection, Ctrl+C (Copy) auto selects the current line and put the cursor to the beginning. 2023-03-09 11:19:57 +08:00
Roy Qu 79b3f91006 - enhancement: Shift+Up in the first line will expand selection to the beginning of the line.
- enhancement: Shift+Down in the last line will expand selection to the end of the line.
2023-03-09 10:33:37 +08:00
Roy Qu 9c04759602 - enhancement: Syntax color support for binaray integer literals.
- enhancement: Syntax color support for suffix in integer/float literals.
2023-03-08 13:23:47 +08:00
Roy Qu d295ff8d11 remove null deleter 2023-03-07 17:18:35 +08:00
Roy Qu ff109d5b58 stream line c/c++ number syntax color processing 2023-03-06 08:23:26 +08:00
Roy Qu 27d993e500 - fix: Hex number with 'f' in not is not correctly colored. 2023-03-05 18:08:08 +08:00
Roy Qu 00431c0979 fix qt 5.12 compatibility 2023-03-04 11:51:27 +00:00
Roy Qu b82336e176 - enhancement: Add X86_64 AVX/AVX instruction descriptions to asm syntaxer.
- enhancement: Update to the newest x86 Assembly manual.
2023-03-04 12:47:49 +08:00
Roy Qu 989f1a892d - fix: Hex float point literal is not correctly colored. 2023-03-03 18:11:06 +08:00
Roy Qu c96209cc42 - fix: Icons for buttons in the cpu info dialog is not correctly set.
- enhancement: Add cfi directives for asm syntaxer in linux.
2023-03-01 19:39:09 +08:00
Roy Qu 68dea2c86a add cfi directives for asm syntaxer 2023-03-01 18:03:14 +08:00
Roy Qu d3fde7ab53 - change: Merge search and replace to one dialog.
- fix: Search dialog's "Match whole word" option doesn't work with "Use Regular expresion".
  - fix:Search dialog's "Close after search" option doesn't work.
  - change: Fill the search dialog with the current selection if it's available.
2023-02-28 16:17:56 +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 6f9a8f552f update description for cmov/set byte/jump instructions 2023-02-28 09:06:53 +08:00
Roy Qu ca0e1b5593 work save 2023-02-27 20:08:24 +08:00
Roy Qu cc7106b4ab work save 2023-02-27 10:41:46 +08:00
Roy Qu c9bb03350d - enhancement: Show descriptions mouse tip for assebmly instructions. (editor / cpu info dialog)
- fix: When completing resigter names, an extra '%' is wrongly added.
2023-02-26 17:50:03 +08:00
Roy Qu 511b6c679b - enhancement: Auto close other search/replace dialogs when start to search/replace.
- change: Remove "prompt when replace" in the replace.
  - fix: Search/replace with regex is not correctly handled.
2023-02-26 08:31:13 +08:00
Roy Qu 12983f5ae0 - fix: Word on the last line's end can't be searched. 2023-02-25 22:30:34 +08:00
Roy Qu e5c6ea1a43 - Enhancement: New file templates for C / C++ / GAS files 2023-02-22 22:18:21 +08:00
Roy Qu 96aa836040 - enhancement: Auto create project custom executable folder if not existing. 2023-02-18 12:54:28 +08:00
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 766bf62c04 show "..." instead of "...}" when folding #if/#endif 2023-02-17 18:29:23 +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 fcd086ebb5 - enhancement: Show "..." instead of "...}" when folding #if/#endif 2023-02-17 15:47:53 +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 a8d9550632 - enhancement: Toggle comment for asm/makefile/lua files. 2023-02-17 07:40:12 +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 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 0bedb63fa2 - fix: Wrong selection position after delete in column mode. 2023-02-15 20:49:42 +08:00
Roy Qu 6068f70d61 - enhancement: New "Hello GAS" and "GAS and C" templates for linux and win64. 2023-02-15 17:50:14 +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 a31bc6ef17 more keywords for asm 2023-02-13 21:49:19 +08:00
Roy Qu d484c790a2 minor change 2023-02-13 11:14:28 +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 02b64497d5 - enhancement: Keyword completion for asm/GAS files. 2023-02-12 18:13:24 +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 a6cae34a99 add more keywords for asm syntaxer 2023-02-11 15:46:51 +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 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 aac17beb85 fix: folding range calculation error when open file 2023-02-08 10:23:34 +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 48788a189b - enhancement: Simplified chinese translations for encoding names. 2023-01-25 10:51:59 +08:00
Roy Qu 0ccec06f33 add project encoding 2023-01-24 11:31:30 +08:00
Roy Qu e1e60d2f64 qt 5.12 compatibility 2023-01-15 13:38:36 +00: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 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 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 a80b9b855b linux compatibility 2023-01-11 16:31:39 +08:00
Roy Qu feb93ced5a refactor 2023-01-11 16:23:19 +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 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 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 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 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 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 13f0be3154 - fix: Crash when scroll file which has more than 65535 lines.
- fix: Can't scroll to lines greater than 65535.
2022-12-14 09:20:53 +08:00
Roy Qu 4093f29ac4 - Fix: Crash when scroll file which has more than 65535 lines. 2022-12-14 09:12:37 +08:00
Roy Qu b1ca0bb600 - enhancement: Import FPS (free problem set) files. 2022-12-11 19:47:43 +08:00
Roy Qu d07e9aeda0 remove no use code 2022-12-10 21:48:36 +08:00
Roy Qu c4a41403bc refactor highlighters 2022-12-10 21:23:49 +08:00
Roy Qu d0732b9989 refactor highlighters 2022-12-10 20:58:04 +08:00
Roy Qu 81d88fb5bd work save: refactor Highlighter 2022-12-10 20:45:13 +08:00
Roy Qu 51743799c8 refactor Highlighters 2022-12-10 20:41:07 +08:00
Roy Qu 5d0c49a0bc refactor: block start / end calculation 2022-12-10 18:48:48 +08:00
Roy Qu 263cece0ce import makefile highlighter 2022-12-08 10:46:39 +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 8af963579a - enhancement: Highlighter for makefiles 2022-12-06 22:51:59 +08:00
Roy Qu 9f2ab0479e minor fix 2022-12-03 11:02:33 +08:00
Roy Qu dcc7011d0c minor refactor 2022-12-02 21:01:48 +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 378cdeefd2 work save 2022-11-23 14:57:26 +08:00
Roy Qu b3a986f1ca refactor: highlighter, work save 2022-11-23 12:51:23 +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 82564239b9 - enhancement: project's custom compile include/lib/bin directory is under folder of the app, save them using the path relative to the app 2022-11-16 09:24:42 +08:00
Roy Qu ed8b0a4c55 - enhancement: new color scheme Monokai (contributed by 小龙Dev)
- enhancemnet: add "Reserve word for Types" item in color scheme
2022-11-14 11:56:38 +08:00
Roy Qu 58c9d686ce remove redundant code 2022-11-11 23:05:03 +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 1dbc0972ab - fix: Escape suquences like \uxxxx and \Uxxxxxxxx in strings are not correctly highlighted. 2022-11-11 09:00:06 +08:00
Roy Qu ca9976e9e0 - enhancement: Use relative paths to save project settings
- fix: Layout for project options dialog's general page is not correct.
  - fix: modifitions in the project options dialogs's dll host page is not correctly saved.
  - enhancement: In the project options dialog, autoset the default folder in the openning dialog when choosing file/directory paths.
2022-11-10 14:47:44 +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 0c28725fae minor change 2022-11-06 14:11:34 +08:00
Roy Qu 7b290f4e44 - fix: Memory usage of undo system is not correctly calculated
- fix: Set max undo memory usage to 0 don't really remove limit of undo
  - fix: Set max undo times to 0 don't really remove limit of undo
2022-11-06 14:07:14 +08:00
Roy Qu 20917e3a8b work save 2022-11-03 00:49:22 +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 0c1402a386 - change: remove "Optimize for the following machine" and "Optimize less, while maintaining full compatibility" options in the compiler setting panel, which are obseleted.
- change: escape spaces in the executabe path under linux.
2022-10-29 17:21:38 +08:00
Roy Qu 054a99b690 msvc compatibility 2022-10-28 16:34:26 +08: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 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 04e11dbc3b - fix: selection's position not correctly set after input a char / insert string (and causes error under OVERWRITE mode) 2022-10-26 19:40:34 +08:00
Roy Qu 5bd8fedb2b - fix: Correctly set file's real encoding to ASCII after saving 2022-10-26 16:23:34 +08:00
Roy Qu 6d2ce9035d - reduce memory usage when deciding file types
- 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
2022-10-24 17:23:37 +08:00
Roy Qu fcb64a69af - fix: info not correctly update when open an editor 2022-10-24 10:58:30 +08:00
Roy Qu be0c9ad4f5 - fix: save/load bookmark doesn't work 2022-10-23 00:39:24 +08:00
Roy Qu 411c740d24 fix: '::' not correctly highlighted 2022-10-21 15:46:57 +08:00
Roy Qu 1301168135 - change: add/remove/new project file won't save all openned project files.
- fix: save all project files shouldn't trigger syntax check in inactive editors
2022-10-21 12:43:02 +08:00
Roy Qu 5d5f7027af minor fix: uninitialized variables 2022-10-21 10:14:46 +08:00
Roy Qu 8e771bd322 minor change 2022-10-21 09:07:32 +08:00
Roy Qu 98f4766ffd - fix: index out of range in cpp highlighter
- fix: memory leak in code folding processing
2022-10-19 22:54:08 +08:00
Roy Qu fc8e37d55e fix: circular reference in codefolding 2022-10-19 21:29:23 +08:00
Roy Qu 543b76dca6 fix: index out of range in cpp highlighter 2022-10-19 20:16:26 +08:00
Roy Qu 2661d6145e speed up cpp highlighter 2022-10-19 19:44:15 +08:00
Roy Qu ab6feb1758 minor fix 2022-10-19 10:37:30 +08:00
Roy Qu f0874217b0 minor fix 2022-10-19 01:23:55 +00:00
Roy Qu 7883397409 - enhancement: set compilation stage in the options / compiler set pages
- enhancement: set custom compilation output suffix in the options / compiler set pages
2022-10-12 19:48:35 +08:00
Roy Qu 5f0371cb5b - enhancement: add option "max undo memory usage" in the options / editor / misc page 2022-10-11 22:33:09 +08:00
Roy Qu c1b414d10a - fix: project files that lies in project include folder is wrongly openned in Read-only mode 2022-09-30 17:51:26 +08:00
Roy Qu f187e9ead2 work save 2022-09-27 14:43:33 +08:00
Roy Qu d946b9373e refactor: clean up QSynedit 2022-09-27 14:01:38 +08:00
Roy Qu 986ca4744e fix: build error in linux 2022-09-26 15:20:13 +08:00
Roy Qu 70bf0c9eb7 fix: build error under linux 2022-09-26 15:10:31 +08:00
Roy Qu ebf78dbecb work done: make qsynedit a standalone module 2022-09-26 14:54:28 +08:00
Roy Qu 51a3b5bb82 work save 2022-09-26 11:18:43 +08:00
Roy Qu 71a728a868 work save 2022-09-25 17:43:31 +08:00
Roy Qu 6f4b24c753 work save 2022-09-25 16:07:52 +08:00