unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Juri Linkov <juri@linkov.net>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: 44297@debbugs.gnu.org, leungbk@mailfence.com
Subject: bug#44297: [Feature request] project.el: Additional utility functions
Date: Fri, 30 Oct 2020 09:23:09 +0200	[thread overview]
Message-ID: <87o8kkdwa6.fsf@mail.linkov.net> (raw)
In-Reply-To: <64182b62-dad4-08db-379b-acfddea26327@yandex.ru> (Dmitry Gutov's message of "Fri, 30 Oct 2020 01:20:21 +0200")

> I think the term is pretty much established:
> https://www.emacswiki.org/emacs/FindOtherFile
>
> Projectile also has a command with a similar name.

Then the name 'other-file' is fine.

> The feature will be pretty C/C++-centric, but I suppose it's useful enough.

It's also useful with Web development: while VueJS can keep parts of
components in one file .vue, other frameworks require 3 different files:
file.html, file.js and file.css.

>> Another useful command would be:
>> project-find-file-only using completing-read to match on file names only,
>> not on directory parts.
>
> And then... disambiguate files with the same base name with another prompt?
>
> IME, having multiple files with the same name in the project is very
> common. Your experience can vary, though.
>
> A fuzzy search across full names works best for me, personally. We could
> also try some differently weighted, fuzzy matching styles.

I don't know if the required completion can be part of a fuzzy search,
but it should show exactly the same completions as the current command
(with directory and file names), but should match only on file name parts,
not on directory name parts, e.g. with files:

  dirname/filename1 dirname/file2

typing "name" for completions should show only "dirname/filename1",
because most of the time, project directory names get in the way
when searching for a file by its name, and part of file name matches
directory names with many other unrelated files.

>>> project-recentf: completing-read recently-accessed files in the project
>> All project file-reading commands could provide a list of recent files
>> as the default values available via M-n key presses.
>
> Perhaps a flat, immediately visible list will have its own value, though?

Sorted by recency?





  parent reply	other threads:[~2020-10-30  7:23 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-29  2:52 bug#44297: [Feature request] project.el: Additional utility functions Brian Leung via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-10-29  9:03 ` Juri Linkov
2020-10-29 23:20   ` Dmitry Gutov
2020-10-29 23:57     ` Basil L. Contovounesios
2020-10-30  0:47       ` Brian Leung via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-10-30 17:47         ` Dmitry Gutov
2020-10-30 17:40       ` Dmitry Gutov
2020-10-30  7:23     ` Juri Linkov [this message]
2020-10-30 17:42       ` Dmitry Gutov
2020-10-31 19:18         ` Juri Linkov
2020-11-02  0:28           ` Dmitry Gutov
2020-10-29 23:31 ` Dmitry Gutov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o8kkdwa6.fsf@mail.linkov.net \
    --to=juri@linkov.net \
    --cc=44297@debbugs.gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=leungbk@mailfence.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).