Integration of Modula-2 into CubicIDE

While playing with Tom Breeden’s PPC native Modula-2 [AgletM2PPC] environment I really missed integration to CubicIDE [CubicIDE/GoldED 8]. So I generated some new files for a *slightly* better IDE integration. You need Tom’s AgletM2 PPC port and his GoldED Modula-2 dictionaries and guide files.

Files

This files were used for setting up CubicIDE:

M2-reserved                 (part of Toms AgletM2 package)
M2-tokens                   (part of Toms AgletM2 package)
HelloWorld.mod              (part of Toms AgletM2 package)
AgletM2PPC.guide            (part of Toms AgletM2 package)

generic.parser              (already part of CubicIDE)
modula-2.browser            (already part of CubicIDE)

explorer.config             (this archive)
textbar.config              (this archive)
modula-2.syntax             (this archive)
modula-2.dictionary         (this archive)
modula-2.structure          (this archive)
modula-2.context            (this archive)
modula-2.api                (this archive)

Important (and unimportant) Remarks

• Make a backup copy of your „GoldED:etc/registry/presets/#?“ first!
• You’re using this files and installation tips at your own risk!
• It has the potential to break your current CubicIDE installation!
• This is quite a „hot hack“ – of course the integration into the CubicIDE can be much better.
• The AgletM2PPC package should be installed first.

Installation

You should copy this files to the following places in your CubicIDE installation:

GoldED:add-ons/Modula2/Syntax/Dictionaries/M2-reserved
GoldED:add-ons/Modula2/Syntax/Dictionaries/M2-tokens
GoldED:add-ons/Modula2/examples/HelloWorld.mod

GoldED:add-ons/Modula2/etc/explorer.config
GoldED:add-ons/Modula2/etc/textbar.config
GoldED:etc/registry/presets/modula-2.syntax
GoldED:etc/registry/presets/modula-2.dictionary
GoldED:etc/registry/presets/modula-2.structure
GoldED:etc/registry/presets/modula-2.context
GoldED:etc/registry/presets/modula-2.api

Your Aglet Modula-2 installation should have made an assign to „agv3:“. We need the AgletM2PPC.guide in

agv3:Docs/AgletM2PPC.guide

If you copied this guide file somewhere else, you have to edit the pathes in „textbar.config“ manually (see above). Setting up GoldED to use this presets is not trivial, so I included some screenshots of my installation for help.

  1. Add a new filetype named „Modula-2“. [see: 001_main_filetype.png]
  2. Define an activation rule, here I used „#?.(mod|m2|def)“. [see: 001_main_filetype.png]
  3. Add a dictionary – just select „modula-2.dictionary“. [see: 002_dictionary.png]
  4. Add a structure – just select „modula-2.structure“. [see: 003_structure.png]
  5. Add a context – select „modula-2.context“. [see: 004_context.png]
  6. Add a plug-in – select „modula-2.api“ [see: 005_api.png, 006_api_explorer.png, 007_api_textbar.png]
  7. Add a syntax highlighting scheme – select „modula-2.syntax“. [see: 008_syntax_color.png, 009_syntax_sample.png, 010_syntax_syntax.png, 011_syntax_parser_dic.png, 012_syntax_parser_str.png, 013_syntax_parser_typ.png, 014_syntax_parser_sep.png]
  8. Save all and load a Modula-2 source, voilá!. [see: 000_CubicIDE_GoldED8.M2.png]
  9. For those who would like to have an additional entry in the toolbar for manual selection of the filetype „Modula-2“: In Settings navigate to filetype „TEXT“, go to the toolbars/standard/Buttons/toolbar-drop-caret section, duplicate one of the entries (i.e. Lisp), rename it to „Modula-2“ and alter the „SET“ command to your activation rule (here: „.m2“, see step 2. above), save, that’s it. [see: 015_standard_gadgets.png]

Versions

0.1 (20. Dec. 2009)
• initial release.

0.2 (21. Dec. 2009)
• some more syntax highlight definitions, rudimentary context handling, english language screenshots, basic explorer and textbar api configuration.

0.3 (13. Feb. 2010)
• corrected some typos/errors and added here and there further bits to the configuration (Thanks to Tom!)
• added some maybe useful icons, inspired by the older/smaller OS4.1 style.
• added .dummy files to preserve archived drawer structure.

Download

Here or from OS4Depot.