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
Martín Lucas Golini
3ce1a16f0a
Merge branch 'develop' into text-mate
2025-05-14 14:11:39 -03:00
Martín Lucas Golini
9f58ad38fc
Experimenting with oniguruma fallback and text-mate improvements.
2025-05-14 00:48:01 -03:00
Martín Lucas Golini
77db743867
Fixes in syntax definition.
2025-05-14 00:47:11 -03:00
Martín Lucas Golini
058b9cab4d
Fix for SpartanJ/ecode#461 . Used CreateProcess is the Unicode version ("CreateProcessW"), and binary paths are now resolved as absolute paths in Windows.
2025-05-11 19:45:42 -03:00
Martín Lucas Golini
af381e400a
More work to support TextMate grammars.
2025-05-10 21:34:02 -03:00
Martín Lucas Golini
51430ae87b
Minor nits, about to implement some changes to complete the pending changes for sub-patterns in ranged matching.
2025-05-09 22:20:20 -03:00
Martín Lucas Golini
821e7f50dd
SyntaxTokenizer: improve the stack-based pattern matching to support include / repositories.
...
Added some *very basic* support for some *very basic* TextMate grammars, `$language.tmLanguage.json` files are now parsed and supported internally. Full support is not currently possible, and might never be. This is to facilitate converting grammars to ecode format.
Updated python linter and formatter to the latest ruff version.
2025-05-07 21:17:07 -03:00
Martín Lucas Golini
6a39a7b458
SyntaxTokenizer and SyntaxDefinition repository support WIP.
2025-05-06 19:26:50 -03:00
Martín Lucas Golini
c19de0cb60
Refactor syntax tokenizer to simplify future improvements for it.
2025-05-04 20:00:19 -03:00
Martín Lucas Golini
c394cc4847
Improve regex captures result processing in tokenizer.
...
Improved Vala syntax highlighting.
2025-05-04 02:28:07 -03:00
Martín Lucas Golini
ebc35b4224
Some extra improvements for the syntax tokenizer.
2025-05-03 21:20:28 -03:00
Martín Lucas Golini
fe84f10794
Improve tokenizer for closing sub-syntaxes.
...
Allow adding alternative names to languages.
2025-05-02 23:57:08 -03:00
Martín Lucas Golini
3b3d1de420
In SyntaxDefinition add "end_type" support, to set the types of a closing pattern for multi-line block rules.
2025-05-01 00:32:11 -03:00
Martín Lucas Golini
2680499268
Prevent updating IME location if file is loading ( SpartanJ/eepp#111 ).
2025-04-29 17:04:09 -03:00
Martín Lucas Golini
799d9f9371
Do not use malloc_trim if it's not available.
2025-04-22 12:08:47 -03:00
Martín Lucas Golini
5f9d2bd5ea
Fix a bug when changing themes (some properties where not updated due to cached properties).
...
Fix a bug when displaying sub-menus, it was sometimes incorrectly positioned.
2025-04-20 12:41:36 -03:00
Martín Lucas Golini
3c4b2698c3
Add new OpenAI and Google models.
...
Pump eepp and ecode versions.
Try to fix a minor bug in Plugin Manager window.
2025-04-19 00:15:47 -03:00