affogato_editor 0.3.0 copy "affogato_editor: ^0.3.0" to clipboard
affogato_editor: ^0.3.0 copied to clipboard

A feature-rich and extensible code workspace for Flutter Web.

Affogato Editor #

Finally, the powerful, extensible, and beautiful code editor workspace that Flutter Web needed.

Note

The project is currently in pre-release stage. Feel free to depend on it, but be forewarned that the functionality is very limited right now. I am working to build out features rapidly, and the milestones page should give you a rough gauge of when certain features will be complete.

Documentation #

While you can find the API documentation on the package page, you might be better served with the more user-friendly, not incomplete, and up-to-date documentation here.

Features #

This is an outline of the features in this version. For a full list of features (both existing and planned), you may visit the milestones page of the repo.

Warning

Experimental features are subject to drastic changes, and dependent projects should not rely on those features until they reach a stable release.

Warning

Here's a disclaimer that is going be either really relatable or really concerning: The features listed below are not tested systematically. Instead, all I do before pushing out a new release is a manual check that existing features are working. I honestly don't have the time or effort to expend on writing tests, at least not right now when the codebase is relatively small and predictable. If YOLO-ing releases into production isn't really your jam, then please reconsider depending on this package for now. Alternatively, you can email me directly (obsidian.infinitum@gmail.com) to request for better test coverage, and I'll definitely get down to it if there is sufficient demand for it.

Core Editor Functionality #

  • UI that somewhat resembles VS Code
    • Directory tree with icons and indent guides
    • Interactions with buttons on directory tree are highly unstable
  • Loading files: programmatic (no uploads/downloads supported yet)
  • Modifying file content with autosave
  • Multi-pane support: open multiple files at once
    • Drag-and-drop to create new panes and move files between panes
    • Can't remove panes yet
  • Line numbers
  • Breadcrumbs
  • Bracket/quote matching
  • Automatic indentation

IDE Functionality #

  • Basic language-specific highlighting
  • Search, search-and-replace
  • Basic completions menu based on words used in document

Customisation and Extensibility #

  • Custom theme support
  • Save and load workspace state (open panes and documents)
  • Rudimentary support for Window, Language, File Manager, Events, and Extensions APIs

Acknowledgements #

The Affogato Project is an open-source project that would not have been possible without the invaluable and selfless contributions of the open-source community:

  • Much love and respect to the Reqable project for:
    • the re_highlight submodule which contains HighlightJS syntax highlighting rules rewritten in Dart.

    • the amazing work on their own high-performance code editor, re_editor, which, as I have come to realise, is an ambitious undertaking

  • Many thanks to the open-source Seti UI Theme which maintains the icons used by the file explorers in VSCode and other editors.
  • and to the FlutterIcon tool for helping convert the SVG icons to TTF files that can be imported into Flutter and used as IconData.
0
likes
130
points
15
downloads

Publisher

verified publisherdev.obsivision.com

Weekly Downloads

A feature-rich and extensible code workspace for Flutter Web.

Homepage
Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

GPL-3.0 (license)

Dependencies

flutter, re_highlight

More

Packages that depend on affogato_editor