Commit Graph

1673 Commits

Author SHA1 Message Date
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
Martín Lucas Golini
030b8dd9e6 Added Gemini 2.5 Pro Experimental support.
Minor changes in UIScrollView (now updates click step by default).
Minor optimization in SyntaxTokenizer.
Fix UIImage wrap_content and autosize.
Do not crash if no display is available.
2025-03-26 00:14:56 -03:00
Martín Lucas Golini
5b69427540 Minor refactor in abstract table view. 2025-03-25 01:49:58 -03:00
Martín Lucas Golini
cfd66fa438 Chat history WIP.
Reverted completion fuzzy search.
2025-03-23 03:37:34 -03:00
Martín Lucas Golini
90e683efca Do not try to use X11 headers if they are not available. 2025-03-18 23:57:35 -03:00
Martín Lucas Golini
2bccd1f836 More AI Assistant WIP. 2025-03-12 01:27:20 -03:00
Martín Lucas Golini
d58e846cce Improve tokenizer performance by adding a couple of simple tokenizing hacks.
Added UUID class.
Fixed TextDocument folding ranges not updating on untitled docs.
Fixed UILinearLayout bug I introduced the other day.
Improved the Spreadsheet parser to allow direct use of arithmetic operators.
2025-03-10 21:06:36 -03:00
Martín Lucas Golini
561494dc65 Added code folding for Markdown documents. 2025-03-10 01:16:04 -03:00
Martín Lucas Golini
ea8a44e7a9 Fixed an old bug in syntax highlighting that sometimes the first line of the file was not correctly highlighted.
Added Svelte syntax highlighting support.
Improved CSS syntax highlighting.
Added "Open All Files in Folder" option when right click a folder in the folder tree view.
2025-03-09 13:37:33 -03:00
Martín Lucas Golini
b84080f7ec SyntaxTokenizer improvements. Now it's possible to set captures to sub-syntaxes and ranges.
Fix in RegEx that prevented to ^ work properly in tokenizer.
2025-03-09 01:57:54 -03:00
Martín Lucas Golini
dfb0820d0f Added a new fuzzy matching algorithm, it should be better than the previous version, it's similar to what most editors have (implementation is inspired in the sublime_text fuzzy matcher). 2025-03-08 18:33:25 -03:00
Martín Lucas Golini
0dba4a222b A couple of minor changes. 2025-03-07 00:15:22 -03:00
Martín Lucas Golini
65586b5158 Fix Windows build. 2025-03-04 01:36:00 -03:00
Martín Lucas Golini
186888c023 Move IconManager to EE::UI so it can be consumed by other applications. 2025-03-04 01:20:17 -03:00
Martín Lucas Golini
e15bb2386b Fix syntax highlight error in sub-syntaxes due to an incorrect line cache movement on added lines.
Add a new event to track the number of visible lines changes in UICodeEditor.
2025-03-03 12:29:53 -03:00
Martín Lucas Golini
276ed6bfb0 Fix UIWidget::notifyLayoutAttrChangeParent() when used during a transaction.
Fix UIWidget::setLayoutMargin* not correctly invalidating the parent layout.
Fix a complete UI lock when trying to display a UIMessageBox after failed debugging in ecode.
2025-03-02 20:29:17 -03:00
Martín Lucas Golini
762b740102 Implement UICodeEditor::isScrollable so it can have a parent scrollable element. 2025-03-02 13:24:10 -03:00
Martín Lucas Golini
2f2f9349f7 Improve padding support for UICodeEditor. 2025-03-01 00:35:12 -03:00
Martín Lucas Golini
cb5c787a59 Fix a rare crash during quick paging. 2025-02-28 18:56:49 -03:00
Martín Lucas Golini
8867c87279 Fixed an old UILinearLayout bug when using layout weights.
Fixed a performance regression in line wrapping when a monospace font contains fallback glyphs from other fonts.
Fixes in code editor horizontal scroll.
2025-02-28 00:45:53 -03:00
Martín Lucas Golini
a91fde6dfd Improved whitespace rendering performance on wrapped lines, now it has the same cost than non-wrapped lines.
Fixed: Debugger gutter not drawing its background.
Fixed: horizontal scrollbar sometimes being visible on wrapped documents.
Updated CSS Specification documentation.
2025-02-27 19:26:08 -03:00
Martín Lucas Golini
a08148bc57 Color Emoji fonts are now displayed correctly in monospaced fonts (they will have the right size and color).
Several improvements have been done to avoid losing performance when rendering non-monospaced text over monospaced fonts.
Exposed properties to UICodeEditor (PropertyId::EnableCodeEditorFlags, PropertyId::DisableCodeEditorFlags, PropertyId::LineWrapMode, PropertyId::LineWrapType).
Event::OnSizeChange event is now reported AFTER onSizeChange event has been processed by the widget that changed its size.
UIApplication now loads a monospaced font if found.
Fixes in String::readBySeparator.
2025-02-27 00:20:26 -03:00