This extension is in early development.
Nova support for Dart, Flutter and AngularDart.
Support for syntax highlighting, language server protocol, auto formatting, clips and the Nova Color Assistant.
- Setting up Flutter tooling on macOS
- List of Dart lint rules
- Customising the linter
- Dart diagnostic messages
- Effective Dart documentation
- The Flutter command-line tool
- Flutter DevTools documentation
- Dart DevTools documentation
- Dart Code site
- Have a running app hot reloaded on save, add buttons and commands to start, stop hot reload and hot restart (
r
andR
in the terminal). - Add a command to create a Flutter app.
- Add command to open Dart's devtools.
- Show scaffold of the open file in the sidebar (Dart Code does this).
- Allow user to enable/disable highlighting inside strings. (Dart Vim Plugin does this).
- Nova does not allow scrolling inside LSP hover windows and many of the Dart analysis docs are too long to fit on screen.
- Syntax highlighting does not work inside LSP hover windows.
- Key bindings do not work if two running extensions use the same key binding. I would like to use
option-shift-f
to format, as is used by Prettier and Dart Code, but it does not work if Prettier is also running. Auto format on save is not affected. - Some syntax colours are as yet undecided and could change in the final syntax:
this
andsuper
, dartdoc highlighting.
Clone this repo, run yarn
or npm install
in the top level directory to install dependencies. Open in Nova nova .
then run the custom task to build the extension scripts before activating the project as extension from the the Extensions menu.
Thank you!
The syntax of Dart was modified from Dart Code by Danny Tuppeny. Much of the code for the LSP was copied from TypeScript by Cameron Little. Clips are borrowed from Dart Code by Danny Tuppeny. The script for loading the color assistant was adapted from Nova's built in css extension. Many thanks to the creators of those extensions!
Dart and the related logo are trademarks of Google LLC. Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.