Editing revision 23 of PluginArchitectures
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences
Editing old revision 23. Saving this page will replace the latest revision with this text.
There are a couple of ways plugins are designed for text editors. By plugin, I mean a method of extending the TextEditor with a given MacroLanguage or compiled language or integration technology. The IbmEditorFamily of TextEditors has a history of using RexxLanguage and using it in a very particular way. Macros are sequences of built-in TextEditor commands (since all such editors have a CommandLine) surrounded by RexxLanguage control structures (IF-THEN-ELSE, DO-WHILE, etc.) and data structures (variables and stems). Since REXX is designed to 'address' a specific command line interpreter, it sends all non-built-in commands to the command line interpreter. This is the normal REXX way of doing things. In fact, the SUBCOM sub-command environment is a VM/CMS way of doing things that is explicitly available via REXX. In EmacsFamily editors, extension is performed by way of EmacsLisp. There are 'hooks' you can use as well as a lots of global variables that can be set to get the behavior you are looking for. Integration toolkits are more sophisticated. In the [[Eclipse]] IDE, it is possible to extend via the use of [http://www.osgi.org OSGi] compliant plug-ins. http://oscar.objectweb.org/ The HP SoftBench system used a messaging architecture called BMS and a program called Encapsulator to help integrate programs into SoftBench. Sun had a system called ToolTalk which seemed to have a similar ambition. Apple still supports an integration technology called AppleScript which allows for an object-oriented view of scripting application objects. In the [[ACME]] and [[sam]] editors, the plugin doesn't really exist. Instead, the selected text becomes input to a standard unix command. The stdout forms the replacement string. Many other editors have this capability
Summary:
This change is a minor edit.
Please calculate
+
=
(Visit
Preferences
to set your user name.)
View other revisions
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences