diff options
| author | Emilio Jesus Gallego Arias | 2019-01-27 21:48:54 +0100 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2019-01-27 21:48:54 +0100 |
| commit | 5aa4b87d4ed71a22a696ae73af77ced8f5c6da47 (patch) | |
| tree | 3f24c39a9f989df118e6d41eafefdfd16b0c824d /ide/fake_ide.ml | |
| parent | 096574e4e5c768421a6944d71dc9ce3b28111706 (diff) | |
| parent | aa66c223fa371f6a803de614387dc233cdf30efd (diff) | |
Merge PR #9399: [ide] fail on unavailable commands before adding to the document
Reviewed-by: ejgallego
Ack-by: ppedrot
Diffstat (limited to 'ide/fake_ide.ml')
| -rw-r--r-- | ide/fake_ide.ml | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ide/fake_ide.ml b/ide/fake_ide.ml index 8b0c736f50..4e26cb6095 100644 --- a/ide/fake_ide.ml +++ b/ide/fake_ide.ml @@ -241,6 +241,9 @@ let eval_print l coq = | [ Tok(_,"ADD"); Top [Tok(_,name)]; Tok(_,phrase) ] -> let eid, tip = add_sentence ~name phrase in after_add (base_eval_call (add ((phrase,eid),(tip,true))) coq) + | [ Tok(_,"FAILADD"); Tok(_,phrase) ] -> + let eid, tip = add_sentence phrase in + after_fail coq (base_eval_call ~fail:false (add ((phrase,eid),(tip,true))) coq) | [ Tok(_,"GOALS"); ] -> eval_call (goals ()) coq | [ Tok(_,"FAILGOALS"); ] -> @@ -267,7 +270,8 @@ let eval_print l coq = prerr_endline "Quitting fake_ide"; exit 0 | Tok("#[^\n]*",_) :: _ -> () - | _ -> error "syntax error" + | Tok(s,_) :: _ -> error ("syntax error at " ^ s) + | _ -> error ("syntax error") let grammar = let open Parser in @@ -275,6 +279,7 @@ let grammar = let eat_phrase = eat_balanced '{' in Alt [ Seq [Item (eat_rex "ADD"); Opt (Item eat_id); Item eat_phrase] + ; Seq [Item (eat_rex "FAILADD"); Item eat_phrase] ; Seq [Item (eat_rex "EDIT_AT"); Item eat_id] ; Seq [Item (eat_rex "QUERY"); Opt (Item eat_id); Item eat_phrase] ; Seq [Item (eat_rex "WAIT")] |
