Commit Graph

1694 Commits

Author SHA1 Message Date
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
Martín Lucas Golini
d0f4a2eeea Fix some issues with RegEx captures.
Added Janet syntax highlighting (SpartanJ/ecode#394).
Fixes in syntax highlighter to C++ converter.
2025-04-12 17:55:05 -03:00
Martín Lucas Golini
be30ee67bc Update nlohmann/json library.
Removed "-ffast-math" flag for binary compilation (nlohmann/json is generating warnings due to the use of infinity, and actually binaries kinda don't need fast-math, it makes more sense in eepp).
Fix warning in Sys for macOS.
2025-04-12 00:42:54 -03:00
Martín Lucas Golini
4a6245ed6c Add tab-stops support for Text instances. 2025-04-10 01:16:09 -03:00
Martín Lucas Golini
4146bfef6f Implemented tab-stops support (SpartanJ/ecode#55). Not enabled by default until I'm sure I did not break anything. 2025-04-09 21:22:17 -03:00
Martín Lucas Golini
be65e47bb5 Fix Ini parser to parse git config files. 2025-04-07 16:28:13 -03:00
Martín Lucas Golini
2d62165657 Minor fixes in xit and markdown definitions.
Minor fix in text wrap.
Chat UI now displays Google Gemini error messages.
2025-04-06 23:41:35 -03:00
Martín Lucas Golini
fbe748f757 Fix Gemini 2.5 Exp model name.
Added the syntax definition folding ranges configuration for the JSON definitions.
Cleaned up a little bit some languages, added folding ranges to several of them.
2025-04-06 15:43:55 -03:00
Martín Lucas Golini
9c36b957c9 Use TextHints flags in all code (remove DrawHints and similar).
Various minor changes in language definitions.
Added Squirrel syntax highlighting (SpartanJ/ecode#395).
2025-04-06 02:14:11 -03:00
Martín Lucas Golini
6a3b58edc2 Allow to lock conversations in history (to not be deleted when deleting in mass).
Allow to delete files older than N number of days.
Improved the key bindings in chat ui editors.
Improved C3 syntax highlighting.
Try no to change the current tab when closing the other splitter.
2025-04-04 21:59:09 -03:00
Martín Lucas Golini
3985d81262 Fix build. 2025-04-04 02:13:39 -03:00
Martín Lucas Golini
da85af1246 Added C3 syntax highlighting and LSP support.
Refactored TextUndoStack, now uses std::variant and avoids heap allocating each command.
Fix possible crash in Process::readAll.
Fix SyntaxDefinition::setSymbols.
Some minor improvements for Odin and Ü syntax definitions.
Fix Git plugin silent configuration.
2025-04-04 01:48:39 -03:00
Martín Lucas Golini
473d4b48c9 Allow to configure the AI Assistant Chat UI keybindings.
Allow to prefer the LSP formatter over the command line formatter in the formatter plugin, changed that option as the default for the cases where we use clangd (which fallbacks to clang-format but does diff the file).
2025-03-31 22:40:15 -03:00
Martín Lucas Golini
67a86c3c05 Process class fix a dead-lock.
Compile with C++20 (compilation might fail on some systems, let's see the CI).
Fixed V1 syntax highlighting.
2025-03-31 18:52:42 -03:00
Martín Lucas Golini
80677554cf Fixed small and rare bug that prevented the scrollbars from being visible on the project view. 2025-03-30 20:59:24 -03:00
Martín Lucas Golini
8f090aba4a Fix some not ready all data from exited process. 2025-03-30 13:22:18 -03:00
Martín Lucas Golini
5a728ddbfd Fix LLM Chat UI scroll.
Add some shortcuts to LLM Chat UI.
2025-03-29 16:54:57 -03:00
Martín Lucas Golini
7870ecbebe LLM Chat UI improvements. 2025-03-29 15:57:39 -03:00
Martín Lucas Golini
c7c45a87cf Fixes in UICodeEditor mouse click in gutter.
Added some basic culling in UICodeEditor.
Remember the Chat UI input text.
2025-03-29 02:17:56 -03:00
Martín Lucas Golini
f721ef92df Added a new tokenization method for the SyntaxTokenizer based on customized parsers. Initially is being used to parse numbers in C, C++ and JavaScript/TypeScript. This method is much more flexible and can be much faster than regex or lua patterns.
Improvets in AI Assistant.
Fix regression in size calculation of a UIAbstractTableView.
Fix in project search path filters.
2025-03-28 02:15:20 -03:00
Martín Lucas Golini
8ac5e1e2e8 Refactor in SyntaxDefinition and related classes.
Minor improvements in CPP, CSS, xit syntax highlighting.
AI Assistant / LLM Chat now can restore previous opened chats and states (last model used, panel split), can have private conversations, can clone a previous conversation, plus some visual improvements.
Fixed a bug in tab widget splitting.
2025-03-26 23:55:29 -03:00