Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tramp support #57

Closed
juergenhoetzel opened this issue Feb 25, 2016 · 13 comments
Closed

Tramp support #57

juergenhoetzel opened this issue Feb 25, 2016 · 13 comments

Comments

@juergenhoetzel
Copy link
Collaborator

Would you accept a PR to add Tramp support for remote editing? Requires:

  1. Use start-file-process instead of start-process
  2. Handle multiple completion processes
  3. Dissect buffer-file-name before passing commands to the completion process
  4. Convert filenames back to tramp filenames when receiving responses from the completion process
@rneatherway
Copy link
Member

Wow that would be pretty cool. Wouldn't it require bringing all the files in the project over locally though so that fsautocomplete can find them?

@juergenhoetzel
Copy link
Collaborator Author

The fsautocomplete process will be started on the remote host by start-file-process which is already tramp-aware. fsharp-mode would have to keep track of relation between fsharp-mode buffers and their corresponding fsautocomplete process.

I thought of makeing fsharp-ac-completion-process an alist instead of a single value containing the fsautocomplete process.

For example, when having a local and a remote/tramp fsautocomplete process:

((nil . #<process fsharp-complete>) ("/ssh:juergen@myhost.domain:" . #<process fsharp-complete-2>))

This is inspired by rtags, a nice c++ indexer, which is already tramp-aware.

@rneatherway
Copy link
Member

Wow! I didn't know there was support for that. It does assume that you have mono on the remote host. Do you also copy over fsautocomplete? It sounds plausible. I would definitely accept a working patch as long as the local mode isn't affected negatively.

@juergenhoetzel
Copy link
Collaborator Author

I assumed trampUsers would adjust tramp-remote-path and setup fsautocomplete for themselves. A hint (if it's not found on the remote host) would be a sufficient advice for a typical Emacs user.

To copy over fsautocompletewould be a option but will make the code more complicated/error-prone.

@rneatherway
Copy link
Member

OK, with documentation sounds fine to me.

@juergenhoetzel
Copy link
Collaborator Author

Thanks for your feedback. I will setup a tramp branch in the coming days.

@rneatherway
Copy link
Member

Wonderful, I look forward to the feature!

@juergenhoetzel
Copy link
Collaborator Author

Jason started the "screecast thing" 😄
fsharp-tramp

You can now edit multiple projects on multiple hosts.

@nosami
Copy link
Member

nosami commented Mar 26, 2016

This looks amazing! A gif is worth a thousand words etc :)

@rneatherway
Copy link
Member

Sorry I lost track of this one. It seems it conflicts now, but hopefully trivially. Would you mind merging/rebasing and I'll get it in and release?

@juergenhoetzel
Copy link
Collaborator Author

No worries. I will rebase.

@juergenhoetzel
Copy link
Collaborator Author

I just rebased. #66

@rneatherway
Copy link
Member

Great, merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants