I have an idea of creating an add-on or plugin in HE to import your syntax files

Started by Arthur, February 27, 2009, 01:41:02 AM

Previous topic - Next topic

Arthur

Just to reiterate:
the plugin should be able to work in form of a wizard importing your existing schema or walk a user through creating a schema on the fly, based on user input. So at a certain stage one would upload the keywords, delimiters and other control characters.

alex

Hello Arthur,

sorry for delay with responce. Now my input (preferences, everything is discussable):

General requirements:
- The application should be done as a Wizzard. Such desing simplify creating of the schema by requesting details step by step.
- It should support creating as spec files as user files.
- It should be possible to import schema from syntax definition of other editors.
- It should be possible to inherit properties form another schemas.
- It shohuld be possible to include styles from other schemas or include other syntaxes as embedded syntax.

Steps:

Specification part (xxx_spec.xml):
1) Select parent schema. Load inherited properties from it. Works in a such way, you collect schemas one by one till one which does not have parent/base schema. And then start collecting properties from bottom to top.
2) When base is selected and default are loaded user already can start to modify schema.
3) Check/Modify specification (everything inside Specification node)
4) Add/exclude/extend styles

  • Base property of style (id, name, colors, font styles etc)
  • Add Keywords (here can be used import from other editor schemas)
  • Add Blocks - continues areas with open/close tags(here can be used import from other editor schemas)
  • Add Words - any words described with lead_with, trail_with conditions
  • Define alllowed containers - styles, where this style can be included
5) Add Scopes

  • Add open tag (1), midlle tags(0..N), close tags(1..N)
  • Define other scope attributes (has_separator, sent_start, has_name etc)
  • Define alllowed containers - styles, where this style can be included
6) Add Labels

  • Name, group
  • Regexp label definitions (name, description)
  • Skip conditions
  • Define alllowed containers - styles, where this style can be included
7) Add formatting rules

User extension part (xxx_user.xml):
Also inhertable. If parent schema is not defined, it is parent schema of specification.
1) Add Code templates
2) Add Tools
3) Add context Help Items

.... I think this is already enought to discuss :)
HippoEDIT team
[url="http://www.hippoedit.com/"]http://www.hippoedit.com/[/url]