From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Authentication-Results: plum.tunbury.org; dkim=pass (1024-bit key; unprotected) header.d=inria.fr header.i=@inria.fr header.a=rsa-sha256 header.s=dc header.b=tYYIqxw+; dkim-atps=neutral Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=192.134.164.83; helo=mail2-relais-roc.national.inria.fr; envelope-from=caml-list-owner@inria.fr; receiver=tunbury.org Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by plum.tunbury.org (Postfix) with ESMTPS id 6B93740066 for ; Thu, 24 Apr 2025 13:07:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=date:from:to:cc:message-id:references:mime-version: content-transfer-encoding:in-reply-to:subject:reply-to: sender:list-id:list-help:list-subscribe:list-unsubscribe: list-post:list-owner:list-archive; bh=71zFrKiNfBZ/EvOIWA4QMsnodHJbE5txMI99A1p6NCI=; b=tYYIqxw+lfLTrFGUB7nZjRIR9/IQdTN21yDoPIGPsKu/SjqwpxrROwow n6VNVGrgQlGJHb2Vram4hd2ltGt1fJNy3xzGLEz/HMWwC/c23bB5ZcVGI T+bWeLNSFJaeBG5rzqO46iEzbel4fT8Q+6aa+Ff3+IGh5RUQ7izkaxA5j o=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=Pass smtp.mailfrom=caml-list-owner@inria.fr; spf=None smtp.helo=postmaster@sympa.inria.fr Received-SPF: Pass (mail2-relais-roc.national.inria.fr: domain of caml-list-owner@inria.fr designates 128.93.162.160 as permitted sender) identity=mailfrom; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="caml-list-owner@inria.fr"; x-conformance=spf_only; x-record-type="v=spf1"; x-record-text="v=spf1 include:mailout.safebrands.com a:basic-mail.safebrands.com a:basic-mail01.safebrands.com a:basic-mail02.safebrands.com ip4:128.93.142.0/24 ip4:192.134.164.0/24 ip4:128.93.162.160 ip4:128.93.162.3 ip4:128.93.162.88 ip4:89.107.174.7 mx ~all" Received-SPF: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only X-IronPort-AV: E=Sophos;i="6.15,236,1739833200"; d="scan'208";a="219290430" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 24 Apr 2025 15:07:18 +0200 Received: by sympa.inria.fr (Postfix, from userid 20132) id 2BFDEE0D1D; Thu, 24 Apr 2025 15:07:18 +0200 (CEST) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id D8734E007A for ; Thu, 24 Apr 2025 15:07:16 +0200 (CEST) IronPort-SDR: 680a3784_nSJIdBYk3b7+cA9nlehBCvqFemH8Fz8jZ9byymrH6P4ebas Bri+xab7MLhomeSYkI1yZGR5fMZf0kOvs8NpYiw== X-IPAS-Result: =?us-ascii?q?A0FpAADdNgpojgpAQYVaGwEBAQEBAQEBBQEBARIBAQEDA?= =?us-ascii?q?wEBAUCBU4FyUn1bMgQLSIRVkVQdA5w+gWmBagYJAQMBCwEBPQUCBAEBAwSFA?= =?us-ascii?q?AKLLgIeBwEENBMBAgQBAQEBAwIDAQEBAQEBEAEBBQEBAQIBAQIEBgECEAEBA?= =?us-ascii?q?QEBATkFFzKFew2CYgGBJIEmAQEBAQEBAQEBAQEBAQEBAQEBFwINfQEBAQECA?= =?us-ascii?q?RIRDwFABgULCxgCAhEVAgIQIwEFARwGExsHgmABgkEjAgEBEAakdoEFQopEe?= =?us-ascii?q?oEygQGDbEHZRitUgSoGFIEHLog2GgEFbYlxQoINgh6CCRg+gkMeAgKBF4EGg?= =?us-ascii?q?xyCaQSBEIEdgReBHoFYNx1phRgEEVcvPIJEhGWFBIZ2UnscA1ksARNCExcLB?= =?us-ascii?q?wVtOSgCGQOBDyNLBQMSGR2CToILgnMCJYIRgVwDAyIBgiRvdhyEZoRSLU+DL?= =?us-ascii?q?4IDaBUdQAMLbT03FBuXEoJxSFOBGyBxIhI4AY8PB5Z4oQuEJYRRH4cplUozh?= =?us-ascii?q?AONCYY6DJMFmH6OBpVWKIUGAgoHBxEjEoFJI4FcMxoIMDuCZ08DGQ+OOoNnx?= =?us-ascii?q?BM1NDwCBwEKAQEDCYVDJhNMiVSBSwEB?= IronPort-PHdr: A9a23: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 IronPort-Data: A9a23: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 IronPort-HdrOrdr: A9a23:nPycqKvcFK5iMEX1QlRg12hi7skDrtV00zEX/kB9WHVpmwKj5q eTddAgpGLJYVEqKQ0dcLG7SdO9qBznhPxICOUqTNKftUzdyRSVxeJZnPDfKl/balTDH4dmvM 8KGdkcNDSzNykDsS+Q2njfLz9P+qjizImYwcnbi1liJDsEV0ii1WtE48Sgf3GeiDMmOXPxLv T92vZ6 X-Talos-CUID: 9a23:zl18c2ENPe6FVDnSqmJXz2MSA+Uoa0SA607ZMRKVCkJ4D7qKHAo= X-Talos-MUID: 9a23:yoFe8ASfMlGR1nx8RXTmowFdCv1vwpifSx83m7Q2mPejLgJZbmI= X-IronPort-Anti-Spam-Filtered: true X-IronPort-AV: E=Sophos;i="6.15,236,1739833200"; d="scan'208";a="115083668" X-MGA-submission: =?us-ascii?q?MDGACB8LnEizCrJRaZm68kzES/ZlsDUM0ACCXk?= =?us-ascii?q?tecvvLn3rH+1HFUpSfzGQP5JGtlM0kYYkjh7cFeatya394pXTeRcl8Js?= =?us-ascii?q?v9H1uYkQihkvYCfZ2VV/kmyc2eoAG3u0pis8yMc59gxJCAH8R/doCabk?= =?us-ascii?q?HW4PKiVWqqMamAZMXS+7cgGQ=3D=3D?= Received: from web.is.ocha.ac.jp ([133.65.64.10]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Apr 2025 15:07:14 +0200 Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by web.is.ocha.ac.jp (Postfix) with ESMTPS id 4Zjx8B4YLhz1N7PTl for ; Thu, 24 Apr 2025 22:07:06 +0900 (JST) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-b115383fcecso605775a12.1 for ; Thu, 24 Apr 2025 06:07:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745500025; x=1746104825; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=71zFrKiNfBZ/EvOIWA4QMsnodHJbE5txMI99A1p6NCI=; b=HW+/M2H4aYeIG8MbhffqTCI2w94ttbRMhz9F7V+7bpDP7kqQ21KsoE7hEtIsUAoEYo lIuflpGsp/6mMWRjKlxx3rp1UypM9SV1tpkEKVRuP7qBNcFbHRw7qWLu4BT6qnZ4/ooT KCgY4OS0HIihMOXEh7NLFfeKI83BIkiLSgpKJmW7z447b46HkNrdhdN6PTKFD7GDsube 47a0R7U0d93qBTg2CiRzn2gLG3uvR9NHHFH2wr0PdanZnde31ua7iXu0y0Pk1/NMPDMZ qWLac5gPbriqGJCpPVXVAAsUUCJy2DDCI/ZuOfJqkLT5HX5XXORV+cSvQ7Hkmurqw8Ub K5sQ== X-Gm-Message-State: AOJu0YxHyz8NitbmVoJ3/dmWpwWJCfWb6eoZGWXaGThdWYyQeLKLTd7J el2T/PeRO6T5ViukuJ94kGbXL1P5veCPCYuZEvnOgMtaRXjyX6EcjD8IElZp/f4FyrMgFZsUD71 7bEnm+WMh8P8vwuRfKcuRITrgfyhQN859mZd1QG9yby4EmbYT X-Gm-Gg: ASbGnct6x7YdmIn9lmS2ORU7ZSNMFOCa76cGX5Eo7B4O6ERT4+5UQ9iC4L46xNocwid nJ2RxeFRLU/SpH6Jwm9yfQeS0wG9s0lfcYjf6bPZbXigZeL1rKsidRXZqlrXYUhxWZBmThlw+Y2 uuYNOlodpEAlO1cLhHMlcok79v3EjYQzfWhnL6FXTnp2N16o6JksaGddM4iX//pwlRoJ83+HAUK vN4Lqnmwscd74i36B7dXMQYchbrrt0QhLcH5FoSWcBL5b+SfQ6+vyJ6ReQyNEPuxNFg4DAD7N1l JMWZME0TNytAbFDslUCCvI+0MK2k X-Received: by 2002:a05:6a20:7493:b0:1fe:9537:84a0 with SMTP id adf61e73a8af0-20444e9b3f1mr3900296637.15.1745500025632; Thu, 24 Apr 2025 06:07:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG6bAUbuLQ1dW6c3eBCRNIC5d5BsUO/hz8UK7dgyVqQSTnWfL7GJRTuo3sONgIiSfM/G2OXeA== X-Received: by 2002:a05:6a20:7493:b0:1fe:9537:84a0 with SMTP id adf61e73a8af0-20444e9b3f1mr3900255637.15.1745500025245; Thu, 24 Apr 2025 06:07:05 -0700 (PDT) Received: from localhost ([240f:101:8218:1:e5d8:6015:707a:34c6]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b15f8597f5csm1126620a12.43.2025.04.24.06.07.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 06:07:04 -0700 (PDT) Date: Thu, 24 Apr 2025 22:06:54 +0900 From: Kenichi Asai To: Ulysse =?utf-8?Q?G=C3=A9rard?= Cc: caml-list@inria.fr Message-ID: References: <6891bc81-fff2-4cd7-989b-0de1b7517eed@m4x.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [Caml-list] automatically resolving open? Reply-To: Kenichi Asai X-Loop: caml-list@inria.fr X-Sequence: 19309 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: Thank you all for the information. I realize the problem is much harder than I first thought. But the refactor open of Merlin appears to be the closest to what I wanted. I confirmed that I can add and remove module names in emacs and VS Code. Can I do the same thing using a stand-alone command line tool? If not, can I do it from the VS Code extension programatically? > It appears to be working in only one direction however: from the > `open` statement it is possible to qualifying all identifiers coming > from that statement. In my environment, I could do both direction. Sincerely, -- Kenichi Asai On Thu, Apr 24, 2025 at 11:16:36AM +0200, Ulysse Gérard wrote: > Refactor open is actually a feature of Merlin which have long been exposed in the custom protocol: > https://github.com/ocaml/merlin/blob/main/doc/dev/PROTOCOL.md#refactor-open--postion-position--action-qualifyunqualify > > - In the merlin.el mode the commands are: `merlin-refactor-open` and `merlin-refactor-open-qualify`. > - In the vim plugin it is `merlin#RefactorOpen`. > - In LSP based plugins, such as `ocaml-eglot` for emacs and `vscode-ocaml-platform`, it is available as a code action. It appears to be working in only one direction however: from the `open` statement it is possible to qualifying all identifiers coming from that statement. > > As for other solutions, potential shadowing is not checked. This is a fairly obscur command of Merlin, please open an issue if you encounter any issue. Additionally, if someone wants to step in to improve the feature in LSP we will be happy to welcome their contribution :-) > > Ulysse > > > On 24 Apr 2025, at 08:39, Virgile Prevosto wrote: > > > > Hello, > > > > this is one of the built-in transformations offered by the recently advertised `ocamlmig` tool: > > https://github.com/v-gb/ocamlmig/blob/main/doc/using.md#removing-opens > > However, it comes with caveats, including that "when identifiers are requalified, not all possible shadowings are taken into account" (and I've checked that indeed in François' example we end up with a `List.map` below the `module List = struct end`...) > > > > Best regards,