bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#49204: 28.0.50; How to create new file in project by project-find-fi


From: Dmitry Gutov
Subject: bug#49204: 28.0.50; How to create new file in project by project-find-file
Date: Sun, 4 Jul 2021 04:07:29 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0

On 30.06.2021 07:44, Giap Tran wrote:
On 6/29/21 8:49 PM, Dmitry Gutov wrote:


Thanks for the explanations. You previously wrote about Projectile. Does it enable this workflow?

Yes, as I see projectile support this feature by default (1). I used it before

Thanks for the link.

projectile-find-file doesn't specify any INITIAL-INPUT when calling projectile-completing-read, so Projectile seems exempt from this dilemma that I described.

I wonder how we can reconcile this requirement with the "find name at point" behavior: we use whatever string at point that looks similar enough to a file name (or a part of it). To avoid mistakes, we currently even call completing-read again if the first finished input doesn't match any files.

If the command allows non-matching input, having a default value that doesn't necessarily match any file names exactly will be a problem. Moving it from DEFAULT to INITIAL-INPUT shouldn't make a difference either.

Thanks for clarifying, I will try to override project--completing-read-strict func when calling completing-read with REQUIRE-MATCH is nil

(1) - https://github.com/bbatsov/projectile/blob/6b88b69ecd7e6f2b6bbcae0b68026a486be516a4/projectile.el#L1885

Better than that, you can set project-read-file-name-function to a function with the same signature that uses REQUIRE-MATCH=nil.

But I suppose an override for project--completing-read-strict might require less code, if you still want to retain the "completion from relative names" part of behavior from project--read-file-cpd-relative.

The flip side is someday you might have to deal with breakage when we have to make a change to project--completing-read-strict (which is a "private" function) or stop using it.

Let me know which approach you choose in the end, and how it works out.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]