aboutsummaryrefslogtreecommitdiff
path: root/ide/coqOps.ml
AgeCommit message (Collapse)Author
2016-09-13CoqIDE: push to message win feedback Message(Debug,Info,Notice)Enrico Tassi
2016-09-07CoqIDE: Errors are sticky (fix #4368)Enrico Tassi
2016-09-05coqide: use Document instead of tags to detect sentences to `Skip (#4829)Enrico Tassi
When one jumps from a focused area to a point after the focused zone, sentences that are already processed (in the Doc.context of the focused area) have not to be processed again (they are tagged as `Skip). Detection of such sentences was based on tags (i.e. colors) that is shaky. Now we use the sentence-marks as stored in the document data structure.
2016-08-29Fix bug #4421: Messages dialog in Coqide resets.Pierre-Marie Pédrot
2016-08-16Merge branch 'v8.5' into v8.6Pierre-Marie Pédrot
2016-08-14Fix regression in Coqide's "forward one command" commandXavier Leroy
In Coqide 8.5pl2, "forward one command" (down arrow) always repositions the insertion point at the end of the phrase being executed, just after the final ".". In Coqide 8.4, the insertion point is not moved if it is after the end of the executed phrase. The insertion point is moved only if it falls behind the phrase being executed. I find the 8.5 behavior to be a regression over the lot more useful 8.4 behavior. This commit restores the 8.4 behavior of "forward one command".
2016-06-29A new infrastructure for warnings.Maxime Dénès
On the user side, coqtop and coqc take a list of warning names or categories after -w. No prefix means activate the warning, a "-" prefix means deactivate it, and "+" means turn the warning into an error. Special categories include "all", and "default" which contains the warnings enabled by default. We also provide a vernacular Set Warnings which takes the same flags as argument. Note that coqc now prints warnings. The name and category of a warning are printed with the warning itself. On the developer side, Feedback.msg_warning is still accessible, but the recommended way to print a warning is in two steps: 1) create it by: let warn_my_warning = CWarnings.create ~name:"my-warning" ~category:"my-category" (fun args -> Pp.strbrk ...) 2) print it by: warn_my_warning args
2016-06-27Merge branch 'v8.5'Pierre-Marie Pédrot
2016-06-27Fix bug #4698: CoqIDE error dialogs piling up when coqtop dies.Pierre-Marie Pédrot
Instead of relaunching the coqtop process and then open the warning window, we rather fire the warning and wait for the user to press the OK button before doing anything.
2016-06-25[feedback] Remove `ErrorMsg` in favor of `Message Error`.Emilio Jesus Gallego Arias
The ErrorMsg datatype was introduced to allow locations in messages, however, it was redundant with error and used only in one place. We remove it in favor of a more uniform treatment of messages with location. This patch also removes the use of `Loc.ghost` in one place. Lightly tested.
2016-06-07CoqIDE: remove useless printEnrico Tassi
There is little point in telling the user the error report is sub optimal. In this particular case, such error has already been reported (on the correct location) so reminding it in a non-localized way is not even that bad.
2016-05-31Feedback cleanupEmilio Jesus Gallego Arias
This patch splits pretty printing representation from IO operations. - `Pp` is kept in charge of the abstract pretty printing representation. - The `Feedback` module provides interface for doing printing IO. The patch continues work initiated for 8.5 and has the following effects: - The following functions in `Pp`: `pp`, `ppnl`, `pperr`, `pperrnl`, `pperr_flush`, `pp_flush`, `flush_all`, `msg`, `msgnl`, `msgerr`, `msgerrnl`, `message` are removed. `Feedback.msg_*` functions must be used instead. - Feedback provides different backends to handle output, currently, `stdout`, `emacs` and CoqIDE backends are provided. - Clients cannot specify flush policy anymore, thus `pp_flush` et al are gone. - `Feedback.feedback` takes an `edit_or_state_id` instead of the old mix. Lightly tested: Test-suite passes, Proof General and CoqIDE seem to work.
2016-05-09Merge branch 'v8.5'Pierre-Marie Pédrot
2016-05-09Use the actual location of an error in the error pane (bug #4169).Guillaume Melquiond
A "sentence" includes all the blank lines and all the comments that precede a command. So its starting location might be far from any error it contains. This patch changes error reporting so that it relies on the location of errors rather than the location of erroneous sentences.
2016-05-08Removing dead code and unused opens.Pierre-Marie Pédrot
2016-03-18Merge branch 'v8.5'Pierre-Marie Pédrot
2016-03-15CoqIDE is more resilient to initialization errors.Pierre-Marie Pédrot
We force the STM to finish after the initialization request so as to raise exceptions that may have been generated by the initialization process. Likewise, we simply die when the initialization request fails in CoqIDE instead of just printing an error message. This is the fix for the underlying issue of bug #4591, but it does not solve the bug yet.
2016-02-21Merge branch 'v8.5'Pierre-Marie Pédrot
2016-02-20Fixing bug #4540: CoqIDE bottom progress bar does not update.Pierre-Marie Pédrot
2016-01-21Merge branch 'v8.5'Pierre-Marie Pédrot
2016-01-20Update copyright headers.Maxime Dénès
2015-10-30Merge branch 'v8.5'Pierre-Marie Pédrot
2015-10-30Fix typo.Guillaume Melquiond
2015-09-20Rich printing of CoqIDE protocol failure.Pierre-Marie Pédrot
2015-09-20Rich printing of messages.Pierre-Marie Pédrot
2015-09-20Adding rich printing primitives.Pierre-Marie Pédrot
2015-09-17Merge branch 'v8.5' into trunkMaxime Dénès
2015-09-15Removing a warning in CoqOps.Pierre-Marie Pédrot
2015-08-26Replacing old-style preferences in CoqIDE.Pierre-Marie Pédrot
There is no remaining global preference record anymore, every preference is now defined in the new event-based style.
2015-08-16Using the new preference mechanism for colors in CoqIDE.Pierre-Marie Pédrot
A lot of legacy code has been removed in the process in favour of signal-based interactions.
2015-08-16Turning CoqIDE preferences into new style.Pierre-Marie Pédrot
Some old style references remain because all type converters are not implemented yet.
2015-07-11CoqIDE: recenter on backtrack (Close: #4277)Enrico Tassi
2015-06-16Fix by Enrico on CoqIDE not locating errors anymore since 550da87456a.Hugo Herbelin
2015-04-02CoqIDE: simpler way of reopening/reclosing a proof (Close: 4168)Enrico Tassi
No "read-only" terminator. If no terminator is present the UI complains. If the terminator is different, STM warns but continues. The STM warns that the "check the document" button will not honor the terminator change, and what to do to avoid that. Technically, one cannot turn (a posteriori) an axiom into a theorem and vice versa. Could be done, but not with a small patch.
2015-03-11CoqIDE: fix tag colors to support superposing unsafe and partialEnrico Tassi
Admitted (like Qed) can be "partially executed", but is also unsafe.
2015-03-11CoqIDE: do not lose tag on Qed ending focused proofEnrico Tassi
2015-02-25CoqIDE: correclty unfocus (remove all tags) when jumping out of a proofEnrico Tassi
2015-02-15Fixing bug #4037.Pierre-Marie Pédrot
2015-01-29Made the CoqIDE progress gutter clickable.Pierre-Marie Pédrot
2015-01-12Update headers.Maxime Dénès
2015-01-05Implementing a segment-viewer in CoqIDE.Pierre-Marie Pédrot
This allows a nifty display of the current state of the document through a dedicated progress bar. Also closes bug #3764.
2014-12-17CoqIDE: better messagesEnrico Tassi
2014-11-27Feedback: API cleaned up, documented and made user extensibleEnrico Tassi
2014-09-09IDE: escape popup text (close: 3600)Enrico Tassi
2014-08-12Quick fix for avoiding infinitely many respawning and Warning "CoqHugo Herbelin
died" when coqtop or coqtopide.cmxs are in inconsistent state.
2014-08-05STM: code restructured to reuse task queue for tacticsEnrico Tassi
2014-06-25all coqide specific files moved into ide/Enrico Tassi
lib/interface split into: - lib/feedback subscribe-based feedback bus (also used by coqidetop) - ide/interface definition of coqide protocol messages lib/pp structured info/err/warn messages lib/serialize split into: - lib/serialize generic xml serialization (list, pairs, int, loc, ...) used by coqide but potentially useful to other interfaces - ide/xmlprotocol serialization of protocol messages as in ide/interface the only drawback is that coqidetop needs -thread and I had to pass that option to all files in ide/
2014-03-26CoqIDE: better error reporting for Qed on incomplete proofEnrico Tassi
2014-03-12Stm: smarter delegation policyEnrico Tassi
Stm used to delegate every proof when it was possible, but this may be a bad idea. Small proofs may take less time than the overhead delegation implies (marshalling, etc...). Now it delegates only proofs that take >= 1 second. By default a proof takes 1 second (that may be wrong). If the file was compiled before, it reuses the data stored in the .aux file and assumes the timings are still valid. After a proof is checked, Coq knows how long it takes for real, so it wont predict it wrong again (when the user goes up and down in the file for example). CoqIDE now sends to Coq, as part of the init message, the file name so that Coq can load the .aux file.
2014-01-30STM + CoqIDE: stop_worker message and UIEnrico Tassi