aboutsummaryrefslogtreecommitdiff
path: root/ide/session.ml
AgeCommit message (Collapse)Author
2020-06-02Move CoqIDE to its own folderMaxime Dénès
The will make it possible to put a VsCoq toplevel in `ide/vscoq`.
2020-04-22CoqIDE: Avoid invalidation of an iterator in insert callback.Hugo Herbelin
This hopefully fix the segfaults we observe with completion.
2020-03-18Update headers in the whole code base.Théo Zimmermann
Add headers to a few files which were missing them.
2019-11-21[coq] Untabify the whole ML codebase.Emilio Jesus Gallego Arias
We also remove trailing whitespace. Script used: ```bash for i in `find . -name '*.ml' -or -name '*.mli' -or -name '*.mlg'`; do expand -i "$i" | sponge "$i"; sed -e's/[[:space:]]*$//' -i.bak "$i"; done ```
2019-11-07Do not rely on the user settings but on the actual window size. (Fixes #10956)Guillaume Melquiond
This should fix the issue when creating new session panes. The initial session panes, however, might still be wrongly sized, as we do not yet know, at the time they are created, if the window manager will respect the user settings fixing the window size.
2019-09-13Hack for fixing #10578 (wrong initial handle position separating main windows).Hugo Herbelin
G. Melquiond noticed that the size_allocate event is emitted in the Layout step of the Events-Update-Layout-Paint gtk+ loop so that it is actually processed only when a further event arrived. In some circonstances, this next event has to be an action from the user. So, in some circonstances, at initialization of Coqide, the handle, whose positioning was precisely governed by the size_allocate event, was only set at its expected position after a first action of the user. Before this first action of the user, the handle separating the buffer and the pair of goal and message windows, as well as the handle separating the goal window and the message window were located in the leftmost uppermost corner, which gave an impression of non-usability of CoqIDE. To prevent this, we early set the position of the handle at an estimated value depending on the width and height of the whole coqide windows in the preferences. (Also removing a previous temporary setting of the handle position to - strangely - value 1 but this was anyway overwritten by the size_allocate event.)
2019-07-08[core] [api] Support OCaml 4.08Emilio Jesus Gallego Arias
The changes are large due to `Pervasives` deprecation: - the `Pervasives` module has been deprecated in favor of `Stdlib`, we have opted for introducing a few wrapping functions in `Util` and just unqualified the rest of occurrences. We avoid the shims as in the previous attempt. - a bug regarding partial application have been fixed. - some formatting functions have been deprecated, but previous versions don't include a replacement, thus the warning has been disabled. We may want to clean up things a bit more, in particular w.r.t. modules once we can move to OCaml 4.07 as the minimum required version. Note that there is a clash between 4.08.0 modules `Option` and `Int` and Coq's ones. It is not clear if we should resolve that clash or not, see PR #10469 for more discussion. On the good side, OCaml 4.08.0 does provide a few interesting functionalities, including nice new warnings useful for devs.
2019-06-17Update ml-style headers to new year.Théo Zimmermann
2019-06-06Fix panel behavior as requested by #10292Claude Stolze
2019-04-08Fix #9812: CoqIDE on gtk3 has wrong defaults for selection BG.Pierre-Marie Pédrot
Unfortunately, the only sane fix I was able to hack was to deactivate the possibility to change the background colour altogether. Trying to do otherwise is a real Pandora's box which is ultimately triggered by the lack of lablgtk3 bindings for the GtkStyleContext class. I tried a lot of alternative approaches, to no avail. This includes catching the selection signal, reimplementing selection by hand in GtkTextView, and even reading the internal details of the GTK implementation turned not that helpful. For the time being (8.10 beta) I think we do not have much choice.
2019-03-19CoqIDE: Use modify_bg rather than modify_base to change background color.Hugo Herbelin
The effect of modify_base is told to be widget-dependent. It uses to change the background with gtk2 but not with gtk3. So we use the more explicit modify_bg.
2019-03-19CoqIDE: Ensure that the main 3 windows do not shrink when w/o contents.Hugo Herbelin
This was automatic in gtk2 (apparently because of the specification not being granted). This is needed with gtk3.
2019-03-19CoqIDE: Change name of module: Sourceview2 -> Sourceview3Hugo Herbelin
2019-02-11[ide] fix unconditional goto-point on editing an error (fix #9488)Enrico Tassi
2018-12-09[doc] Enable Warning 50 [incorrect doc comment] and fix comments.Emilio Jesus Gallego Arias
This is a pre-requisite to use automated formatting tools such as `ocamlformat`, also, there were quite a few places where the comments had basically no effect, thus it was confusing for the developer. p.s: Reading some comments was a lot of fun :)
2018-03-08coqide: queries from the query window are routed there (fix #5684)Enrico Tassi
We systematically use Wg_MessageView for both the message panel and each Query tab; we register all MessageView in a RoutedMessageViews where the default route (0) is the message panel. Queries from the Query panel pick a non zero route to have their feedback message delivered to their MessageView
2018-02-27Update headers following #6543.Théo Zimmermann
2018-01-19update location on tab switch, issue 6624Paul Steckler
2017-07-04Bump year in headers.Pierre-Marie Pédrot
2017-04-27Fix omitted labels in function callsGaetan Gilbert
2017-04-20[ide] Set Stateid in query pane.Emilio Jesus Gallego Arias
We again remove another user of Stateid.dummy. However, we need to adapt the protocol so `Coq.query` takes the `route_id` and we can redirect the output properly to the subwindow.
2016-09-28Do not stop propagation of signals when Coq is busy (bug #3941).Guillaume Melquiond
When inserting a character in an already processed buffer, a message is sent to Coq so that the proof is backtracked and the character is inserted. If a second character is inserted while Coq is still busy with the first message, the action is canceled, but the signal is no longer dropped so that the second character is properly inserted.
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-02-21Merge branch 'v8.5'Pierre-Marie Pédrot
2016-02-19CoqIDE: STOP button also stops workers (fix #4542)Enrico Tassi
2016-01-21Merge branch 'v8.5'Pierre-Marie Pédrot
2016-01-20Update copyright headers.Maxime Dénès
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-05-29coqide: don't require ocaml >= 4Enrico Tassi
2015-05-26Jump to error line in CoqIDE grabs focus of the textview.Pierre-Marie Pédrot
2015-05-25CoqIDE columns in error and job panels can be sorted.Pierre-Marie Pédrot
This grants wish #4194.
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-02-20Fixing bug #4073.Pierre-Marie Pédrot
2015-02-13Trying to fix bug #3930.Pierre-Marie Pédrot
Instead of setting the last modified part of the text to be the insert point, we register all modifications to the buffer between to user actions and take the last modified point to be the least offset of all those modifications.
2015-02-12Tentative fix for CoqIDE randomly dropping deletions.Pierre-Marie Pédrot
We make the deletion callback not to regenerate a task id, as the insertion callback does. I can't find a particular reason for this dissymetry, and it was indeed causing trouble.
2015-02-12Focussing on message view in CoqIDE when a message is pushed.Pierre-Marie Pédrot
Also fixes bug #4030.
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: cleanup jobs window on worker deathEnrico Tassi
2014-09-09IDE: disable editable text area underline when -debugEnrico Tassi
This way a user *can* use coqide with -debug
2014-08-05STM: code restructured to reuse task queue for tacticsEnrico Tassi
2014-04-07Allowing proof view to be detached in CoqIDE.Pierre-Marie Pédrot
2014-03-12CoqIDE: Errors page gets red if not emptyEnrico Tassi
2014-03-12CoqIDE: detachable message/error/jobs panesEnrico Tassi
2014-03-04Move error and job display to the lower right pane.Guillaume Melquiond
2013-12-24CoqIDE: new feedback "incomplete" to signal partial QedEnrico Tassi
2013-10-22CoqIDE: always retag on insertgareuselesinge
This should fix Arnaud's bug (reported by private email) that makes coq eat two sentences at once (and process only the first one). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16907 85f007b7-540e-0410-9357-904b9bb8a0f7
2013-10-22Wg_Find: regex + case insensitive find/replace supportgareuselesinge
It uses Str, hence it also supports captures \(..\) and \1 .. \n git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16904 85f007b7-540e-0410-9357-904b9bb8a0f7