Commit Graph

363 Commits

Author SHA1 Message Date
Roy Qu bcbcc61481 - fix: Caret unseen when move to a long line end by press END. 2024-03-20 20:42:20 +08:00
Roy Qu 4da95ebf0a remove nouse editor options 2024-03-20 16:44:20 +08:00
Roy Qu 5003c412f7 - enhancement: "Mouse scroll direction" option in Options / Editor / General
- change: Invert scroll direction in horizontal, like in vertical.
2024-03-20 15:55:22 +08:00
Roy Qu 63db2e5179 fix #284 : selection not correctly displayed. 2024-03-20 12:33:36 +08:00
Roy Qu 4e2053fb56 fix: crash when set breakpoints in an empty C/C++ file 2024-03-19 20:20:11 +08:00
Roy Qu e7129241e9 fixes #281: Wrong syntax highlighting for #include lines that contains multiple '>' chars. 2024-03-17 21:49:06 +08:00
Roy Qu fa1828e225 - enhancement: Folding button scales with editor font. 2024-03-14 20:35:26 +08:00
Roy Qu 46b273a88d - enhancement: Folding button scales with editor font. 2024-03-14 20:06:45 +08:00
Cyano Hao 051fcfafa5
use relative locations in translations to avoid further merge conflict (#275) 2024-03-14 10:05:57 +08:00
Cyano Hao e67e329ef1
Use font list (#269)
* add icons

* place text vertically center in qsynedit

* use font list
2024-03-13 19:17:25 +08:00
Roy Qu 19eeb5a1f8 fix: wrong selection contents retrieved in column editing mode. 2024-03-13 17:03:32 +08:00
Roy Qu 581b7c7cf1 work save: refactor: DebuggerClient interface 2024-03-08 22:06:10 +08:00
Roy Qu 4b454353bb - fix: Delete/Insert in column editing mode. 2024-03-07 15:39:05 +08:00
Roy Qu 67caf82753 - enhancement: Windows installer Hi-DPI support.
- refactor: remove Line edit mode in qsynedit.
  - optimization for scroll calculation while inputing text
2024-03-07 11:06:15 +08:00
Roy Qu eff6beba0a fix: char literal not correctly syntax parsed. 2024-03-06 18:21:47 +08:00
Roy Qu 52e859756b fix: string not correctly syntax parsed. 2024-03-06 17:27:44 +08:00
Roy Qu 93768c199e fix: crash when move caret in empty files 2024-03-06 17:18:54 +08:00
Roy Qu 100c55fdba fix xmake.lua for qsynedit 2024-03-06 12:15:56 +08:00
Roy Qu 383031bc5d - Enhancement: Optimization for drawing scrollbars. 2024-03-06 12:01:56 +08:00
Roy Qu f7514e424e refactor: Check string/rawstring/character status while completing symbols in c/c++ file 2024-03-05 21:20:47 +08:00
Roy Qu 417c33a8dc fix: wrong indent when paste 2024-03-05 17:09:43 +08:00
Roy Qu e0438b1bf9 - enhancement: Internal optimization for open/edit files. 2024-03-05 16:34:41 +08:00
Roy Qu bbe79297ef fix: Deadlock while openning files that contains '\t'
fix: Optimize file openning
2024-03-05 15:29:25 +08:00
Roy Qu 2245356616 add missing files 2024-03-04 21:12:26 +08:00
Roy Qu 6b891a6626 basicly done 2024-03-04 18:36:46 +08:00
Roy Qu 2a18f3f47a Refactor: All file has a syntaxer 2024-03-04 16:01:23 +08:00
Roy Qu 518ce3f31a optimization for token color settings 2024-03-03 20:58:51 +08:00
Roy Qu 43658bc873 optimize wave underline width 2024-03-03 18:55:02 +08:00
Roy Qu 8561a035ae - enhancement: Unique look&feel for the underline shown while ctrl+mouse over #include line.
- enhancement: Better look&feel for the wave underline shown for syntax errors.
2024-03-03 18:42:45 +08:00
Roy Qu 907aa41a8e fix: Error when drawing selection line of txt file. 2024-03-02 18:08:55 +08:00
Roy Qu 65c2a284d7 wrong indent fill for non-monospace font 2024-03-01 20:42:35 +08:00
Roy Qu f0f79c2917 Wrong indent line position for non-monospace fonts. 2024-03-01 20:10:18 +08:00
Roy Qu cb66c7f340 - fix: After spaces in comments and strings, symbol completion for '{' and '(' are wrong. 2024-03-01 19:30:37 +08:00
Roy Qu b04c8b5309 - fix: Contents wider than the editor are not displayed. 2024-03-01 18:28:50 +08:00
Roy Qu 026a787ee5 - fix: Font style not applied when option "show spaces" is on.
Update Contributor info
2024-03-01 08:32:46 +08:00
Roy Qu 6d137b82bd - fix: issue #215 (Caret may be drawn in the gutter.) 2024-02-29 20:23:30 +08:00
Roy Qu d171d7bdf5 - fix: Selected lines doesn't draw line break glyphs. 2024-02-29 19:33:53 +08:00
Roy Qu 30ed2fac79 - fix: Fallback font doesn't apply before restart
- fix: first indent line doesn't show
 = fix: Selection background not correctly drawn
2024-02-29 19:17:14 +08:00
Roy Qu ee488384a1 - fix: Wrong indent for the line after the pasted context.
- Enhancement: When '{' is inputted and there are contents selected, auto add line breaks and indents.
2024-02-29 13:28:19 +08:00
Roy Qu 0f654bdf75 - enhancement: Beautify display for spaces and linebreaks. 2024-02-28 21:07:07 +08:00
Roy Qu 5eff32cee9 Merge branch 'master' of github.com:royqh1979/RedPanda-CPP 2024-02-28 20:13:44 +08:00
Roy Qu 46f5191b89 fix: color for line break glyphs 2024-02-28 20:13:20 +08:00
Roy Qu ca79bf6648 fix: tab glyphs not correctly displayed. 2024-02-28 20:02:11 +08:00
Cyano Hao 18318653d7
Move from command line to argv array (#216)
* command line -> argv array

* update function names

* update directory structure

---------

Co-authored-by: Roy Qu <royqh1979@gmail.com>
2024-02-28 19:41:05 +08:00
Roy Qu 0a4acbec46 - fix: crash when input using input method in an empty file.
- optimize for ligature and force monospace both enabled.
2024-02-28 18:20:11 +08:00
Roy Qu 0bab75cfd6 enhancement: force fixed width 2024-02-28 11:51:02 +08:00
Roy Qu 2743e6f682 - fix: Parser: invalidating file may lost class inheritance infos. 2024-02-28 09:17:30 +08:00
Roy Qu 255e09de89 fix: Fallback font combos in the editor font options panel are not correctly inited.
fix: Ascii control chars font not correctly loaded when app start.
2024-02-27 14:46:55 +08:00
Roy Qu bc0d55b1bb - enhancement: Display ascii control chars. 2024-02-27 13:23:58 +08:00
Roy Qu 45118f5251 fix: duplicate chars with paint lines 2024-02-27 10:18:37 +08:00
Roy Qu 2a3afffba9 refactor fill to end 2024-02-27 08:30:45 +08:00
Roy Qu dfd7075dfb add more fall back fonts 2024-02-26 18:22:02 +08:00
Roy Qu 174808d416 font: work save 2024-02-26 16:43:40 +08:00
Roy Qu b57bbc34f9 Use fallback font instead of non-ascii font 2024-02-26 15:15:26 +08:00
Roy Qu b3b5affeb8 minor refactor 2024-02-26 10:38:02 +08:00
Roy Qu d648e741df fix: wrong caret position when input using input method 2024-02-26 10:35:42 +08:00
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