Skip to content

Releases: heckmon/code_forge

code_forge v8.4.1

10 Feb 12:17

Choose a tag to compare

code_forge v8.4.0

09 Feb 15:49

Choose a tag to compare

  • FEATURE: #39
  • FIX: html/xml guide lines.

code_forge v8.3.0

07 Feb 06:51

Choose a tag to compare

code_forge v8.2.0

06 Feb 16:59

Choose a tag to compare

code_forge v8.1.2

05 Feb 15:43

Choose a tag to compare

8.1.2

  • FIX: mobile scroll issue in RTL mode.

code_forge v8.1.1

04 Feb 13:48

Choose a tag to compare

  • FEATURE: added a public API called acceptSuggestion in the controller to manually accept LSP suggestions.

code_forge v8.1.0

04 Feb 09:38

Choose a tag to compare

  • ENHANCEMENT: Enhanced RTL support

code_forge v8.0.1

03 Feb 17:36

Choose a tag to compare

  • FEATURE: Added clearAllSuggestions() API on controller to clear all suggestions.
  • Updated README.

8.0.0: feat: Enhance semantic highlighting and identifier character support

02 Feb 19:28

Choose a tag to compare

✨ Major Features

🌍 RTL (Right-to-Left) Language Support

  • FEATURE: Added comprehensive RTL support for right-to-left languages (Arabic, Hebrew, etc.)
    • Added textDirection parameter to CodeForge widget to control text layout direction
    • Gutter automatically positions on the right side for RTL mode
    • Text rendering properly aligned for RTL languages with full visual direction support
    • Caret positioning and movement follow visual direction (not logical) for intuitive editing
    • Selection highlighting works correctly for RTL text
    • All UI elements (fold icons, line numbers, indentation guides) properly mirrored for RTL
    • Bracket pair highlighting supports RTL
    • Scroll behavior adapted for RTL layout

🔤 RTL Text Input & Navigation

  • FEATURE: Arrow keys follow visual direction for RTL
    • Left arrow visually moves left (logically moves right in RTL)
    • Right arrow visually moves right (logically moves left in RTL)
    • Home key moves to visual line start (line end in RTL)
    • End key moves to visual line end (line start in RTL)
    • Ctrl+Arrow word navigation follows visual direction for RTL
  • FEATURE: Arabic and Hebrew word detection for code completion
    • Updated word pattern matching to include Arabic (U+0600-U+06FF), Extended Arabic (U+08A0-U+08FF), and Hebrew (U+0590-U+05FF) Unicode ranges
    • LSP suggestions now work correctly for RTL languages
    • Word cache includes RTL script characters
    • Fold icons display correctly for RTL (< for folded, down arrow for unfolded)

🎯 Hover Documentation Improvements

  • ENHANCEMENT: Improved hover popup positioning and visibility
    • Hover documentation now positions above cursor if space is limited below
    • Better width constraints and viewport-aware positioning
    • Added hover content caching for improved performance
    • Hover content is fetched asynchronously without blocking rendering
    • Diagonal offset adjustment prevents hover from blocking cursor area
  • ENHANCEMENT: Hover triggered by tap on mobile/desktop now persists properly
    • Added onHoverSetByTap callback for better tap-based hover handling
    • Hover state properly managed to avoid flicker

🔧 Code Improvements & Fixes

  • FIX: Auto-indentation now only triggers on single Enter key press
    • Paste operations no longer re-indent pasted multi-line content incorrectly
    • Only the first newline in pasted text triggers auto-indent
  • FIX: CCLS semantic highlighting refresh debouncing
    • Added _scheduleCclsRefresh with 1 second debounce to avoid excessive document saves
    • CCLS servers that use custom semantic token protocol now work more reliably
  • ENHANCEMENT: Better suggestion popup positioning
    • Popup now positions above cursor when limited space below
    • Horizontal alignment adjusted to stay within viewport
    • Improved mobile responsiveness

📊 Internal Changes

  • Modified paragraph style to respect textDirection property
  • Added RTL-aware cache invalidation for paragraph building
  • Improved caret info calculation for RTL text positioning
  • Enhanced text offset to line/char conversion for RTL
  • Selection handle positioning adapted for RTL layout
  • Ghost text (AI completion) positioning corrected for RTL
  • Inlay hints and document colors properly positioned for RTL

7.0.0: feat: Add inlay hints and document color features

01 Feb 12:39

Choose a tag to compare

  • FEATURE: Added LspClientCapabilities class to selectively enable/disable LSP features during initialization.

    semanticHighlighting — Enable/disable semantic token highlighting

    codeCompletion — Enable/disable code completion suggestions

    hoverInfo — Enable/disable hover documentation

    codeAction — Enable/disable code actions and quick fixes

    signatureHelp — Enable/disable signature help

    documentColor — Enable/disable document color detection

    documentHighlight — Enable/disable document highlighting

    codeFolding — Enable/disable code folding

    inlayHint — Enable/disable inlay hints

    goToDefinition — Enable/disable "go to definition"

    rename — Enable/disable symbol renaming

  • FEATURE: Added deleteFoldRangeOnDeletingFirstLine parameter to CodeForge widget as requested in #24. When set to true, deleting the entire first line of a folded block will delete the whole folded region.

  • ENHANCEMENT: Mobile context menu toolbar now persists after "Select All" action.

  • ENHANCEMENT: Repositioned code action bulb icon on mobile to avoid overlap with fold icons and gutter.

  • ENHANCEMENT: LSP methods now check capability flags before executing, returning early with appropriate empty values when features are disabled.

  • ENHANCEMENT: Dynamic capability building during LSP initialization — only enabled features are advertised to the language server.

  • FEATURE: Inlay hints and color picker:

  • FEATURE: Added doucment highlight as requested in #22.

  • FEATURE: Added arrow key navigation for LSP suggestions in mobile as requested in #21.

  • FIX: #25

  • FIX: Fixed action icon misposition in mobile as requested in #23