Commit Graph

1731 Commits

Author SHA1 Message Date
Martín Lucas Golini
97a89902e2 Added Open in New Window and Move to New Window as tab right-click options and Edit options (SpartanJ/ecode#629).
Added `Move Tab to Start` and `Move Tab to End` in tab right-click options (SpartanJ/ecode#630).
Added `--profile` CLI option (SpartanJ/ecode#634).
Added `--disable-plugins` CLI option (SpartanJ/ecode#635).
Moved `crashes` directory to profile directory (SpartanJ/ecode#639).
Added `Settings -> Terminal -> Close Terminal Tab on Exit` (SpartanJ/ecode#643).
2025-09-10 01:35:11 -03:00
Martín Lucas Golini
8f2157e700 Fixed a use after free crash when debugging.
Improved toggle-block-comment logic to take into account extra spaces between the open and close of block comments (improvement suggested in SpartanJ/ecode#625 for SpartanJ/ecode#604).
2025-09-09 00:01:24 -03:00
Martín Lucas Golini
428730c3fb Do not switch/steal focus when using the editor scrollbars (SpartanJ/ecode#626). 2025-09-08 13:56:21 -03:00
Martín Lucas Golini
7e6de3f9b2 Added keyboard shortcut operations in the file system tree view, to complete SpartanJ/ecode#71. 2025-09-07 19:48:29 -03:00
Martín Lucas Golini
873274e33c Initial support of drag and drop to move files and folders around from the file tree view (SpartanJ/ecode#71). 2025-09-07 02:06:53 -03:00
Martín Lucas Golini
bdde898d52 MouseBindings in UICodeEditor WIP. 2025-08-25 00:41:54 -03:00
Martín Lucas Golini
146b77eebe Improve / Fix Font::isEmojiCodePoint (fixes loading some text codepoint as emoji codepoints).
Improve TextDocument::fileMightBeBinary to avoid some false-positives.
Sanitize on load corrupted document line endings when \r\n are found but not expected.
Improve HExtLanguageTypeHelper::detectLanguage to avoid allocating memory.
Added String::readBySeparatorStoppable.
Added SyntaxDefinitionManager::isFileFormatSupported.
2025-08-24 16:01:40 -03:00
Martín Lucas Golini
5be86a39e9 Mouse shorcuts WIP. 2025-08-24 01:11:39 -03:00
Martín Lucas Golini
54aaeb4931 Spell-checked the whole project. 2025-08-22 01:33:51 -03:00
Martín Lucas Golini
4b4a5f3491 More work on the Spell-Checker (SpartanJ/ecode#515).
Spell-Checked a lot of code.
2025-08-21 01:43:42 -03:00
Martín Lucas Golini
4730c4f183 Implemented toggle-block-comment command (SpartanJ/ecode#604).
Added M4 syntax highlighting (SpartanJ/ecode#564).
2025-08-18 23:33:47 -03:00
Martín Lucas Golini
d6fa207457 Fix Windows build. 2025-08-17 21:34:13 -03:00
Martín Lucas Golini
dbb36cdcf4 Fix Objective-C highlighter.
Added Objective-C++ highlighter (SpartanJ/ecode#616).
Replaced "Treat .h file as C++" in favor of "Treat .h files as..." with multiple options, including auto-detection (SpartanJ/ecode#614).
Refresh semantic-highlighting after syntax highlighter change.
2025-08-17 16:56:12 -03:00
Martín Lucas Golini
6d8d991abc Add ellipsis to the error lens if it does not fit in the line, also display code lens in the correct visible line index when the line is wrapped. 2025-08-15 23:57:05 -03:00
Martín Lucas Golini
62bfcf29c3 Greatly improve debugging session stability.
Handle some more sequences in TerminalEmulator.
Update SOIL2.
2025-08-15 02:55:12 -03:00
Martín Lucas Golini
929b38410b Fix slowdown due to locking the main thread when sending text buffer changes to the LSP. 2025-08-14 00:17:16 -03:00
Martín Lucas Golini
0ec2a4dba9 Try fix invalid memory access in SyntaxDefinitions.
Added attach in Chat UI.
Some minor improvements in Http pool implementation.
2025-08-12 00:49:13 -03:00
Martín Lucas Golini
cec73de2eb Fix a couple of bugs related with use-after-free. Try to make some of the text document and syntax highlighter functionality more thread-safe. 2025-08-10 01:25:10 -03:00
Martín Lucas Golini
a537214cc7 Allow to add a filtered file to the project file tree by adding it in .ecode/.prjallowed (SpartanJ/ecode#592).
Allow canceling the global search with escape.
2025-07-17 16:43:42 -03:00
Martín Lucas Golini
3e6ab795b4 Fix crash in linter. 2025-07-15 19:51:48 -03:00
Martín Lucas Golini
2df4e88836 Improvements when opening binary files from drag and drop and from the tree-view (SpartanJ/ecode#589).
Fixes a bug that prevented signature help to not be displayed.
2025-07-13 19:22:31 -03:00
Martín Lucas Golini
23f90967c7 Fix some TypeScript React issues I introduced with the syntaxes pre-definitions.
Improved tokenizer performance, reduced heap allocations to the very minimum possible (lua patterns now can be flagged as anchored).
2025-07-12 13:47:42 -03:00
Martín Lucas Golini
e7a381eb5b SyntaxTokenizer: Prevent stalling in zero-width look ahead matches. 2025-07-12 01:51:35 -03:00
Martín Lucas Golini
fa5aa4d006 Add Qbs syntax highlighting (SpartanJ/ecode#553).
Add the possibility from inherit patterns and repositories from other syntax definition.
2025-07-11 01:02:46 -03:00
Martín Lucas Golini
a4deb66c2a Added pkg-config syntax highlighting (SpartanJ/ecode#563).
Register `.h.in` and `.c.in` extensions (SpartanJ/ecode#567).
Slight refactor for Repositories, now it will hold a SyntaxRespository struct (to easily extend it in the future).
2025-07-08 20:30:43 -03:00
Martín Lucas Golini
340e3e65e2 Add some basic keybindings to the debugger. 2025-07-06 16:20:03 -03:00
Martín Lucas Golini
aa7ee8093a Fix tab key-press not changing widget when a not main modifier is being used (for example enabling the numeric keyboard). 2025-07-01 19:20:48 -03:00
Martín Lucas Golini
a79c16ec0a Added the possibility to configure the font hinting and font anti-aliasing.
MenuBar buttons are now slightly more separated.
When switching between dark and light ui prefers color scheme now pick a dark/light color scheme if the currently set is the default (SpartanJ/ecode#535).
Fix a bug in menu bar pop-up not hiding properly.
2025-06-30 02:23:51 -03:00
Martín Lucas Golini
3797aa877b Minor refactor in SyntaxTokenizer.
Open .xbm and .xpm files as C (SpartanJ/ecode#532).
2025-06-28 20:55:09 -03:00
Martín Lucas Golini
7b5c1a2437 Registered a few requested file extensions SpartanJ/ecode#528, SpartanJ/ecode#529, SpartanJ/ecode#530).
Added MS Build Solution (sln extension, SpartanJ/ecode#527) and RC Script (rc extension, SpartanJ/ecode#521) syntax highlight support.
Minor changes in syntax definitions (now supports more than 255 repositories).
2025-06-28 12:53:08 -03:00
Martín Lucas Golini
df0a58c34e Some debugger improvements for node dap.
Fixed a bug in TextDocument that created new history in the undo/redo stack when not doing any operation when trying to cut.
2025-06-26 20:19:17 -03:00
Martín Lucas Golini
3170fd79ff Fix Node::removeActionsByTag and Node::getActionsByTag using the wrong tag type (and in consequence not removing anything whe requested, generating crashes on some cases). Improved LSP restart stability, although I still can crash it on some rare cases, haven't found the problem yet. 2025-06-22 20:47:20 -03:00
Martín Lucas Golini
6bdb75666d Fix warning in Variant produced by the use of memset. 2025-06-10 11:08:11 -03:00
Martín Lucas Golini
3871219c71 Nit: fix warning in Variant. 2025-06-10 00:41:23 -03:00
Martín Lucas Golini
4c67307308 Fix Variant class not implementing copy and move semantics, which fixes a crash in ecode when using the new Tab Switcher (#127). 2025-06-10 00:12:30 -03:00
Martín Lucas Golini
fa84a0253b Clean up some unused Font functionality. 2025-06-08 01:22:54 -03:00
Martín Lucas Golini
d375537b3f Fixes in SyntaxDefinitionManager.
Make UIProperty C++17 friendly.
Rename "arch" command line parameter for premake5 to "deps-arch" because it clashes with a new "arch" default parameter.
Fix for empty matches in SyntaxTokenizer.
Some very minor changes in language definitions.
2025-06-05 23:45:00 -03:00
Martín Lucas Golini
cec4fa6e72 Add webp image format support (load and save).
Fix bug introduced in the last commit for UIDataBind initialization.
Change gmake2 in favor of gmake when using premake5 since it has been depreated in premake5-beta6 (hopefully I did not miss anything).
2025-06-04 21:02:38 -03:00
Martín Lucas Golini
61e2df83db Added UIProperty to easily bind values with UI elements (very basic initial implementation). 2025-06-04 00:24:21 -03:00
Martín Lucas Golini
c156b53e4b Rename "keyword2" to "type" and "keyword3" to "parameter".
Added some String overloaded functions.
2025-06-01 20:07:23 -03:00
Martín Lucas Golini
9a8ece04d6 Adjust scissor test to current FBO coordinates. Fixes some clipping bugs when using FBOs withing UI components. 2025-06-01 01:35:05 -03:00
Martín Lucas Golini
eacb3a0f5b Syntax Definitions are going to be loaded on-demand instead of during start-up (this allows to add as many as wanted without worrying about memory usage or load times).
Added Racket syntax highlighting and LSP support (SpartanJ/ecode#459).
2025-05-28 23:54:34 -03:00
Martín Lucas Golini
9e0b3bc301 More RegEx fixes. 2025-05-28 17:56:09 -03:00
Martín Lucas Golini
0df86b1d53 RegEx fixes. TextMate grammars fixes. 2025-05-28 03:08:17 -03:00
Martín Lucas Golini
e072649221 Fixes for the UITabWidget tab switcher.
Remove "Flash Cursor" (it was too broken and it's not useful after alll).
2025-05-27 01:13:44 -03:00
Martín Lucas Golini
dcea675e5b Fix input methods that depend on OpenKey, Unikey and similar software.
Fix flashing cursor on Windows! How this was not reported?!
Fix crash when closing ecode on Windows and tabs with same name where present.
2025-05-24 20:48:42 -03:00
Martín Lucas Golini
70aecddd18 Added support for Tab jump modes (SpartanJ/ecode#469). Including a Tab Switcher (I have no better name for the moment).
Added support to hide the Tab Bar (SpartanJ/ecode#477).
Updated efsw.
Updated JS, TS, C++ grammars.
2025-05-24 01:10:50 -03:00
Martín Lucas Golini
b6ead5f2fd Added "Build & Run" and "Build & Debug" buttons. 2025-05-21 00:33:25 -03:00
Martín Lucas Golini
9b4e9f8613 TextMate parsing fixes and improvements. 2025-05-20 00:43:56 -03:00
Martín Lucas Golini
0fbebf6dfa TextMate support WIP. 2025-05-18 01:46:04 -03:00