Make Atom Packages in Dart
- Atom API Bindings
- Super Awesome Package Builder
import"package:atom/atom.dart";
voidmain() {
onPackageActivated(activate);
}
voidactivate() {
atom.workspace.observeTextEditors((TextEditor editor) {
print("Text Editor Opened");
editor.onWillInsertText((WillInsertTextEvent event) {
print("Inserting Text: ${event.text}");
});
});
}The package builder is a script that builds your package using the instructions you give it.
It generates the following:
- Styles
- KeyMaps
- Menus
- Context Menus
- Grammars
- package.json
And it also compiles your code to JavaScript and lints your package.json!
import"package:atom/builder.dart";
Menu textMenu =menu("dart-text", contextMenu:true, selector:"atom-workspace")
.createMenu("Text Utilities");
voidmain() {
package(
"dart-text",
"0.1.0",
license:"MIT",
repository:"https://github.com/DirectMyFile/atom.dart",
description:"Text Utilities in Dart",
main:"lib/index.js"
).atom(">0.180.0");
addTextModifier("Reverse", "reverse");
addTextModifier("Base64 Encode", "encode_base64");
addTextModifier("Base64 Decode", "decode_base64");
addTextModifier("Uppercase", "uppercase");
addTextModifier("Lowercase", "lowercase");
addTextModifier("Switchcase", "switchcase");
build();
}
voidaddTextModifier(String name, String cmd) {
textMenu.createCommand(name, "dart-text:${cmd}");
}