Editing revision 25 of PluginArchitectures
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences
Editing old revision 25. 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 On Microsoft Windows, plugins are sometimes DLL files. For example, EditPlug uses DLL files written in any language (i.e. delphi or Visual C++) and loads the plugins dynamically at run time. On Linux, plugins can be DSO or SO files (similar to DLL's on windows. also known as Shared Objects).
Summary:
This change is a minor edit.
Please calculate
*
=
(Visit
Preferences
to set your user name.)
View other revisions
HomePage
|
RecentChanges
|
EditorIndex
|
TextEditorFamilies
|
Preferences