MicroEdit
µ-Edit is a lightweight pluggable editor written in Groovy utilizing the TextMate(c) bundles library
Install / Use
/learn @wcherry/MicroEditREADME
microEdit
µ-Edit is a lightweight pluggable editor written in Groovy. The goal of the project is to provide a easy to use source code editor that allows use of Textmate(tm) bundles. Textmate(tm) bundles are open source and are targeted at the Mac-OS operating system for use in Textmate(tm). These bundles provide functionality in the following areas:
- Grammar - Syntax highlighting, code folding,
- Snippets - Provides text expansion
- Commands -
- Preferences -
The development style guides are as follows:
- Source code files should be 200 lines are less in length.
- Native code, namely SWT, should be isolated from the main code
- Plugins should not cause unnecessary dependencies
Startup procedure The core plugin includes the bootstrap code as well as the core module.
- The Application class loads the properties file from either the start up directory or the users home directory. It then creates the PluginManager object calling loadPlugins(), startPlugins(), and then pluginMgr.startMain().
- PluginManager calls each plugins load() and start() process letting the plugin
Plugin configuration file
The plugin configuration file MUST be named plugin.class and can be anywhere in the package hierarchy. The jar file
must be in the plugins directory.
name - the name of the plugin, should be a single camel-cased word
description - a brief english language description
version - version number, should be a decimal number (e.g 1.02)
pluginClass - full class name that will be used to execute any actions. Can optionally provide the load(),
start(), stop(), and unload() methods.
installer - full class name that will be called with the install() and uninstall() methods when the plugin is
first installed and when the plugin is removed.
actions - list of actions that the plugin provides
keyMap - the default key map, this is used when the plugin is first installed or when the key map is reset.
menu - the menu layout to use, only one level of submenus are currently supported.
Event bus The plugins can communicate asynchronous events to each other using the event bus. Events must be registered before the can be listened to or fired. For example the core plugin fires the 'documentLoaded' event that the Grammar plugin subscribes to. When it receives the event it applies the appropriate grammar styler to the window.
Related Skills
node-connect
337.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.3kCommit, push, and open a PR
