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

how to support a new scheme dialect #30

Closed
PikachuHy opened this issue Jun 5, 2023 · 5 comments
Closed

how to support a new scheme dialect #30

PikachuHy opened this issue Jun 5, 2023 · 5 comments
Labels
question Further information is requested

Comments

@PikachuHy
Copy link

cool work.

is there any plan to support Guile?

BTW, how to setup with vscode?

@ufo5260987423
Copy link
Owner

ufo5260987423 commented Jun 6, 2023

Hi, I'm very glad to answer your question:

  1. For supporting Guile: As I understand, Guile is based on r5rs-scheme with which I'm not very familiar. But, As my experience, code for guile should be smoothly digested by scheme-langserver and identifier-catching process would be ok. What really concerns me are .ss and .sps extensions. If you're going to work with them, I have to say, you may be disapointing. Details can refer this disgussion(What's the modest behavior for .ss and .sps extensions? #27).
  2. For VSCode: Currently, I'm using scheme-langserver on neovim. But, I truely have a plan to modify (with my respects) a VSCode plugin called magic-racket(https://github.com/Eugleo/magic-racket). However, here're many preparation to do. First, most VSCode user may base on Windows, this means I've to release a windows version and lack of many infrastuctures( for example, AKKU, a package manager used in my programming, don't have windows version because it depends on guile, Lol) . Second, VSCode and other visualized IDE, their power is that visualization throws more information and in my plan, they should be given by type inference. So, I can make a promise: once I complete the type inference function, I'll quickly doing VSCode work.

And, if anyone want to do some works on VSCode, I will be very happy to help.

@PikachuHy
Copy link
Author

hi, I'm writing my own Scheme Interpreter. https://github.com/PikachuHy/pscm

the pscm is inspired by Guile 1.8.
one of the goals is to run msvc-version TeXmacs. http://texmacs.org/tmweb/home/welcome.en.html

I want to adopt your scheme-langserver to enhance the ecosystem. PikachuHy/pscm#13

can you give me some advice?

I hope the feature of pscm v0.4.0 is support language server.

@ufo5260987423
Copy link
Owner

Well, you shouldn't support that everyone understand "mscv-version" Texmacs. Yes, I'm a Tex user. No, I don't know what is "mscv-version".

Maybe it would be better if you made detailed explanation about following things:

  1. What is mscv-version Texmacs?
  2. How would scheme-langserver support it?
  3. What do you mean v0.4.0 language server support? In your intro.html, you said "pscm is not limited within scheme language/syntax". If you did so, your current issue would be too fragile to gather support.

OSS work need much more open and honest talk to make collaborative effort, and I'm sincerely waiting your precious responses.

@PikachuHy
Copy link
Author

  1. What is mscv-version Texmacs?
    TeXmacs build by MSVC
  1. How would scheme-langserver support it?

just as what language server should do
e.g. code completion, go to definition

  1. What do you mean v0.4.0 language server support?

after pscm v0.4.0 release, I want to run your langserver success.

for example, go to definition is available when coding with VSCode

currently, pscm is just a scheme dialect like guile

@ufo5260987423
Copy link
Owner

Ok, let me have a try.
Now, scheme-langserver is capable to linux and windows wsl as I said in README. So, if you want it to support pscm, just follow README and using Neovim to edit your pscm code.

@ufo5260987423 ufo5260987423 added good first issue Good for newcomers question Further information is requested and removed good first issue Good for newcomers labels Feb 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants