code_forge
A sophisticated code editor package for flutter backed by rust backend.
10.12.0
3.9K downloads/mo
#4205 most downloaded on pub.dev
heckmon/code_forge
What this package is like to depend on
Last release 4 days ago
20 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 66 of 66 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
66 releases · first in 2025
66 releases in the last 12 months
see the full history below
Release timeline
66 releases · Dec 2025 to Aug 2026Releases
latest 60 of 66-
10.12.020 Aug 2026 -
10.11.009 Aug 2026Release notes
Open source →What's Changed
- FIX: Reverted back from SPM to Cocoapods to fix #94.
Full Changelog: 10.10.0...10.11.0
-
10.10.308 Aug 2026 -
10.10.208 Aug 2026 -
10.10.108 Aug 2026 -
10.10.005 Aug 2026 -
10.9.029 Jul 2026Release notes
Open source →- FEATURE: Added custom context menu item as requested in #89.
- FIX: Merged #93 to fix FRB crash on gradle 9.
What's Changed
- fix iOS and macOS setup by @opheliagame in #91
- fix: replace project.exec with ExecOperations for Gradle 9 compability by @avi-saccharose in #93
New Contributors
- @opheliagame made their first contribution in #91
- @avi-saccharose made their first contribution in #93
Full Changelog: 10.7.0...10.9.0
-
10.8.016 Jul 2026 -
10.7.103 Jul 2026 -
10.7.029 Jun 2026 -
10.6.010 Jun 2026Release notes
Open source →- FIX: #82
- FIX: Gutter mismatch.
- FEATURE: Exposed vertical scroll physics.
Release notes
Open source →- FIX: #82
- FIX: Gutter mismatch.
- FEATURE: Exposed vertical scroll physics.
-
10.5.005 Jun 2026 -
10.4.101 Jun 2026 -
10.4.001 Jun 2026 -
10.3.031 May 2026 -
10.2.029 May 2026 -
10.1.028 May 2026Release notes
Open source →- FIX: #76
- FIX: Semantic highlight flicker on backspace.
- FIX: Fold bug on indentation based languages
- FEATURE: Added chinese and spanish translation on README
- FIX: #76
-
10.0.127 May 2026 -
10.0.027 May 2026Release notes
Open source →-
Migrated the backend from dart to rust:
- Uses [ropey](https://crates.io/crates/ropey) crate for text storage. - Introduced [SumTree](https://zed.dev/blog/zed-decoded-rope-sumtree) data structure to store line details using the [zed-sum-tree](https://crates.io/crates/zed-sum-tree) crate, used by the [Zed editor](https://zed.dev/). - Bidi support has been enhanced using the [unicode-bidi](https://crates.io/crates/unicode-bidi?utm_source=chatgpt.com) crate for RTL languages. - Bracket pair calculation, fold range calculation, etc has been moved to rust side.- FEATURE: Line number index in scrollbar.
- FEATURE: New
ScrollbarDecorationAPI to customize the scroll bar. - FEATURE: Code action bulb icon now shows on the line start.
- API CHANGE:
enableSuggestionshas been changed toenableLocalSuggestionsand default value is false. This API cannot be used to disable LSP suggestions. Usecapabilitiesfield in theLspConfiginstead. - FIX: #72 <p align="center"> <img src="https://raw.githubusercontent.com/heckmon/code_forge/refs/heads/main/gifs/1M.gif" alt="CodeForge Demo" width="800"/><sub><br>Smooth editing in 1M+ lines of code, tested on a low end PC with pentium dual core CPU and no dedicated graphics card.</sub> </p>
-
-
9.10.015 May 2026 -
9.9.012 Apr 2026Release notes
Open source →- FIX: Cursor jump on typing.
- FIX: Frozen horizontal scroll on dynamic font size.
- FIX: Cursor jump on typing.
-
9.8.010 Apr 2026 -
9.7.031 Mar 2026 -
9.6.029 Mar 2026 -
9.5.027 Mar 2026 -
9.4.024 Mar 2026Release notes
Open source → -
9.3.021 Mar 2026Release notes
Open source →- FIX: #54
- FEATURE: Multiple highlight grammars for a single editor instance.
- FIX: #54
-
9.2.012 Mar 2026 -
9.1.004 Mar 2026 -
9.0.002 Mar 2026Release notes
Open source →-
FEATURE: Multi-cursor
- Alt + Click to add multiple cursors in the editor. - APIs: ```dart // Multi-cursor operations controller.addMultiCursor(int line, int character); controller.clearMultiCursor(); controller.backspaceAtAllCursors(); controller.insertAtAllCursors(String textToInsert); ```
-
-
8.5.128 Feb 2026 -
8.5.028 Feb 2026 -
8.4.110 Feb 2026 -
8.4.009 Feb 2026 -
8.3.007 Feb 2026 -
8.2.006 Feb 2026 -
8.1.205 Feb 2026 -
8.1.104 Feb 2026Release notes
Open source →- FEATURE: added a public API called
acceptSuggestionin the controller to manually accept LSP suggestions.
- FEATURE: added a public API called
-
8.1.004 Feb 2026 -
8.0.103 Feb 2026Release notes
Open source →- FEATURE: Added
clearAllSuggestions()API on controller to clear all suggestions. - Updated README.
- FEATURE: Added
-
8.0.002 Feb 2026Release notes
Open source →✨ Major Features
🌍 RTL (Right-to-Left) Language Support
- FEATURE: Added comprehensive RTL support for right-to-left languages (Arabic, Hebrew, etc.)
- Added
textDirectionparameter toCodeForgewidget 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
- Added
🔤 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
onHoverSetByTapcallback for better tap-based hover handling - Hover state properly managed to avoid flicker
- Added
🔧 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
_scheduleCclsRefreshwith 1 second debounce to avoid excessive document saves - CCLS servers that use custom semantic token protocol now work more reliably
- Added
- 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
- FEATURE: Added comprehensive RTL support for right-to-left languages (Arabic, Hebrew, etc.)
-
7.0.001 Feb 2026Release notes
Open source →-
FEATURE: Added
LspClientCapabilitiesclass to selectively enable/disable LSP features during initialization.<br> •semanticHighlighting— Enable/disable semantic token highlighting<br> •codeCompletion— Enable/disable code completion suggestions<br> •hoverInfo— Enable/disable hover documentation<br> •codeAction— Enable/disable code actions and quick fixes<br> •signatureHelp— Enable/disable signature help<br> •documentColor— Enable/disable document color detection<br> •documentHighlight— Enable/disable document highlighting<br> •codeFolding— Enable/disable code folding<br> •inlayHint— Enable/disable inlay hints<br> •goToDefinition— Enable/disable "go to definition"<br> •rename— Enable/disable symbol renaming<br> -
FEATURE: Added
deleteFoldRangeOnDeletingFirstLineparameter toCodeForgewidget as requested in #24. When set totrue, 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:<br>
- Added LSP inlay hints and Colour picker as requested in #22.<br><br> Inlay hint demo: https://github.com/user-attachments/assets/658fd76f-5650-4374-b44d-58db69813e66 <br> Color pciker demo: https://github.com/user-attachments/assets/a7e1795c-83ca-411f-9c1d-81c8d4949926
-
FEATURE: Added doucment highlight as requested in #22.<br>
- demo: https://github.com/user-attachments/assets/593a524f-f5d7-45af-b5a5-d67cc1ed95fa
-
FEATURE: Added arrow key navigation for LSP suggestions in mobile as requested in #21.<br>
- demo: https://github.com/user-attachments/assets/8237dbdb-ba36-490d-9db2-4ffe1e24da8a
-
FIX: #25
-
FIX: Fixed action icon misposition in mobile as requested in #23
-
-
6.1.030 Jan 2026Release notes
Open source →- FEATURE: Added more public API methods to the controller.<br>
•
duplicateLine()<br> •moveLineDown()<br> •moveLineUp()<br> •callSignatureHelp()<br> - ENHANCEMENT: LSP suggestions color
- FEATURE: Added more public API methods to the controller.<br>
•
-
6.0.029 Jan 2026 -
5.2.014 Jan 2026 -
5.1.012 Jan 2026Release notes
Open source →- FEATURE: Scoll to the desired line using the
controller.scrollToLine(int line)API. - ENHANCEMENT: Removed unused http package.
- FEATURE: Scoll to the desired line using the
-
5.0.111 Jan 2026 -
5.0.011 Jan 2026Release notes
Open source →-
FEATURE: Added git diff support: <p align="left"> <img src="https://raw.githubusercontent.com/heckmon/code_forge/refs/heads/main/gifs/git_diff.png" alt="Git diff" heihght="400" width="400"/> </p>
-
ENHANCEMENT: Removed built-in AI completion and APi calls, user can use
controller.setGhostText(). -
ENHANCEMENT: Enhanced large text handling.
-
-
4.3.006 Jan 2026Release notes
Open source →- FEATURE: BiDi support in
Ropedata structure. - FEATURE: Immutable rope operations - insert and delete.
- FEATURE: BiDi support in
-
4.2.005 Jan 2026Release notes
Open source →- FEATURE: Added LSP signature help.
- ENHANCEMENT: Improved and responsive selection tool bar for mobile.
-
4.1.002 Jan 2026Release notes
Open source →- FEATURE: Added semantic highlight support for the custom protocol used by the
cclslanguage server.
- FEATURE: Added semantic highlight support for the custom protocol used by the
-
4.0.028 Dec 2025Release notes
Open source →- ENHANCEMENT: Enhanced
FindWordControllerfor efficient word searching. - FEATURE: Added new
finderBuilderAPI to implement the find-replace serach bar. - FEATURE: Added keyboard shortcuts Ctrl + F and Ctrl + H to show the find-replace search bar.
- FIX: Scroll doesn't work after selecting a word.
- ENHANCEMENT: Enhanced
-
3.0.028 Dec 2025Release notes
Open source →- FEATURE: Find and highlight multiple words with the new
FindWordControllerAPI. Seperate styling is available for both focused word and unfocued words. - FEATURE: Double click to select a word is now available in desktop also.
- FIX: Code reslove for focused suggestion persists on the screen.
- FIX: Removed cut, paste and other writing operations from read only mode.
- FIX: Line wrap wasn't responsive on resizing the screen.
- FIX: Suggestions persists on cursor movement.
- FEATURE: Find and highlight multiple words with the new
-
2.2.026 Dec 2025 -
2.1.026 Dec 2025 -
2.0.025 Dec 2025Release notes
Open source →- REFACTOR: Moved the LSP configuration and logic from the
CodeForgeto theCodeForgeController. - FIX: Code action persists on mobile.
- REFACTOR: Moved the LSP configuration and logic from the
-
1.5.025 Dec 2025 -
1.4.020 Dec 2025Release notes
Open source →- FEATURE: Added LSP
completionItem/resolveto show documentation for completion items. - FEATURE: Added LSP auto import.
- FEATURE: Theme based dynamic color for suggestion popup.
- FEATURE: Added LSP
-
1.3.120 Dec 2025 -
1.3.019 Dec 2025Release notes
Open source →- FIX: Editor width had been determined by the width of the longest line, fixed it by using the viewport width.
- FIX: Changed filePath based LSP initialization to workspace based approach to manage multiple files from a single server instance.
- FIX: Tapping the end of the longest line won't focus the editor.