From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: Adding refactoring capabilities to Emacs Date: Fri, 8 Sep 2023 13:52:53 +0100 Message-ID: References: <83fs4f36wi.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36248"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , "Philip K." , Dmitry Gutov , Stefan Monnier , emacs-devel@gnu.org To: Eshel Yaron Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Sep 08 14:53:55 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qeazj-0009Ag-Ip for ged-emacs-devel@m.gmane-mx.org; Fri, 08 Sep 2023 14:53:55 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeaz5-0005G8-EP; Fri, 08 Sep 2023 08:53:16 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeaz0-0005FU-0i for emacs-devel@gnu.org; Fri, 08 Sep 2023 08:53:10 -0400 Original-Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qeayx-0008IX-PO; Fri, 08 Sep 2023 08:53:09 -0400 Original-Received: by mail-lj1-x231.google.com with SMTP id 38308e7fff4ca-2bcfd3220d3so33871501fa.2; Fri, 08 Sep 2023 05:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694177585; x=1694782385; darn=gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kfYdFn1gtg4NHZYRDwcqMoh6shJ52MZ7YZWWWXt6+iQ=; b=X4Q4Kd+A2KtkH7qsmahFq3WP6mVRQAPibX4IlFS6xb+SHCgVPv6mDCo9zrwhBQakjo iYm0+aQDn8LFwcMg5WfAYpqrP4+5WnXkL+yYsIiquj5SZZAebvyVr5OEngfxr9XoLHD4 qqV0cAwM5pZ9l1gR9+oqdUslK/NoJFAR8XqnloBCpujUNY7AVRdeHqI9vOz2m5PME9f6 G+FBboBf+ZhUoajyyZObZg9NHXJPFCIfg2kefsdJ3AwOW4HYrUtT850riG/gO3P+E76n Y8L81aYRHYm5VnXhTB8kSYr2ZaDWtZTSrfDQEMrAhL9EujtaJr0RUxYVXX5nZ0PQSX1F m4WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694177585; x=1694782385; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kfYdFn1gtg4NHZYRDwcqMoh6shJ52MZ7YZWWWXt6+iQ=; b=ucHCqLE0/uAA4U1KM8KfSUl81WkQi2ahO7q+fiqJ+Cbb2YxredJYhuqsTkCxw9iDzj 1LTt8muKKDgcgIxrJ6VD7J5zpjdNN8AGgCc8bXCoagIYMuflOFE6f5EXFoilu36gC0m1 7gEcuG/An9OyH98cnXnZ+neTYaRj2AE8Gso9Es/HlUrR9VTPqS469Hbi7iO0M/H5w77q +EEQXT4EpAP5kpZtEtbA4YdbWcaddii9P83N7F9D7wzBh5VNaAB/MEsZqj6KpTqytpoS wN11iYomD8AuPoE/vO7bYFgC9KDtmr09ysorcqeooskRWE/kvkjaJMS7YwVoHDMbVcxJ +vUA== X-Gm-Message-State: AOJu0YxSN6H00pEpn2nx2e0ocg4PTJWe+oKXfF9/j1z0OPUsQjGOwxX8 +h0dy/hkP0Qp8zx1rCrbtmjhZYIc/3yh8GFbmK8= X-Google-Smtp-Source: AGHT+IET22g2y3LDWtll+NMW1zhUUyNwPx3hNawY9T511Fqc2JIuhzWzEbDq1qKCmwrBIF+visXTRqp92impOzm45Jc= X-Received: by 2002:ac2:4f06:0:b0:4fe:7e7f:1328 with SMTP id k6-20020ac24f06000000b004fe7e7f1328mr1987213lfr.16.1694177585199; Fri, 08 Sep 2023 05:53:05 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::231; envelope-from=joaotavora@gmail.com; helo=mail-lj1-x231.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:310328 Archived-At: On Fri, Sep 8, 2023 at 1:46=E2=80=AFPM Eshel Yaron wrot= e: > > Jo=C3=A3o T=C3=A1vora writes: > > > Also, it would be very good if we could have an early backend which is > > *not* LSP. An obvious candidate is Elisp. > > FWIW, I think `sweeprolog`, my NonGNU ELPA package for SWI-Prolog can > also a good non-LSP backend. Elisp would be perfect, no doubt. > But `sweeprolog` is interesting because it does a lot of code analysi [...] > insert a new name, and it renames the variable at once. That's alright > for renaming local variables, but it would be great to simply plug in to > a generic refactoring UI. Great. Precise project-wide analysis (as opposed to more-or-less dumb grep-based) is exactly the main thing we should be targeting IMO. Is "rename" the only thing it does or can you, say, extract subexpressions to variables, organize imports, etc? > So I can probably try and implement any "refactoring backend functions" > the new refactoring interface includes, and see how it goes. Sounds like a plan! Jo=C3=A3o