Closed yyoncho closed 3 years ago
Howdy @yyoncho (or whomever) picks this up. I'm Geoff from Gitpod. 👋
One of the issues that we face at lsp-mode side is that it is hard to obtain/configure the environment outside of emacs. In emacs, it works pretty much out of the box. We have created automatic installation for some of the language servers but we don't have the manpower to do it for all servers(it pretty much needs a person familiar with the particular language for each server).
So Gitpod is basically k8, you get a workspace (a k8 pod) and thus everything is a docker image with git clone overlaid. Right now the implementation is opening a visual editor of vscode to access filesystem as the IDE. Gitpod is more than vscode, it's about a docker execution environment. This means - switching out the IDE with another IDE (inc emacs) is something we want to do in the future.
In practice that means
ie.
FROM mcr.microsoft.com/dotnet/sdk:5.0
RUN APT-GET INSTALL emacs
<overlay emacs config>
<steps for lsp-mode>
Happy to pair with you to help solve above - https://ghuntley.com/meet
I spent quite some time working on the issue and here it is the current status:
Partially working configuration using xtermjs - https://gitpod.io/#https://github.com/yyoncho/lsp-gitpod3 - after you click the link and wait gitpod in the right corner you will see a popup - click open in browser and you will see terminal in the browser in which you can start emacs.
Waiting for reply to https://github.com/gitpod-io/gitpod/issues/2419#issuecomment-846959326 - once we have an answer - we will be able to show directly the xtermjs window without having the default IDE.
Lastly - https://github.com/gitpod-io/gitpod/issues/4047 - this prevent us from using gtk broadway which I have tested locally and works well with pgtk branch.
It will be great if someone with TS skills extracts https://github.com/xtermjs/xterm.js/tree/master/demo into separate project.
Once these issues are sorted out we might start working on creating containers with language servers.
Here it is what we have now: https://www.youtube.com/watch?v=IROIt1Y-xqs
The next step is to provide the actual ide experience.
This looks very cool. What plans do you have for, say, dot files? Will we be able to install Doom, Spacmacs etc.?
That's one of the ideas @BillDStrong :) allow user choose its elisp config or use some base framework!
This looks very cool. What plans do you have for, say, dot files? Will we be able to install Doom, Spacmacs etc.?
@BillDStrong doom/spacemacs will be supported ootb (e. g. by providing a flag in the url).
I am working on this here: https://github.com/emacs-lsp/lsp-gitpod
To try it you may open (make sure to open the popup or prefix the vscode url with 8080-
but keep the vscode tab open)
Vanilla: https://gitpod.io/#PROFILE=vanilla/https://github.com/emacs-lsp/lsp-gitpod Spacemacs: https://gitpod.io/#PROFILE=spacemacs/https://github.com/emacs-lsp/lsp-gitpod
I am working with gitpod team team to solve the usability issues(e. g. removing the need to keep vscode tab open and adding the ability to open any GH project)
Seriously cool.
@ghuntley, @yyoncho worked hard to make it work that way :)
Using broadway/gtk like this is magical. Keep going back to this and citing your work @yyoncho.
It looks great!
Is there any hope to compile emacs (or emacsclient?) and broadway/gtk to webassembly so that it runs client-side? (AFAIK VSCode runs entirely on the browser)
https://gitpod.io/#ORG=serde-rs,PROJECT=json/https://github.com/yyoncho/lsp-gitpod - here it is WIP for being able to open a particular GH project(in this case serde-rs/json
). Click the link, wait for gitpod to pick lsp-gitpod image, and then after enabling the popups you will get emacs in the browser with preconfigured lsp-mode with serveral language servers preinstalled.
This works amazingly well.
Here is a demo: https://www.youtube.com/watch?v=nXRmMO_Rkuo
I am closing the issue, lets move the discussions in https://github.com/emacs-lsp/lsp-gitpod
It will be interesting to explore the posibility of running emacs+lsp-mode+ in gitpod environment. This will allow the new users to explore the possibilities of Emacs with one click.
https://www.gitpod.io/