Commit Graph

  • 73f04262be Fix user-after-free during plugin reload. Martín Lucas Golini 2026-01-30 00:35:34 -03:00
  • 256df44a4d Better wildcard matching in utest (allow multiple wildcards). Martín Lucas Golini 2026-01-29 17:37:54 -03:00
  • 4654aea175 Fix issue with kerning when using tab characters (i do not want to apply kerning in tab characters). Martín Lucas Golini 2026-01-28 22:40:59 -03:00
  • 9561334401 Fixes for line widths calculation. Martín Lucas Golini 2026-01-27 23:49:02 -03:00
  • b3b5f97ab8 Optionally return wraps width when computing breaks WIP. Martín Lucas Golini 2026-01-26 21:59:53 -03:00
  • efc361b654 LineWraps now also report real new line breaks (otherwise it will not be possible to partition into visual lines). Added more text hard-wrap tests. RGB now has a constructor that accepts Color. Color now has toRGB(). Martín Lucas Golini 2026-01-25 14:53:55 -03:00
  • 9d4fce4524 Implemented soft-wrap support in TextLayout. Also fixed an old LineWrap::computeLineBreaks bug that wrapped too soon some texts, I had to update the tests (they where looking strange but I thought it was some unfortunate wrapping). Martín Lucas Golini 2026-01-25 00:26:54 -03:00
  • 1789540388 Separate TextLayout result into paragraphs with ShapedTextParagraph. Change the Text::wrapText implementation to use the LineWrap::computeLineBreaks function, so it's consistent across eepp. Also renamed the function to Text::hardWrapText to be more descriptive. Added new-line support in LineWrap::computeLineBreaks. Martín Lucas Golini 2026-01-24 17:59:09 -03:00
  • baa16fe44d Some minor changes in TextLayout and LineWrap. Martín Lucas Golini 2026-01-24 13:55:58 -03:00
  • b3748d05f2 Add yet another text rendering test. Martín Lucas Golini 2026-01-24 01:01:16 -03:00
  • 409cda3ba5 Minor refactor in LineWrap. Martín Lucas Golini 2026-01-23 21:48:10 -03:00
  • 403a06cee4 Fix MSVC build. Martín Lucas Golini 2026-01-22 11:18:39 -03:00
  • 5d56e4da34 Added String::formatBuffer for char32_t strings. Minor fixes in breeze theme. Martín Lucas Golini 2026-01-22 01:41:25 -03:00
  • faedaa43f4 Refactor in LineWrap operations enums and structs, moved everything into linewrap.hpp. Revisiting some old code, the Map Editor, many things are not properly layouted, I might fix it later, for the moment a few minor fixes. Fix build output and app output highlighting. Fix isStopSelChar used in UITextInput for text selection (double click). Martín Lucas Golini 2026-01-21 00:03:01 -03:00
  • 46f13af278 Nit. Martín Lucas Golini 2026-01-19 23:50:14 -03:00
  • 1082e6db9b Fix LSP graceful exit (this fixes clangd not erasing the preamble cache files). Martín Lucas Golini 2026-01-18 12:37:17 -03:00
  • f180e58e56 Added Settings -> Window -> UI Theme -> Syntax Color Scheme to use the editor color scheme globally for the UI Theme colors, having a single color palette for the whole UI and making much easier to style the UI, this solves SpartanJ/ecode#661, since now we support one UI theme for each existing syntax color scheme. Still a WIP, I'll continue improving it during the development of 0.7.5, but it's ready to use. Martín Lucas Golini 2026-01-18 01:38:27 -03:00
  • ddb412f42d Fix Haiku Build Martín Lucas Golini 2026-01-17 13:25:31 -03:00
  • 96c08c529b Fix Haiku Build Martín Lucas Golini 2026-01-17 16:23:20 +00:00
  • cf6c14fbda Do not copy the whole SyntaxDefinition into TextDocument but instead keep the shared pointer to the definition. Did some minor SyntaxDefinition memory access safety improvements. In breeze color scheme definition renamed --win-icon to --icon-line and removed --scroll-button since it was not being used. Martín Lucas Golini 2026-01-17 00:19:51 -03:00
  • a8cde70eb1 Fix a couple of very unlikely invalid memory access bugs (I was able to reproduce one of those). Martín Lucas Golini 2026-01-16 20:07:44 -03:00
  • 534e9a8f59 Improved FunctionString::parse to support function calls within function calls. Also fixed some corner cases and added unit tests for the function. Martín Lucas Golini 2026-01-15 22:05:29 -03:00
  • f8fe1d9687 Add multi-thread protection to: ModelSelection. Make UIAbstractView::notifySelectionChange thread-safe. Added new UI Test (FontRendering.UITextTest). Martín Lucas Golini 2026-01-14 20:12:45 -03:00
  • 0f8f15fa53 Pump ecode and eepp versions. Fix sharedir option in premake files. Minor logic fix in copy file buffer. Martín Lucas Golini 2026-01-13 00:05:20 -03:00
  • 44033c8a70 Merge branch 'develop' Martín Lucas Golini 2026-01-11 19:03:11 -03:00
  • d198f36eca Added an option to reset panel layout (SpartanJ/ecode#675). Added options to "Reset Global File Associations" and "Reset Project File Associations" (renamed the command names too). eepp-2.9.1 ecode-0.7.4 Martín Lucas Golini 2026-01-11 18:25:49 -03:00
  • ac91cedf9c Added support for maximizing the current tab widget (commands: maximize-tab-widget and restore-maximized-tab-widget), it can also be triggered right clicking a tab -> Maximize Tab Widget (SpartanJ/ecode#651). Added UINodeLink, this is a very simple node that lets you set a link to another node. Improved focus control in the status bar panels and windows. It's possible now in UICodeEditorSplitter to cancel a split request with a custom function checker. When downloading a file that it's not a supported format, it will try to open with the default external program set in the host OS. Martín Lucas Golini 2026-01-11 13:32:48 -03:00
  • d6f60354c1 Improve UIWindow default focusing behavior. Adjust window-flags behavior when used from CSS. Display a download progress window when download-file-web is used. Also support loading images and sounds from downloads. Minor safety checks added for engine termination and window closing. Minor changes in Http. Martín Lucas Golini 2026-01-10 01:49:20 -03:00
  • 8260cf6999 Added an option to set to always open terminal in exclusve mode (SpartanJ/ecode#800). Set language extension priorities per-project. Added "reset-global-language-extensions-priorities" and "reset-project-language-extensions-priorities" commands. Added FreeBASIC and QB64 syntax highlighting. Fixed a minor bug that loaded the same language into memory multiple times. Martín Lucas Golini 2026-01-09 01:38:12 -03:00
  • caebfc4d81 premake projects now enable text shaping by default. Martín Lucas Golini 2026-01-08 19:23:22 -03:00
  • 056c9e022c Expose some extra info in ShapedGlpyh and TextLayout. Improve text selection with RTL layouts. Martín Lucas Golini 2026-01-07 20:15:26 -03:00
  • 93a8c6e4ab Fix crash when drag & dropping images into ecode. Fix Windows temp path resolution. Martín Lucas Golini 2026-01-07 16:25:17 -03:00
  • 9fa7b2bb57 Correctly handle Private mode queries in the terminal emulator implementation. Fix in terminal keybindings handling. Martín Lucas Golini 2026-01-07 13:23:22 -03:00
  • 7bc446e9f1 Allow to set TextDirection as text segmentation hint. Update efsw. Martín Lucas Golini 2026-01-07 00:42:14 -03:00
  • 70f7a1cc61 Added String::stripAnsiCodes. Now used in build and run settings, this can be configured for the build and the run options. Minor fixes in C and C++ grammars. Debugger: Expressions are now evaluated as soon as they are added if debugger is running but paused. Fix a newly introduced bug that incorrectly calculated string widths when string contained new lines. Martín Lucas Golini 2026-01-06 00:46:31 -03:00
  • dbcb93a438 Optimize String::isAscii using AVX2 or NEON (not tested with MSVC yet). Added EE::System::CPU static class to query about CPU capabilities. Martín Lucas Golini 2026-01-04 19:47:48 -03:00
  • 331f769590 SyntaxTokenizer improvements for pushTokensToOpenCloseSubsyntax with non-sequential captures. Added VimL support. Martín Lucas Golini 2026-01-04 17:21:35 -03:00
  • b084cab449 Text::setFillColor improvements for shaped text. Martín Lucas Golini 2026-01-03 18:38:33 -03:00
  • 45e1a9bf54 Update in C, C++, C#, Obj-C, Obj-C++, PowerShell, SmallBasic keywords. Martín Lucas Golini 2026-01-02 12:21:13 -03:00
  • 014d2b767c Improve UIMenu positioning (allow to take into account the trigger button to position). Martín Lucas Golini 2026-01-01 14:17:10 -03:00
  • d9d0a3539b A couple of minor changes. Martín Lucas Golini 2025-12-31 15:18:26 -03:00
  • 0af6de8bf2 Fix project paths in Android and iOS. Martín Lucas Golini 2025-12-31 14:48:00 -03:00
  • 2ce608ff09 Add Android and iOS CI (not tested). Martín Lucas Golini 2025-12-31 14:45:27 -03:00
  • c08687c9fe Fix iOS build. Martín Lucas Golini 2025-12-31 13:17:32 -03:00
  • d5e10aa790 Improve color emoji rendering. Add new test for emojis + text. Enabled text-shaper by default. Updated the NotoColorEmoji font with the latest version. Martín Lucas Golini 2025-12-30 17:52:31 -03:00
  • 34d6115db8 Fix opening nonexistent files from CLI. Martín Lucas Golini 2025-12-29 19:42:06 -03:00
  • 35cd04e490 Revert "Add a hide / minize button on each panel vertical bar." Martín Lucas Golini 2025-12-29 15:38:17 -03:00
  • c85a431ae3 Add a hide / minize button on each panel vertical bar. Martín Lucas Golini 2025-12-29 10:47:19 -03:00
  • 1d2dd61cf5 Added option to force opening documents in main split (Settings -> Window -> Open Documents in Main Split). Martín Lucas Golini 2025-12-29 01:44:04 -03:00
  • dfc23a5084 Add closeTerminalTabOnExit support for the status bar terminal. Martín Lucas Golini 2025-12-29 00:03:38 -03:00
  • da5ca25297 Added a Copy Contents button in AI Chat UI globes (since copying directly won't resolve the links automatically). Fix how ECODE_SHAREDIR is set. Fix a very rare race condition in LSPClientPlugin. Always resolve line number when locating files (do not enforce the need of the absolute path). Add aliases for YAML and Markdown. Martín Lucas Golini 2025-12-28 23:28:59 -03:00
  • f9eb012f77 Added an option to open new terminals in status bar panel. Martín Lucas Golini 2025-12-28 14:02:07 -03:00
  • b11985f5e0 In OSes with no primary selection if there's a selection over the terminal use that when pasting with middle mouse click, otherwise use the clipboard. Martín Lucas Golini 2025-12-28 12:07:29 -03:00
  • 2b4b9d98b6 Clear up settings menu Open Folder options. Martín Lucas Golini 2025-12-28 11:54:03 -03:00
  • 1df4972f56 Allow to expand/contract status bar panel. Martín Lucas Golini 2025-12-28 01:07:15 -03:00
  • 7cfd823881 Some clean up to the terminal configurations. Martín Lucas Golini 2025-12-27 20:01:48 -03:00
  • 8415e62b4c Update status bar terminals on scrollbar type or mode change. Martín Lucas Golini 2025-12-27 18:31:42 -03:00
  • 0ca36374c4 Terminal status bar now is a Tab Widget and can create any number of terminals. Fix a bug when initializing the LSP that provoked to not correctly send the initial commands. Added expand-text to UIPushButton. Added setAcceptsDropOfWidgetFn to externally control which widgets are accepted as droppable in UITabWidget. Improved draw invalidation in UIStackWidget. Martín Lucas Golini 2025-12-27 17:22:12 -03:00
  • 5fc5fcccb2 A couple of minor fixes to the terminal emulator. Martín Lucas Golini 2025-12-27 00:32:07 -03:00
  • 674c4c3011 Minor change in how ecode tints the title bar on macOS. Martín Lucas Golini 2025-12-26 20:30:34 -03:00
  • cb70f5b205 Apply terminal configuration changes to the status bar terminal. Martín Lucas Golini 2025-12-26 01:04:58 -03:00
  • c4e2ae49f8 Fix move event not being handled correctly within the FileSystemModel fileIsVisibleFn configuration (dicussed at: https://github.com/SpartanJ/ecode/discussions/776). Martín Lucas Golini 2025-12-25 17:07:12 -03:00
  • 73e5bf1506 Fix rare crash introduced recently in EventDispatcher. Change sun and moon icons. Martín Lucas Golini 2025-12-24 14:49:35 -03:00
  • 7004d7c282 Added an option to "Use status bar terminal" in the Run configuration. Martín Lucas Golini 2025-12-24 01:42:52 -03:00
  • 8f2b9d65ba Register debugger commands globally. Martín Lucas Golini 2025-12-24 00:39:26 -03:00
  • 396b3d9d07 Fix paste with middle-click in OSes with no primary selection. Fix emoji color positioning (broke in previous commit). Prevent dead-locks in LSP *very* heavy usage scenarios (added a few logs i might remove later). Enable auto-complete list highlighting by default. Martín Lucas Golini 2025-12-23 18:04:36 -03:00
  • 9ee71f3ca1 Fix underline and strike-through positioning. Martín Lucas Golini 2025-12-22 21:03:43 -03:00
  • 8a3b9f2bfb Merge remote-tracking branch 'origin/develop' into develop Martín Lucas Golini 2025-12-22 14:40:18 -03:00
  • 0cb44a39d2 Fix bitmap fonts text and cursor positioning. Martín Lucas Golini 2025-12-22 14:40:11 -03:00
  • b0707119ad Fix macOS build. Martín Lucas Golini 2025-12-22 01:34:10 -03:00
  • f3b6fcacf4 Implementation for "Light/dark theme should follow system default" (issue SpartanJ/ecode#754). Martín Lucas Golini 2025-12-22 01:16:05 -03:00
  • 2c70227c09 Fix Android build. Martín Lucas Golini 2025-12-21 20:28:27 -03:00
  • 06e98fd137 Fix underline and strikethrough size when top and bottom positions are the same due to the small difference generated bt the underlineThickness. Martín Lucas Golini 2025-12-21 17:19:25 -03:00
  • 5965d77e02 Add an option to configure the Settings -> Window -> "Use editor font in input fields" (this is enabled by default but not always convenient). Martín Lucas Golini 2025-12-21 13:00:52 -03:00
  • 8378f2a1fa Add scrollbar type and mode options for the terminal. Hack auto-scroll in terminal for Windows 11. Renamed ScrollViewType and made it global, properties are now overlay or outside. Added a couple of goodies for the terminal mode (retain side panel configuration and restore it if no terminals are left). Martín Lucas Golini 2025-12-21 02:01:37 -03:00
  • 4d6887dbb4 Fix emoji fonts (and unit tests). Martín Lucas Golini 2025-12-20 23:20:32 -03:00
  • a696c95d75 Improve bitmap fonts support in UICodeEditor. Refactor font loading. Martín Lucas Golini 2025-12-20 23:09:31 -03:00
  • 97ed873daa Take into account the line spacing to position the cursor. Martín Lucas Golini 2025-12-20 15:35:09 -03:00
  • f1157f3ac8 Minor nit fix in terminal text selection. Martín Lucas Golini 2025-12-20 11:17:14 -03:00
  • e4354787aa Build fix for macOS and FreeBSD. Update SOIL2. Use Ubuntu 24.04 on the Linux build (untested). Martín Lucas Golini 2025-12-20 10:30:21 -03:00
  • 35fbf7c733 Terminal: multiple issues with the copy/paste operations fixed. Now uses the primary selection when corresponds (middle mouse click, shift+insert). Fixed paste operation, it does not hang the app, pastes instantly contents and behaves exactly the same as other terminals. Incorporated new features into eterm. Martín Lucas Golini 2025-12-20 01:58:21 -03:00
  • e5a67727c4 Terminal: Add auto-scroll when selecting and mouse cursor moves out of vertical view range. Fix tab owned widget focus. Fix overlapping shortcuts and terminal shortcuts in terminal. Martín Lucas Golini 2025-12-19 14:20:17 -03:00
  • abda8775ac Add terminal cursor styles selection at Settings -> Terminal -> Cursor Styles. Fix how selection in terminal is enabled or disabled based on the reported application capabilities. Added sharedir option in premake files. Martín Lucas Golini 2025-12-19 12:56:16 -03:00
  • 7f340bad76 For the sake of being 100% safe while sending the didChangeConfiguration, always send at least an object and avoid sending a null (some servers are too strict with these things although I haven't found any case yet). Martín Lucas Golini 2025-12-18 13:30:29 -03:00
  • 825523bc47 Ups, revert back positionEncodings, that was not intentional. Martín Lucas Golini 2025-12-18 13:19:29 -03:00
  • 8a409d762a LSP client: always send the didChangeConfiguration, it seems that some servers won't initialize properly otherwise (pyright). Martín Lucas Golini 2025-12-18 13:14:34 -03:00
  • 622deb96df Do not trigger up/down when isn't in alt screen. Fix copy from history scrollback. Martín Lucas Golini 2025-12-18 10:46:42 -03:00
  • 9ae7d0bd54 Forgot to update efsw. Martín Lucas Golini 2025-12-18 01:54:26 -03:00
  • 7e2479778b In terminal simulate arrow keys when mouse is not active. Plus fix small bug. Martín Lucas Golini 2025-12-18 01:54:12 -03:00
  • e357785767 Disable mouse up event in UITab, does not seem to make much sense. Fix unbinded buttons in side panel when ecode is started with -t CLI parameter (SpartanJ/ecode#755). Martín Lucas Golini 2025-12-17 00:19:12 -03:00
  • 2c4dc55b8f Minor changes in LLM Chat UI. Fixes in shorthand parsing for background-position. Fix in alignment for non-editable UITextInput. Martín Lucas Golini 2025-12-15 00:21:20 -03:00
  • 661c453d94 Added menu-width-mode for UIDropDownList. Martín Lucas Golini 2025-12-14 18:41:41 -03:00
  • 5e98e1e706 Final fix for ecode MSVC arm64. Martín Lucas Golini 2025-12-14 18:03:15 -03:00
  • 9fbb16dee3 I guess this should work and fix the issues on ecode MSVC build. Martín Lucas Golini 2025-12-14 20:38:47 -03:00
  • 7cb012be90 Fix eepp.dll path. Martín Lucas Golini 2025-12-14 20:02:23 -03:00
  • 1116575774 Adds ecode nightly build MSVC arm64 target. Martín Lucas Golini 2025-12-14 19:40:00 -03:00
  • 7632e63f46 Should fix patch_commit_number.ps1 call (shallow clone cannot find a proper commit number for the nightly release). Martín Lucas Golini 2025-12-14 12:22:22 -03:00
  • 6ea10b5342 Should fix a tokenizer bug. Fixes in markdown grammar. Martín Lucas Golini 2025-12-14 01:55:47 -03:00
  • 4857c85e66 Fixes in markdown grammar, still wip. Martín Lucas Golini 2025-12-14 00:26:53 -03:00
  • 64c6a4848e Show the ecode version on the Welcome Screen (SpartanJ/ecode#752). Martín Lucas Golini 2025-12-13 18:47:37 -03:00