Changeset 446
- Timestamp:
- Jun 22, 2010 7:46:46 PM (14 years ago)
- Location:
- trunk/MagnoliaPlugin
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MagnoliaPlugin/plugin.xml
r424 r446 15 15 </extension> 16 16 <extension 17 point="org.eclipse.imp.runtime.languageDescription"> 18 <language 19 description="Experimental language specification language" 20 extensions="mxa" 21 language="MetaXa"> 22 </language> 23 </extension> 24 <extension 17 25 point="org.eclipse.imp.runtime.parser"> 18 26 <parser … … 22 30 </extension> 23 31 <extension 32 point="org.eclipse.imp.runtime.parser"> 33 <parser 34 class="org.magnolialang.eclipse.editor.ParseController" 35 language="MetaXa"> 36 </parser> 37 </extension> 38 <extension 24 39 point="org.eclipse.imp.runtime.tokenColorer"> 25 40 <tokenColorer 26 41 class="org.magnolialang.eclipse.editor.TokenColorer" 27 42 language="Magnolia"> 43 </tokenColorer> 44 </extension> 45 <extension 46 point="org.eclipse.imp.runtime.tokenColorer"> 47 <tokenColorer 48 class="org.magnolialang.eclipse.editor.TokenColorer" 49 language="MetaXa"> 28 50 </tokenColorer> 29 51 </extension> … … 175 197 default="true" 176 198 icon="icons/magnolia-16.png" 177 extensions="mg "178 filenames="*.mg "199 extensions="mg,mxa" 200 filenames="*.mg,*.mxa" 179 201 class="org.magnolialang.eclipse.editor.MagnoliaEditor" 180 202 id="magnolia_eclipse.editors.magnolia"> -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/editor/ParseController.java
r442 r446 29 29 30 30 public class ParseController implements IParseController { 31 private final ModuleLoader loader = new ModuleLoader();31 private ModuleLoader loader; 32 32 33 33 … … 37 37 private IPath path; 38 38 private MagnoliaProjectManager manager; 39 p ublic static final String LANGUAGE_NAME = "Magnolia";39 private String languageName; 40 40 41 public static final Language LANGUAGE = LanguageRegistry 42 .findLanguage(LANGUAGE_NAME); 41 private Language language; 43 42 44 43 public ParseController() { … … 59 58 60 59 public Language getLanguage() { 61 return LANGUAGE;60 return language; 62 61 } 63 62 … … 85 84 if(manager != null) 86 85 manager.removeEditedModule(this); 86 87 if(filePath.getFileExtension().equals("mg")) 88 this.languageName = "Magnolia"; 89 else if(filePath.getFileExtension().equals("mxa")) 90 this.languageName = "MetaXa"; 91 else 92 throw new ImplementationError("Unknown file extension " + filePath.getFileExtension()); 87 93 94 this.language = LanguageRegistry.findLanguage(languageName); 88 95 this.path = filePath; 89 96 this.handler = handler; … … 91 98 this.manager = MagnoliaProjectManager.getProjectManager(project); 92 99 100 this.loader = new ModuleLoader(languageName, manager); 93 101 manager.addEditedModule(this); 94 102 } … … 99 107 try{ 100 108 handler.clearMessages(); 101 monitor.beginTask("parsing Magnolia", 1);109 monitor.beginTask("parsing " + languageName, 1); 102 110 103 111 URI uri = ProjectURIResolver.constructProjectURI(project, path); … … 115 123 } 116 124 catch(FactTypeUseException e){ 117 MagnoliaPlugin.getInstance().logException("parsing magnoliafailed", e);125 MagnoliaPlugin.getInstance().logException("parsing " + languageName + " failed", e); 118 126 } 119 127 catch(IOException e){ 120 MagnoliaPlugin.getInstance().logException("parsing magnoliafailed", e);128 MagnoliaPlugin.getInstance().logException("parsing " + languageName + " failed", e); 121 129 } 122 130 catch(SyntaxError e){ -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/editor/TokenColorer.java
r355 r446 25 25 public static final String AMBIGUOUS = "AMB"; 26 26 public static final String ERROR = "SyntaxError"; 27 public static final String MXAID = "MXaID"; 28 public static final String MXATRANSITION = "MXaTransition"; 29 public static final String MXASTRINGLITERAL = "MXaStringLiteral"; 30 public static final String MXATOKEN = "Token"; 31 public static final String MXAMETAVAR = "MetaVar"; 32 public static final String MXAVAR = "MXaVar"; 27 33 public static final List<String> categories = Arrays.asList( 28 34 TYPE, IDENTIFIER, VARIABLE, CONSTANT, COMMENT, TODO, FUNCTION, PROCEDURE, KEYWORD, 29 AMBIGUOUS, ERROR); 35 AMBIGUOUS, ERROR, 36 MXAID, MXATRANSITION, MXASTRINGLITERAL, MXATOKEN, MXAMETAVAR, MXAVAR); 30 37 private final TextAttribute normal; 31 38 … … 48 55 map.put(AMBIGUOUS,new TextAttribute(null, display.getSystemColor(SWT.COLOR_YELLOW), SWT.NONE)); 49 56 map.put(ERROR,new TextAttribute(null, display.getSystemColor(SWT.COLOR_RED), SWT.NONE)); 57 map.put(MXAID,new TextAttribute(display.getSystemColor(SWT.COLOR_BLACK), null, SWT.NONE)); 58 map.put(MXASTRINGLITERAL,new TextAttribute(display.getSystemColor(SWT.COLOR_DARK_RED), null, SWT.NONE)); 59 map.put(MXATRANSITION,new TextAttribute(display.getSystemColor(SWT.COLOR_DARK_BLUE), null, SWT.NONE)); 60 map.put(MXATOKEN,new TextAttribute(display.getSystemColor(SWT.COLOR_BLACK), null, SWT.BOLD)); 61 map.put(MXAMETAVAR,new TextAttribute(display.getSystemColor(SWT.COLOR_DARK_CYAN), null, SWT.BOLD)); 62 map.put(MXAVAR,new TextAttribute(display.getSystemColor(SWT.COLOR_DARK_CYAN), null, SWT.BOLD)); 50 63 } 51 64 -
trunk/MagnoliaPlugin/src/org/magnolialang/eclipse/editor/TokenIterator.java
r355 r446 60 60 if(TokenColorer.categories.contains(sort)) 61 61 category = sort; 62 else 63 category = ProductionAdapter.getCategory(prod); 62 64 if(TokenColorer.ERROR.equals(ProductionAdapter.getConstructorName(prod))) 63 65 category = TokenColorer.ERROR; -
trunk/MagnoliaPlugin/src/org/magnolialang/load/ModuleLoader.java
r439 r446 37 37 public ModuleLoader(MagnoliaProjectManager manager){ 38 38 this(new ModuleParser(), manager); 39 } 40 41 public ModuleLoader(String languageName, MagnoliaProjectManager manager){ 42 this(new ModuleParser(languageName), manager); 39 43 } 40 44
Note:
See TracChangeset
for help on using the changeset viewer.