jonnyboyC / kos-language-server

A language server for the Kerboscript (kOS) a language for Kerbal Space Program
MIT License
25 stars 6 forks source link

[BUG] Include directive not working #161

Closed attrib closed 4 years ago

attrib commented 4 years ago

Describe the bug

The // #include "test.ks" seems to be not working anymore.

To Reproduce Steps to reproduce the behavior:

File test.ks

function test {
    return 0.
}

File test.ks

// #include "test.ks"
// runOncePath("test.ks").

test().

VSCode claims Symbol test may not exist kos-language-server(symbol-may-not-exist)

Uncommenting runOncePath works and test is defined.

Expected behavior

Should work withouth runOncePath as of #123

Editor (please complete the following information):

vscode: Version: 1.47.2 (system setup) Commit: 17299e413d5590b14ab0340ea477cdd86ff13daf Date: 2020-07-15T18:22:06.216Z Electron: 7.3.2 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.18362

johnchabot.kos-vscode v1.1.4

attrib commented 4 years ago

Same with

  // #include "0://test.ks"
  // runOncePath("0://test.ks").

As I just noticed in the changelog that this how it was announced there,

edit:

// #include "0://test.ks"
runOncePath("asdfs").

test().

When I add any run command, it works. VSCode tells me it can't find asdfs but test() is defined now. Removing the #include and test is not defined anymore. It seems to only work if there is at least one other run inside the code.

jonnyboyC commented 4 years ago

Thanks for the report, especially the follow up! I'm sure this will be easy to reproduce. I'll try to get this fixed up asap.

jonnyboyC commented 4 years ago

I still need to deploy a new version but this is now fixed on master.

attrib commented 4 years ago

That was quick. Thanks for all the work on the language server!

jonnyboyC commented 4 years ago

Feel free to post any other issues you find. I haven't been playing kOS recently but would like to keep this project maintained.