src/Pure/PIDE/protocol.scala
Fri, 21 Mar 2025 18:37:05 +0100 wenzelm support for writeln_urgent, which is shown in Output before state messages (reminiscent of old Output.urgent_message before 521cea5fa777);
Mon, 04 Nov 2024 22:05:20 +0100 wenzelm clarified modules;
Thu, 12 Sep 2024 14:42:04 +0200 wenzelm tuned: trim message before formatting;
Mon, 01 Jul 2024 12:40:54 +0200 wenzelm clarified signature: more explicit XML.Body types, more uniform Symbol.encode_yxml;
Sat, 04 Mar 2023 12:16:58 +0100 wenzelm tuned signature;
Mon, 02 Jan 2023 12:34:20 +0100 wenzelm tuned;
Mon, 02 Jan 2023 12:29:08 +0100 wenzelm clarified signature: uniform master_dir instead of separate field;
Sat, 31 Dec 2022 12:10:14 +0100 wenzelm tuned signature;
Sun, 18 Dec 2022 16:01:37 +0100 wenzelm clarified signature;
Thu, 08 Sep 2022 16:59:49 +0200 wenzelm support regex patterns on messages;
Tue, 06 Sep 2022 11:55:24 +0200 wenzelm inline markup for Output.state (in contrast to c94bba7906d2): make messages available via Rendering.text_messages and thus "isabelle log" (see cb0c407fbc6e), while Rendering.output_messages of Isabelle/jEdit/VSCode is unaffected;
Wed, 31 Aug 2022 15:05:28 +0200 wenzelm clarified signature;
Fri, 01 Apr 2022 23:19:12 +0200 wenzelm tuned formatting;
Fri, 01 Apr 2022 17:06:10 +0200 wenzelm clarified formatting, for the sake of scala3;
Tue, 08 Jun 2021 23:34:06 +0200 wenzelm prefer less intrusive tracing message;
Tue, 08 Jun 2021 13:17:45 +0200 wenzelm more formal ML profiling messages;
Mon, 01 Mar 2021 22:22:12 +0100 wenzelm tuned --- fewer warnings;
Fri, 18 Dec 2020 23:19:07 +0100 wenzelm improved markup for theory header imports;
Thu, 10 Dec 2020 22:15:16 +0100 wenzelm clarified messages;
Thu, 10 Dec 2020 21:48:53 +0100 wenzelm clarified messages;
Thu, 10 Dec 2020 17:41:46 +0100 wenzelm clarified messages;
Thu, 10 Dec 2020 17:14:49 +0100 wenzelm clarified types;
Sat, 28 Nov 2020 22:20:48 +0100 wenzelm clarified signature;
Fri, 27 Nov 2020 21:59:23 +0100 wenzelm clarified theory keywords: loaded_files are determined statically in Scala, but ML needs to do it semantically;
Fri, 27 Nov 2020 16:44:36 +0100 wenzelm more explicit types;
Mon, 23 Nov 2020 15:14:58 +0100 wenzelm support for PIDE markup in batch build (inactive due to pide_reports=false);
Tue, 17 Nov 2020 22:05:59 +0100 wenzelm more uniform Resources.init_session via YXML;
Mon, 16 Nov 2020 23:17:16 +0100 wenzelm proper html_symbols (amending 429afd0d1a79);
Sun, 15 Nov 2020 22:00:45 +0100 wenzelm refer to session structure from resources;
Sun, 15 Nov 2020 17:42:35 +0100 wenzelm tuned;
Sun, 15 Nov 2020 17:34:19 +0100 wenzelm clarified bibtex_entries: refer to overall session structure;
Tue, 01 Sep 2020 17:51:20 +0200 wenzelm unused (see also 7b318273a4aa);
Sat, 11 Jul 2020 15:23:22 +0200 wenzelm clarified inlined protocol messages;
Sun, 24 May 2020 10:36:42 +0200 wenzelm tuned signature;
Fri, 03 Apr 2020 12:45:14 +0200 wenzelm clarified signature;
Wed, 01 Apr 2020 20:17:23 +0200 wenzelm pretty formatting as in Isabelle/ML;
Wed, 01 Apr 2020 18:22:19 +0200 wenzelm clarified signature;
Mon, 30 Mar 2020 11:59:44 +0200 wenzelm clarified modules: global quasi-scope for markers;
Sun, 29 Mar 2020 22:23:33 +0200 wenzelm clarified modules;
Fri, 27 Mar 2020 22:01:27 +0100 wenzelm misc tuning based on hints by IntelliJ IDEA;
Mon, 25 Nov 2019 13:28:31 +0100 wenzelm support for output messages;
Mon, 16 Sep 2019 20:06:25 +0200 wenzelm clarified signature -- removed pointless operations;
Mon, 16 Sep 2019 16:00:10 +0200 wenzelm find theories via session directories only -- ignore known_theories;
Thu, 12 Sep 2019 13:33:09 +0200 wenzelm find theory files via session structure: much faster Prover IDE startup;
Fri, 06 Sep 2019 19:44:54 +0200 wenzelm prefer commands_accepted: fewer protocol messages;
Fri, 06 Sep 2019 18:59:24 +0200 wenzelm prefer define_commands_bulk: fewer protocol messages;
Fri, 06 Sep 2019 16:11:19 +0200 wenzelm tuned signature;
Mon, 02 Sep 2019 11:46:27 +0200 wenzelm clarified signature: prefer operations without position;
Sun, 19 May 2019 18:10:45 +0200 wenzelm more thorough assignment, e.g. when "purge" removes commands that were not assigned;
Thu, 28 Feb 2019 21:37:24 +0100 wenzelm more scalable on 32-bit Poly/ML;
Wed, 27 Feb 2019 21:30:16 +0100 wenzelm more compact representation: approx. factor 2;
Sat, 18 Aug 2018 12:41:05 +0200 wenzelm clarified modules;
Tue, 05 Jun 2018 16:12:26 +0200 wenzelm less wasteful consolidation, based on PIDE front-end state and recent changes;
Thu, 31 May 2018 22:27:13 +0200 wenzelm Document.update includes node consolidation / presentation as regular print operation: avoid user operations on protocol thread;
Tue, 29 May 2018 22:25:59 +0200 wenzelm more node status information;
Tue, 29 May 2018 20:00:10 +0200 wenzelm tuned signature;
Thu, 22 Mar 2018 16:39:22 +0100 wenzelm clarified exported messages, e.g. suppress "information", "tracing";
Wed, 21 Mar 2018 21:31:16 +0100 wenzelm tuned;
Fri, 16 Mar 2018 18:42:35 +0100 wenzelm support for "use_theories";
Tue, 23 Jan 2018 19:25:39 +0100 wenzelm treat sessions as entities with defining position;
Fri, 19 Jan 2018 14:55:46 +0100 wenzelm formal treatment of documentation names;
Sat, 16 Dec 2017 21:53:07 +0100 wenzelm added document antiquotation @{session name};
Mon, 16 Oct 2017 14:32:09 +0200 wenzelm provide theory timing information, similar to command timing but always considered relevant;
Fri, 29 Sep 2017 20:49:42 +0200 wenzelm more informative loaded_theories: dependencies and syntax;
Thu, 28 Sep 2017 15:11:32 +0200 wenzelm session-qualified theory names are mandatory;
Sat, 16 Sep 2017 15:35:56 +0200 wenzelm proper standard_path to revert platform_path in JEdit_Sessions.session_base;
Mon, 14 Aug 2017 13:53:49 +0200 wenzelm more explicit failure;
Mon, 14 Aug 2017 11:30:07 +0200 wenzelm explicit indication of consolidated nodes;
Tue, 08 Aug 2017 22:13:05 +0200 wenzelm maintain "consolidated" status of theory nodes, which means all evals are finished (but not necessarily prints nor imports);
Fri, 21 Apr 2017 14:09:03 +0200 wenzelm eliminated default_qualifier: just a constant;
Wed, 12 Apr 2017 22:32:55 +0200 wenzelm clarified loaded_theories: map to qualified theory name;
Wed, 12 Apr 2017 21:13:43 +0200 wenzelm global session_base for PIDE interaction;
Sat, 08 Apr 2017 22:36:32 +0200 wenzelm more qualifier treatment, but in the end it is still ignored;
Sat, 08 Apr 2017 12:31:29 +0200 wenzelm tuned signature;
Tue, 04 Apr 2017 22:56:28 +0200 wenzelm more explicit types;
Sat, 01 Apr 2017 22:03:24 +0200 wenzelm clarified YXML vs. symbol encoding: operate on whole message;
Sat, 18 Mar 2017 20:51:42 +0100 wenzelm more realistic PIDE build session;
Tue, 20 Dec 2016 10:45:20 +0100 wenzelm tuned;
Mon, 05 Sep 2016 22:09:52 +0200 wenzelm clarified modules;
Tue, 02 Aug 2016 17:35:18 +0200 wenzelm support 'abbrevs' within theory header;
Sun, 10 Jul 2016 11:18:35 +0200 wenzelm tuned signature: more uniform Keyword.spec;
Sat, 10 Oct 2015 16:21:34 +0200 wenzelm more explicit HTML.symbols;
Fri, 09 Oct 2015 19:25:13 +0200 wenzelm output HTML text according to Isabelle/Scala Symbol.Interpretation;
Thu, 20 Aug 2015 21:08:47 +0200 wenzelm clarified modules, like ML version;
Mon, 10 Aug 2015 20:42:59 +0200 wenzelm tuned signature;
Mon, 10 Aug 2015 19:17:49 +0200 wenzelm more thorough Encode.string;
Tue, 17 Mar 2015 15:21:41 +0100 wenzelm misc tuning and simplification;
Mon, 16 Mar 2015 11:30:54 +0100 wenzelm tuned protocol -- resolve command positions in ML;
Mon, 16 Mar 2015 11:07:56 +0100 wenzelm clarified modules;
Sun, 15 Mar 2015 21:57:10 +0100 wenzelm proper command id for inlined errors, which is important for Command.State.accumulate;
Sat, 14 Mar 2015 19:51:36 +0100 wenzelm clarified positions of theory imports;
Thu, 12 Mar 2015 22:00:51 +0100 wenzelm clarified markup for embedded files, early before execution;
Tue, 10 Mar 2015 20:12:30 +0100 wenzelm more precise position information in Isabelle/Scala, with YXML markup as in Isabelle/ML;
Wed, 14 Jan 2015 14:28:52 +0100 wenzelm clarified build_theories;
Tue, 13 Jan 2015 21:46:09 +0100 wenzelm some support for PIDE batch session;
Tue, 30 Dec 2014 23:45:03 +0100 wenzelm explicit message channel for "legacy", which is nonetheless a variant of "warning";
Tue, 23 Dec 2014 20:46:42 +0100 wenzelm explicit message channels for "state", "information";
Wed, 03 Dec 2014 20:45:20 +0100 wenzelm clarified define_command: send tokens more directly, without requiring keywords in ML;
Wed, 20 Aug 2014 15:12:32 +0200 wenzelm default command position is only valid for default text chunk (amending dcb758188aa6);
Tue, 12 Aug 2014 18:36:43 +0200 wenzelm generic process wrapping in Prover;
Tue, 12 Aug 2014 15:31:24 +0200 wenzelm clarified Position.Identified: do not require range from prover, default to command position;
Sat, 02 Aug 2014 19:29:02 +0200 wenzelm proper priority for error over warning also for node_status (see 9c5220e05e04);
Wed, 30 Apr 2014 22:34:11 +0200 wenzelm some support for session-qualified theories: allow to refer to resources via qualified name instead of odd file-system path;
Sat, 26 Apr 2014 13:34:10 +0200 wenzelm tuned signature;
Sat, 26 Apr 2014 13:07:20 +0200 wenzelm tuned signature;
Thu, 17 Apr 2014 13:21:36 +0200 wenzelm added protocol command "use_theories", with core functionality of batch build;
Wed, 09 Apr 2014 15:03:07 +0200 wenzelm more explicit message discrimination;
Tue, 08 Apr 2014 21:48:09 +0200 wenzelm more direct interpretation of "warned" status, like "failed" and independently of "finished", e.g. relevant for Rendering.overview_color of aux. files where main command status is unavailable (amending 0546e036d1c0);
Tue, 08 Apr 2014 19:17:28 +0200 wenzelm accumulate markup reports for "other" command ids, which are later retargeted and merged for rendering (in erratic order);
Tue, 08 Apr 2014 16:07:02 +0200 wenzelm avoid data redundancy;
Tue, 08 Apr 2014 15:12:54 +0200 wenzelm tuned signature -- moved Command.Chunk to Text.Chunk;
Tue, 08 Apr 2014 12:19:33 +0200 wenzelm more explicit Command.Chunk types, less ooddities;
Mon, 07 Apr 2014 23:02:29 +0200 wenzelm simplified blob again (amending 1e77ed11f2f7): only store file node name, i.e. the raw editor file name;
Mon, 07 Apr 2014 13:55:12 +0200 wenzelm support for URL as file name, similar to treatment in jEdit.java;
Mon, 07 Apr 2014 13:06:34 +0200 wenzelm separate file_node vs. file_path, e.g. relevant on Windows for hyperlink to the latter;
Thu, 03 Apr 2014 21:55:48 +0200 wenzelm more direct warning within persistent Protocol.Status;
Thu, 03 Apr 2014 14:54:17 +0200 wenzelm more general prover operations;
Wed, 02 Apr 2014 20:22:12 +0200 wenzelm more explicit iterator terminology, in accordance to Scala 2.8 library;
Wed, 02 Apr 2014 12:26:11 +0200 wenzelm persistent protocol_status, to improve performance of node_status a little;
Tue, 01 Apr 2014 23:04:22 +0200 wenzelm tuned for-comprehensions -- less structure mapping;
Tue, 01 Apr 2014 22:25:01 +0200 wenzelm some rephrasing to ensure that this becomes cheap "foreach" and not expensive "map" (cf. 0fc032898b05);
Tue, 01 Apr 2014 17:29:47 +0200 wenzelm unused;
Tue, 01 Apr 2014 17:26:32 +0200 wenzelm more frugal command_status, which is often used in a tight loop;
Mon, 31 Mar 2014 15:05:24 +0200 wenzelm store blob content within document node: aux. files that were once open are made persistent;
Thu, 27 Mar 2014 19:47:30 +0100 wenzelm back to cumulative treatment of command status, which is important for total accounting (amending 8201790fdeb9);
Thu, 27 Mar 2014 10:43:43 +0100 wenzelm more careful treatment of multiple command states (eval + prints): merge content that is actually required;
Wed, 26 Mar 2014 19:42:16 +0100 wenzelm clarified valid_id: always standardize towards static command.id;
Mon, 03 Mar 2014 12:54:12 +0100 wenzelm tuned signature -- emphasize symbol positions (prover) vs. decoded text offsets (editor);
Sat, 01 Mar 2014 15:58:47 +0100 wenzelm incorporate chunk range that is 1 off end-of-input, for improved error positions (NB: command spans are tight, without trailing whitespace);
Sat, 01 Mar 2014 12:07:26 +0100 wenzelm tuned signature -- more explicit Document.Elements;
Thu, 27 Feb 2014 14:07:04 +0100 wenzelm more formal Document.Blobs;
Fri, 21 Feb 2014 12:32:06 +0100 wenzelm tuned signature;
Tue, 18 Feb 2014 14:05:08 +0100 wenzelm more uniform/robust restriction of reported positions, e.g. relevant for "bad" markup due to unclosed comment in ML file;
Wed, 12 Feb 2014 10:50:49 +0100 wenzelm clarified message_positions: cover alt_id as well;
Tue, 11 Feb 2014 21:58:31 +0100 wenzelm maintain multiple command chunks and markup trees: for main chunk and loaded files;
Tue, 11 Feb 2014 17:44:29 +0100 wenzelm common Command.Chunk for command source and auxiliary files (static Symbol.Index without actual String content);
Tue, 11 Feb 2014 15:05:13 +0100 wenzelm report (but ignore) markup within auxiliary files;
Fri, 22 Nov 2013 21:13:44 +0100 wenzelm clarified node edits sent to prover -- Clear/Blob only required for text edits within editor;
Wed, 20 Nov 2013 11:55:52 +0100 wenzelm load files that are not provided by PIDE blobs;
Tue, 19 Nov 2013 22:12:54 +0100 wenzelm more explicit indication of missing files;
Tue, 19 Nov 2013 19:33:27 +0100 wenzelm maintain blobs within document state: digest + text in ML, digest-only in Scala;
Tue, 19 Nov 2013 12:57:56 +0100 wenzelm clarified boundary cases of Document.Node.Name;
Mon, 18 Nov 2013 17:16:56 +0100 wenzelm maintain document model for all files, with document view for theory only, and special blob for non-theory files;
Fri, 09 Aug 2013 11:18:36 +0200 wenzelm cancel_query via direct access to the exec_id of the running query process;
Mon, 05 Aug 2013 15:29:10 +0200 wenzelm tuned signature -- more uniform treatment of overlays as command mapping;
Fri, 02 Aug 2013 14:26:09 +0200 wenzelm maintain overlays within node perspective;
Wed, 31 Jul 2013 12:14:13 +0200 wenzelm allow explicit indication of required node: full eval, no prints;
Mon, 29 Jul 2013 13:00:36 +0200 wenzelm obsolete;
Sat, 13 Jul 2013 18:13:09 +0200 wenzelm more rendering for information messages;
Wed, 10 Jul 2013 22:04:57 +0200 wenzelm tuned signature;
Tue, 09 Jul 2013 13:17:22 +0200 wenzelm tuned protocol terminology;
Fri, 05 Jul 2013 16:01:45 +0200 wenzelm tuned signature;
Fri, 05 Jul 2013 15:38:03 +0200 wenzelm explicit module Document_ID as source of globally unique identifiers across ML/Scala;
Thu, 04 Jul 2013 23:51:47 +0200 wenzelm separate exec_id assignment for Command.print states, without affecting result of eval;
Wed, 22 May 2013 14:10:45 +0200 wenzelm explicit management of Session.Protocol_Handlers, with protocol state and functions;
Tue, 14 May 2013 19:30:21 +0200 wenzelm tuned signature;
Mon, 29 Apr 2013 15:47:42 +0200 wenzelm clarified module dependencies: avoid Properties and Document introding minimal "PIDE";
Tue, 26 Mar 2013 11:26:13 +0100 wenzelm dockable window for timing information;
Wed, 27 Feb 2013 16:27:44 +0100 wenzelm discontinued obsolete header "files" -- these are loaded explicitly after exploring dependencies;
Wed, 27 Feb 2013 12:45:19 +0100 wenzelm discontinued obsolete 'uses' within theory header;
Fri, 14 Dec 2012 12:09:08 +0100 wenzelm more formal class Command.Results;
Thu, 13 Dec 2012 17:29:23 +0100 wenzelm more careful handling of Dialog_Result, with active area and color feedback;
Thu, 13 Dec 2012 13:52:18 +0100 wenzelm identify dialogs via official serial and maintain as result message;
Wed, 12 Dec 2012 21:50:42 +0100 wenzelm support dialog via document content;
Mon, 10 Dec 2012 13:52:33 +0100 wenzelm generalized notion of active area, where sendback is just one application;
Sun, 25 Nov 2012 19:49:24 +0100 wenzelm Isabelle-specific implementation of quasi-abstract markup elements -- back to module arrangement before d83797ef0d2d;
Wed, 21 Nov 2012 20:15:25 +0100 wenzelm tuned whitespace;
Mon, 19 Nov 2012 22:34:17 +0100 wenzelm alternative completion for outer syntax keywords;
Fri, 28 Sep 2012 22:53:18 +0200 wenzelm support for wrapped XML elements, which allows to preserve full markup tree information in to_XML/from_XML conversion;
Fri, 28 Sep 2012 16:59:53 +0200 wenzelm eliminated dead code;
Wed, 19 Sep 2012 17:07:25 +0200 wenzelm earlier treatment of embedded report/no_report messages (see also 4110cc1b8f9f);
Tue, 18 Sep 2012 17:20:40 +0200 wenzelm more explicit message markup and rendering;
Fri, 31 Aug 2012 15:03:44 +0200 wenzelm clarified command status (again);
Fri, 31 Aug 2012 13:23:25 +0200 wenzelm further refinement of command status, to accomodate forked proofs;
Thu, 30 Aug 2012 15:26:37 +0200 wenzelm refined status of forked goals;
Mon, 20 Aug 2012 14:09:09 +0200 wenzelm added keyword kind "thy_load" (with optional list of file extensions);
Fri, 10 Aug 2012 15:14:45 +0200 wenzelm apply all text edits to each node, before determining the resulting doc_edits -- allow several iterations to consolidate spans etc.;
Tue, 07 Aug 2012 15:01:48 +0200 wenzelm simplified Document.Node.Header -- internalized errors;
Tue, 07 Aug 2012 12:35:24 +0200 wenzelm tuned signature -- slightly more abstract text representation of prover process;
Wed, 18 Apr 2012 20:22:44 +0200 wenzelm more robust Sendback handling: JVM/jEdit paranoia for case matching, treat Pretty body not just XML.Text, replace proper_range only (without trailing whitespace);
Sat, 07 Apr 2012 19:28:44 +0200 wenzelm added static command status markup, to emphasize accepted but unassigned/unparsed commands (notably in overview panel);
Fri, 06 Apr 2012 23:34:38 +0200 wenzelm discontinued obsolete last_execs (cf. cd3ab7625519);
Fri, 06 Apr 2012 11:49:08 +0200 wenzelm discontinued Document.update_perspective side-entry (cf. 546adfa8a6fc) -- NB: re-assignment is always necessary due to non-monotonic cancel_execution;
Thu, 05 Apr 2012 14:14:51 +0200 wenzelm less aggressive discontinue_execution before document update, to avoid unstable execs that need to be re-assigned;
Thu, 15 Mar 2012 00:10:45 +0100 wenzelm some support for outer syntax keyword declarations within theory header;
Tue, 13 Mar 2012 21:17:37 +0100 wenzelm clarified command state -- markup within proper_range, excluding trailing whitespace;
Sun, 04 Mar 2012 18:15:45 +0100 wenzelm clarified special eol treatment and moved to gfx_range -- enables error messages at end of input, e.g. "prop PROP";
Sat, 03 Mar 2012 14:04:49 +0100 wenzelm retain original "uses" (again) -- still required for Thy_Load.use_file etc. in ML (notably for maintaining required/provided);
Thu, 01 Mar 2012 22:26:29 +0100 wenzelm Symbol.encode header edits;
Wed, 29 Feb 2012 23:09:06 +0100 wenzelm clarified module Thy_Load;
Sun, 26 Feb 2012 20:05:14 +0100 wenzelm include warning messages in node status;
Sun, 15 Jan 2012 19:09:03 +0100 wenzelm more precise rendering of overview_color/gutter_message/squiggly_underline based on cumulation of command status and warning/error messages;
Sat, 14 Jan 2012 15:30:54 +0100 wenzelm tuned comments;
Sat, 14 Jan 2012 14:34:42 +0100 wenzelm clarified partial restrict operation;
Mon, 09 Jan 2012 23:11:28 +0100 wenzelm command status color via regular markup;
Thu, 05 Jan 2012 14:15:37 +0100 wenzelm prefer raw_message for protocol implementation;
Thu, 01 Dec 2011 14:29:14 +0100 wenzelm clarified modules (again) -- NB: both Document and Protocol are specific to this particular prover;
less more (0) tip