diff options
| author | hallgren <hallgren@chalmers.se> | 2012-02-16 16:44:44 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2012-02-16 16:44:44 +0000 |
| commit | d98f63af515b873c84a5ade3d692bca61dd12896 (patch) | |
| tree | 8892bf1f8810e5de99366c632fef84b0a69b8c7c /src | |
| parent | 03aca7421b15126596eab61943ab12332df49a1c (diff) | |
gfse: you can now remove grammars from the list of inherited grammars
Diffstat (limited to 'src')
| -rw-r--r-- | src/www/gfse/editor.js | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/www/gfse/editor.js b/src/www/gfse/editor.js index b94f2c2c5..577b4857b 100644 --- a/src/www/gfse/editor.js +++ b/src/www/gfse/editor.js @@ -396,9 +396,20 @@ function draw_extends(g) { kw_extends.title="This grammar is an extension of the grammars listed here." var m1=more(g,add_extends,"Inherit from other grammars"); var m2=more(g,add_extends,"Inherit from more grammars"); - return exts.length>0 - ? indent([extensible([kw_extends,ident(exts.join(", ")),m2])]) - : indent([extensible([span_class("more",kw_extends),m1])]) + var es=[exts.length>0 ? kw_extends : span_class("more",kw_extends)]; + function del(i) { return function() { delete_extends(g,i); }} + for(var i=0;i<exts.length;i++) { + if(i>0) es.push(sep(", ")) + es.push(deletable(del(i),ident(exts[i]),"Don't inherit from "+exts[i])); + } + es.push(exts.length>0 ? m2 : m1); + return indent([extensible(es)]) +} + +function delete_extends(g,ix) { + g.extends=delete_ix(g.extends,ix); + //timestamp(g); + reload_grammar(g); } function add_extends(g,el) { |
