diff options
| author | Emilio Jesus Gallego Arias | 2017-04-21 15:01:20 +0200 |
|---|---|---|
| committer | Emilio Jesus Gallego Arias | 2017-04-21 15:04:56 +0200 |
| commit | e1637bef0f38b46840f146f146ddd4f17bec129a (patch) | |
| tree | f3e578d92f0896aee8b7482b00a9072a88e73eeb | |
| parent | c86c6558fcf7f8dc4a17aceed24f68f756f28ea9 (diff) | |
[ide] Fix #5482 "location for query commands" in IDE.
This warning is a special case as it happens outside the execution
context.
We could move the check inside, but instead we opt for the simpler
solution of properly setting the warning target.
| -rw-r--r-- | ide/ide_slave.ml | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/ide/ide_slave.ml b/ide/ide_slave.ml index 4b95e983d6..bf86db08ff 100644 --- a/ide/ide_slave.ml +++ b/ide/ide_slave.ml @@ -63,25 +63,26 @@ let is_known_option cmd = match cmd with (** Check whether a command is forbidden in the IDE *) -let ide_cmd_checks (loc,ast) = +let ide_cmd_checks ~id (loc,ast) = let user_error s = CErrors.user_err ~loc ~hdr:"CoqIde" (str s) in + let warn msg = Feedback.(feedback ~id (Message (Warning, Some loc, strbrk msg))) in if is_debug ast then user_error "Debug mode not available in the IDE"; if is_known_option ast then - Feedback.msg_warning ~loc (strbrk "Set this option from the IDE menu instead"); + warn "Set this option from the IDE menu instead"; if is_navigation_vernac ast || is_undo ast then - Feedback.msg_warning ~loc (strbrk "Use IDE navigation instead"); + warn "Use IDE navigation instead"; if is_query ast then - Feedback.msg_warning ~loc (strbrk "Query commands should not be inserted in scripts") + warn "Query commands should not be inserted in scripts" (** Interpretation (cf. [Ide_intf.interp]) *) let add ((s,eid),(sid,verbose)) = let pa = Pcoq.Gram.parsable (Stream.of_string s) in let loc_ast = Stm.parse_sentence sid pa in - ide_cmd_checks loc_ast; let newid, rc = Stm.add ~ontop:sid verbose loc_ast in let rc = match rc with `NewTip -> CSig.Inl () | `Unfocus id -> CSig.Inr id in + ide_cmd_checks newid loc_ast; (* TODO: the "" parameter is a leftover of the times the protocol * used to include stderr/stdout output. * |
