Une MAJ de sécurité est nécessaire sur notre version actuelle. Elle sera effectuée lundi 02/08 entre 12h30 et 13h. L'interruption de service devrait durer quelques minutes (probablement moins de 5 minutes).

  1. 11 Oct, 2019 1 commit
  2. 10 Oct, 2019 3 commits
  3. 09 Oct, 2019 4 commits
    • DAILLER Sylvain's avatar
      Merge branch 'ctrl_l' into 'master' · 025c5e94
      DAILLER Sylvain authored
      Ide/itp_server: experimental ctrl-C ctrl-L (àla merlin)
      See merge request !242
    • Sylvain Dailler's avatar
    • Sylvain Dailler's avatar
      why3web: fix why3_js.ml · b36fb788
      Sylvain Dailler authored
    • Sylvain's avatar
      Ide/itp_server: experimental ctrl-C ctrl-L (àla merlin) · 0e25deba
      Sylvain authored
      This feature should add a shortcut (ctrl-l) to scroll to the location
      definition of the ident under the user cursor. To go back to the first
      location ctrl-& should work.
      The IDE detects:
      - the word under the cursor,
      - the possible immediate (only) qualification of this word,
      - the module in which this is defined,
      - the source file in which this is queried
      and sends it in the request Find_ident_req to the server.
      The itp server calls the parsing on this file (which should only returns
      the already loaded pmodule (the itp_server is running)). We use this
      module to first find the right module in which the ident is defined and
      then find its definition location.
      It then notifies the IDE with both the file (in read_only mode) and the
      location in Ident_notif_loc. The IDE adds the file (as read only) and
      scroll to the given location.
      When in read_only, the file_contents notification does not trigger
      regenerating the file because we don't want the user to lose her changes.
      Note that the read_only file can be removed with a right click on their
      Note also that, when coming from a task, ctrl+l instead calls a
      Command_req containing the identifier (and the subsequent Locate command)
      because in this case we dont need the result of the source file pmodule to
      discover the location.
      * src/ide/why3ide.ml
      (notebook, task_view, create_source_view): Relocate this after the message
      zone in order to be able to use print_message in the source_view
      (create_source_view): Remove reference n which was counting source_page.
      This is an information we can get when appending a tab. Adding an eventbox
      on the tab title labels. Use markup to display the label.
      (save_cursor_loc): Now takes the reference we want to save. We use it to
      save a location for ctrl-&.
      Change default column location from 1 to 0 to avoid crashing the IDE on
      lines that contain 0 characters.
      (get_word_around_iter): Gets a text_iter and returns the words under this
      location together with the iter corresponding to the start of the word.
      (get_qualif): Return the qualification of a word: A.B.C.word
      (get_module): Return the encapsulating module
      (find_cursor_ident): send the request to the server for location of the
      ident under the current cursor. (binded to ctrl+l)
      (get_back_loc): return to previous location (binded to ctrl+&)
      (treat_notification): On File_contents, if the file exists (a priori a
      session file), and the file is read_only (comes from ctrl+l), do not
      reload the file buffer.
      On Ident_notif_loc, just scroll to the given location
      * src/session/itp_communication.ml*
      Adding Find_ident_req and Ident_notif_loc. Add a read_only boolean to
      File_contents notification.
      * src/session/itp_server.ml
      (traverse_modules, notify_loc, find_ident): Used to locate an identifier
      in modules and send the corresponding notification
      (locate_id): Used when ctrl+l comes from a task.
      * src/session/server_utils.ml
      Adding command Locate converted from Command_req("locate", ). The effect
      is to scroll to the location of the given ident.
  4. 08 Oct, 2019 1 commit
  5. 07 Oct, 2019 14 commits
  6. 04 Oct, 2019 7 commits
  7. 03 Oct, 2019 3 commits
    • Sylvain's avatar
      Merge branch 'external_printer' · 974ef24c
      Sylvain authored
      This is a proof of concept of the external printing/parsing. This works by
      adding externally defined (from Pretty) elements to the standard
      printing/parsing. We use the example of the Python plugin to show how it
      - the tasks should contain new notations (example python: /\ replaced by "and")
      - the new notations can be used in the transformations (example python:
        "assert (0 == 0 and b > 1)"
      The file format contained in the session is used to decide which external
      parser/printer to use. These are registered in a similar way that language,
      parser, or transformations are registered. For example, a goal whose ancestor
      is a python file (according to the file format inside the session) will be
      printed with the Python external printer; and transformations originating
      from this goal will be parsed with the same language.
    • DAILLER Sylvain's avatar
      Merge branch 'list_stdlib' into 'master' · 49d0a327
      DAILLER Sylvain authored
      List stdlib
      See merge request !237
    • DAILLER Sylvain's avatar
      Merge branch 'shape_crash_ide' into 'master' · 2c6b7a32
      DAILLER Sylvain authored
      Attempt to solve the issue that crashes the ide (and is not reproducible)
      See merge request !239
  8. 02 Oct, 2019 4 commits
  9. 01 Oct, 2019 3 commits