Commit Graph

257 Commits

Author SHA1 Message Date
Roy Qu 0e6d4483c4 handle unicode ZWNJ 2024-02-26 10:01:08 +08:00
Roy Qu fd3a280708 fix: onGutterPaint not correctly called
fix: expand glyph char list is not work properly.
2024-02-26 08:59:01 +08:00
Roy Qu 6b1e4ff979 ligature not correctly supported 2024-02-25 22:08:10 +08:00
Roy Qu fda9a424c4 fix: ending glyph not correctly drawed after editing 2024-02-25 20:01:05 +08:00
Roy Qu 9672ebd079 fix: font style not correct when painting 2024-02-25 18:59:39 +08:00
Roy Qu 16053882d4 minor fix 2024-02-25 11:27:25 +08:00
Roy Qu 7ac35a86b8 Painter optimization
ligature support
2024-02-25 11:22:49 +08:00
Roy Qu effecc80f9 fix: can't redo input char 2024-02-25 10:18:09 +08:00
Roy Qu 3b28894d51 Work save: 2024-02-24 21:14:19 +08:00
Roy Qu 322c4bba4f work save:
Optimization for text render
2024-02-24 15:05:46 +08:00
Roy Qu cb2b119e46 Done:
- Caret move
- Delete current char / last char
Fix:
- Selection not correctly drawn
2024-02-24 11:25:41 +08:00
Roy Qu 06b8850970 work save 2024-02-23 21:43:58 +08:00
Roy Qu 3eadbafe25 work save: support don't force fix-width 2024-02-23 17:51:38 +08:00
Roy Qu aa17ec785c work save 2024-02-23 12:41:13 +08:00
Roy Qu cf994d2ac6 work save: can display glyphs with code points > 0xFFFF now 2024-02-22 22:51:48 +08:00
Roy Qu 2489148da6 work save 2024-02-22 19:00:47 +08:00
Roy Qu cb1d2594da work save 2024-02-22 18:03:07 +08:00
Roy Qu d6fa17cdd9 work save 2024-02-22 14:24:29 +08:00
Roy Qu d2b8e8de0f work save 2024-02-21 18:30:43 +08:00
Roy Qu 6592b9cd73 Merge branch 'master' into emoji 2024-02-21 11:14:15 +08:00
Roy Qu 15c5956e1e minor change 2024-02-21 10:01:15 +08:00
Roy Qu e49f815119 Improve raw string syntax color 2024-02-21 09:58:18 +08:00
Roy Qu f9d8212712 - Enhancement: New option for compiler set "Don't localize gcc output messages" 2024-02-20 21:47:12 +08:00
Roy Qu 522722c418 - Enhancement: Improved Raw string support 2024-02-20 17:25:37 +08:00
Roy Qu 0faea6ac69 - Enhancement: Don't auto-indent in raw string. 2024-02-20 12:51:01 +08:00
Roy Qu f0c01e03aa - Fix: Can't goto definition/declaration into files that not saved. 2024-02-20 10:31:12 +08:00
Roy Qu 5953696beb work save 2024-01-20 21:08:46 +08:00
Roy Qu e78bb8db7e work save 2024-01-20 10:37:59 +08:00
Roy Qu 8ce58344db work save 2024-01-20 09:38:14 +08:00
Roy Qu 4a190ec873 work save 2024-01-19 21:36:54 +08:00
Roy Qu 14913d664e basic works 2024-01-19 19:41:45 +08:00
Cyano Hao 2b561729f3
Add xmake as alternative build system (#181)
* add xmake as alternative build system

* add feature matrix test
2024-01-19 09:25:21 +08:00
Cyano Hao 1394e6c135
Add Lua-based theme add-ons (#165)
* import Lua 5.4.6 as subproject

* Lua-based theme

* Lua theme showcase - random light

* add “Inky dark” (墨落) theme

* add copyright notice

* add feature flag for Lua-based add-on
2023-12-22 18:03:29 +08:00
Roy Qu a6b9d282cf - fix: Click on the line begin may toggle breakpoint. 2023-11-19 16:53:29 +08:00
Roy Qu 49237ebf03 - change: Use qt.conf to use freetype font engine. User can use the windows default font engine by remove this file. 2023-11-19 16:41:36 +08:00
Roy Qu 1c23010408 - change: Set mouse cursor to hand pointing when it's on gutter.
- fix: mouse cursor doesn't change when move back to editor.
2023-10-23 21:46:13 +08:00
Roy Qu 00736ea73b - change: Ensure the line just below caret is visible while moving caret. 2023-10-23 17:36:10 +08:00
Roy Qu e0b9bfb4c8 minor cleanup 2023-10-22 20:04:21 +08:00
Roy Qu 30cabe2faa - enhancement: Parse files that contains C++ 20 'concept' keyword. (No code suggesion for concepts now)
- enhancement: Parse files that contains C++ 20 'requires' keyword.
  - fix: Code suggestions in namespace.
  - enhancement: Code suggestions for namespace alias.
  - fix: Correctly handle statements like 'using xxx::operator()'.
2023-10-22 13:19:03 +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 38a55dcdb4 - ehhancement: Show selected char counts in status bar.
- enhancement: Differentiate /* and /** when calculate auto indents.
2023-10-18 14:37:31 +08:00
Roy Qu 814f3a28db - enhancement: After compiler settings changed, run/debug current file will auto recompile. 2023-10-15 16:28:55 +08:00
Roy Qu 526e73d27a Use QRecursiveMutex instead of QMutex in CppParser 2023-10-10 19:59:39 +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 257b81ca3f - fix: "move selection up/down" of whole lines selection are no correctly handled. 2023-08-23 22:37:43 +08:00
Roy Qu aa03dfc01d update Simplified Chinese translation 2023-08-11 14:10:04 +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 d3760db7ec - enhancement: Press left/right arrow will move caret to the begin/end of the selection.
- enhancement: Press up/down arrow will move caret up/down from the begin/end of the selection.
2023-08-03 15:11:46 +08:00
Roy Qu 2e4de7db07 - fix: Autoindent for "{" is not correct. 2023-07-12 17:13:56 +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 45c191bae4 - enhancement: correctly highlight multiline string literals that has empty lines. 2023-07-11 21:02:40 +08:00
Roy Qu 7ad6a64150 - fix: "Toggle breakpoint " in the editor gutter's context menu doesn't work.
- fix: Click editor's gutter won't toggle breakpoint in KDE debian 12
2023-07-08 19:47:48 +08:00
Roy Qu 4f23c35808 - enhancement: Correctly reformat C++ three-way comparision operator "<=>" 2023-07-06 20:41:54 +08:00
Roy Qu 595156e80f - enhancement: Folder mode in "File in files" dialog.
- enhancement: When open a file, test if it contains binary contains.
2023-07-05 15:02:39 +08:00
Roy Qu 377a379554 fix: highlight for #define is not correct 2023-07-04 17:19:29 +08:00
Roy Qu e5e322dea4 - enhancement: correctly highlight multiline raw string literals.
- change: remove "Assembly" color scheme item (it's not used anymore).
2023-06-30 10:53:58 +08:00
Roy Qu b85b70bb4b - fix: Can't copy by ctrl+dray&drop to current selection's begin/end 2023-06-26 09:00:08 +08:00
Roy Qu 5e78c0aa62 - fix: Goto definition/Goto declaration/Info tips can't be correctly triggered when mouse pointer is at the last half character of current word. 2023-06-15 16:40:47 +08:00
Roy Qu 2114206e76 - fix: Double-clicking on touchpad can't select current word. 2023-05-11 21:59:57 +08:00
Roy Qu ba218fb8b8 - fix: Horizontal scroll by touchpad is inversed. 2023-04-13 21:50:53 +08:00
Roy Qu 98989f34c1 - fix: Horizontal scroll with touchpad is not working. 2023-04-13 20:05:28 +08:00
Roy Qu 63be630a16 - fix: Octal numeric escape sequences is not correctly syntax highlighted. 2023-04-01 16:50:55 +08:00
Roy Qu a51ac2fb63 - fix: File's real encoding is not correctly calculated when save it using system default encoding. 2023-03-27 10:53:25 +08:00
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