Giter VIP home page Giter VIP logo

Comments (18)

minad avatar minad commented on August 29, 2024

Currently Tramp is not supported well by Vertico. There is already issue #20 where further steps can be discussed.

from vertico.

manuel-uberti avatar manuel-uberti commented on August 29, 2024

FWIW, I don't have this problem. I can use the pattern provided in the picture above and, for instance, visit my .bashrc with sudo.

from vertico.

minad avatar minad commented on August 29, 2024

You visit your .bashrc with sudo?! Why is that? Is your .bashrc not owned by you? Or do you have sudo configured such that it does not ask for a pw?

from vertico.

manuel-uberti avatar manuel-uberti commented on August 29, 2024

I was just trying to replicate this issue. :)

from vertico.

minad avatar minad commented on August 29, 2024

cc @albinus @astoff

Is it necessary to tell Tramp specially that it should query the user for a password?

from vertico.

astoff avatar astoff commented on August 29, 2024

I can reproduce this with the following steps:

  1. Open a new Emacs so there is no cached passwords and the like
  2. Type C-x C-f /sudo:: slowly
  3. Then I actually see a password prompt
  4. But as soon as I type one character, the password prompt exits and I see what's shown in the screenshot.

from vertico.

minad avatar minad commented on August 29, 2024

Okay, something is messed up with the keybindings. I have to investigate this.

When I add a read-passwd call to vertico--recompute-candidates, I cannot enter a password. Maybe read-passwd doesn't open a recursive minibuffer but somehow abuses the current buffer?

from vertico.

albinus avatar albinus commented on August 29, 2024

cc @albinus @astoff

Is it necessary to tell Tramp specially that it should query the user for a password?

No. Tramp knows, when to read a password.

from vertico.

albinus avatar albinus commented on August 29, 2024

Okay, something is messed up with the keybindings. I have to investigate this.

When I add a read-passwd call to vertico--recompute-candidates, I cannot enter a password. Maybe read-passwd doesn't open a recursive minibuffer but somehow abuses the current buffer?

Don't mess with Tramp reading a password. It is very fragile.

This is the idea of let-binding non-essential. It tells Tramp to not open a connection if it isn't connected yet, avoiding reading a password. If the connection is already established, it doesn't matter.

Honestly, I feel very uncomfortable to discuss these issues on github. Could we pls switch to email conversation via tramp-devel ML?

from vertico.

minad avatar minad commented on August 29, 2024

Don't mess with Tramp reading a password. It is very fragile.

Yes, this fragility seems exactly the problem. But I have a hard time to figure out what should be differently to avoid stepping on Tramp's feet.

This is the idea of let-binding non-essential. It tells Tramp to not open a connection if it isn't connected yet, avoiding reading a password. If the connection is already established, it doesn't matter.

Of course. But this means giving up. This is not an option here.

Honestly, I feel very uncomfortable to discuss these issues on github. Could we pls switch to email conversation via tramp-devel ML?

Yes, I will move the discussion there. In my eyes mailing lists are a more formal medium in contrast to commenting here and there. Please don't feel pressed to answer here. You can ignore the ongoing discussion here. I will then come to the ML as soon as I understand better what is going on.

For me this issue is low priority. Tramp works mostly well with Vertico now, except for the password prompts.

from vertico.

albinus avatar albinus commented on August 29, 2024

This is the idea of let-binding non-essential. It tells Tramp to not open a connection if it isn't connected yet, avoiding reading a password. If the connection is already established, it doesn't matter.

Of course. But this means giving up. This is not an option here.

I don't see anything for "giving up". As long as the connection is not established yet, no file name completion happens. So what?
When the connection is established, everything should work as expected.

from vertico.

minad avatar minad commented on August 29, 2024

I don't see anything for "giving up". As long as the connection is not established yet, no file name completion happens. So what? When the connection is established, everything should work as expected.

This is understandable out of the perspective of the default completion UI where the connection is established when pressing TAB. For interactive completion UIs like Vertico or Icomplete it is preferable to directly establish the connection, such that the available files can be shown directly.

from vertico.

albinus avatar albinus commented on August 29, 2024

This is understandable out of the perspective of the default completion UI where the connection is established when pressing TAB. For interactive completion UIs like Vertico or Icomplete it is preferable to directly establish the connection, such that the available files can be shown directly.

I don't believe it is a serious restriction for any completion package, that (for remote file names) the connection must be established first. But well, your decision. Good luck fighting with Tramp :-)

from vertico.

minad avatar minad commented on August 29, 2024

I don't believe it is a serious restriction for any completion package, that (for remote file names) the connection must be established first. But well, your decision. Good luck fighting with Tramp :-)

I have no intention to fight tramp. What I don't understand about your argument - when should the connection be established then? For example, when I press "C-x C-f" and enter some remote path? My current interpretation is that the connection should be established directly after entering the remote path.

from vertico.

albinus avatar albinus commented on August 29, 2024

I have no intention to fight tramp.

Me too. But contrary to, I'm obliged to fight with Tramp. Every single day.

What I don't understand about your argument - when should the connection be established then? For example, when I press "C-x C-f" and enter some remote path? My current interpretation is that the connection should be established directly after entering the remote path.

No, you must finish this with RET.

from vertico.

minad avatar minad commented on August 29, 2024

Me too. But contrary to, I'm obliged to fight with Tramp. Every single day.

Stay strong fighting the TRAMP then! I will see where my fights with it will go. The first one got settled quite quickly. I made the mistake to overwrite the minibuffer-completion-predicate, which is special-cased for file-exists-p and file-directory-p (f281aac). After fixing that, the TRAMP calmed down :)

No, you must finish this with RET.

Okay, I see. This makes sense.

from vertico.

astoff avatar astoff commented on August 29, 2024

In the vanilla minibuffer, typing TAB can trigger a password prompt. But in Vertico, the similar thing would be that the : or / ending a remote identifier would trigger the prompt. Maybe this behavior would be a bit questionable (too electric)?

from vertico.

minad avatar minad commented on August 29, 2024

Maybe it would make sense to bind some special command which then triggers establishing the connection. On the other hand such an electric behavior is probably expected by users of incrementally updating UIs. In principle this should already work, the problem is only that the prompt breaks. Until now I haven't figured out what the issue is. Maybe someone has an idea?

from vertico.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.