Closed Eveeifyeve closed 1 month ago
LSP? Liskov Substitutability Principle?
LSP Is Language Server Protocol
It's what all languages use like C++, Python and even Java Uses a LSP.
Sure, though I doubt it will be much of a priority. Feel free to make a PR if you're interested in it!
It is, cause how are people going to use your language when there is no support in their editors? They have to see your documentation to find out the issue.
I'm not saying it's not valuable, it's just that none of the team members have expressed much interest in similar topics in the past. In addition, the documentation is pretty comprehensive, so there's no urgent gap to fill there, either. If someone is willing to tackle it, great! I am just not under the impression that anyone's eager to take this on.
But if I was you using your language you assume you want intellisence for your language right. But oh that right it's not implemented because you need to implement an LSP server. And so you don't know and you need a browser to look at your documentation. So what do you do then? That why it's really useful in instances where you don't want to have a look at the documentation and you know the code but you forgot the last things about it. It makes your language much easier to master Not Harder.
To be quite honest you letting hundreds even thousands of people down with no LSP support or intellisence built in. So my take is if there's no intellisence why make a language?
So yeah I will say good luck at getting VSCode Support ore any Editor Support built in Without LSP Support, Because they all use LSP.
Because Skript is still intimately tied with Bukkit APIs, a language server would need to either spin up a Bukkit server or work independently of the Skript plugin, neither of which is particularly appealing as a solution. A Bukkit server is clumsy, and projects for parsing independent of a server like skript-parser are a monumental task to make, suffer from feature parity issues, and generally don't seem to receive much interest from developers.
Honestly, Skript is a very simple language, and things like auto-completions can, in limited capacity, already be provided by extensions. The effort required to make a language server seems to outweigh the benefit. Skript is an open source project, you're more than welcome to start development work on a language server if you'd like :)
To be quite honest you letting hundreds even thousands of people down with no LSP support or intellisence built in. So my take is if there's no intellisence why make a language?
Don't take things personally mate. This is an open source project that aims to help many users from very different roles to achieve their needs using simple English-like programming. It's meant to be simple using plain English sentences, so LSP wasn't a big concern and still isn't that much especially since none of the team have expressed their will to implement such thing, that doesn't mean we are not interested in adding that.
We as a team who are working on this project in our free time as much as we can can't always implement all users wishes. We have skript-grammar project which adds syntax highlighting on different editors like VSCode, Atom, and ST3 and still WIP. If you have the capability to contribute and add LSP to the project feel free to.
To be quite honest you letting hundreds even thousands of people down with no LSP support or intellisence built in. So my take is if there's no intellisence why make a language?
Don't take things personally mate. This is an open source project that aims to help many users from very different roles to achieve their needs using simple English-like programming. It's meant to be simple using plain English sentences, so LSP wasn't a big concern and still isn't that much especially since none of the team have expressed their will to implement such thing, that doesn't mean we are not interested in adding that.
We as a team who are working on this project in our free time as much as we can can't always implement all users wishes. We have skript-grammar project which adds syntax highlighting on different editors like VSCode, Atom, and ST3 and still WIP. If you have the capability to contribute and add LSP to the project feel free to.
True but evern starting skript-grammar did you evern thought of building a lsp which does all that for plus intellisence in the future?
Because Skript is still intimately tied with Bukkit APIs, a language server would need to either spin up a Bukkit server or work independently of the Skript plugin, neither of which is particularly appealing as a solution. A Bukkit server is clumsy, and projects for parsing independent of a server like skript-parser are a monumental task to make, suffer from feature parity issues, and generally don't seem to receive much interest from developers.
Honestly, Skript is a very simple language, and things like auto-completions can, in limited capacity, already be provided by extensions. The effort required to make a language server seems to outweigh the benefit. Skript is an open source project, you're more than welcome to start development work on a language server if you'd like :)
But if your language is here to stay it should have the support for it but only when they get the extension or when you deside to fully add it to deafult langs to any editor because it can be handy becacuse it will help you in the proccess of adding it in the future.
Skript has been around for 13 years. Skript is run by a team of volunteers. If you want LSP, you can either make it yourself or wait until more important and worthwhile tasks are done. You're one of the very very very few to have ever asked for this.
Because of the nature of Skript as a language it would be almost impossible to create a useful LSP. Instead of a strict grammar and a regular structure, Skript has hundreds of thousands of potential loose, conditional phrases that would take the place of keywords in another language. To make matters worse, the language itself could be completely different depending on the third-party addons in use as well as what's on the server itself (e.g. the server software, the Minecraft version) so there is practically no way to create a centralised protocol that will provide correct results for all users. Useful auto-complete is unfeasible, accurate error-detection is unfeasible, it's difficult to see what this LSP is going to actually provide at the end of the day, other than syntax highlighting that already has package support in most code editors.
Fortunately, smart editors like Atom (and probably Microsoft's VS Code) can already provide some semblance of smart autocompletion using the grammar packages that are already available by referencing the code in your script file. Aside from the error parsing (which you can use your own server for, or one of the online parsing tools) there's nothing you don't already have.
Because of the nature of Skript as a language it would be almost impossible to create a useful LSP. Instead of a strict grammar and a regular structure, Skript has hundreds of thousands of potential loose, conditional phrases that would take the place of keywords in another language. To make matters worse, the language itself could be completely different depending on the third-party addons in use as well as what's on the server itself (e.g. the server software, the Minecraft version) so there is practically no way to create a centralised protocol that will provide correct results for all users. Useful auto-complete is unfeasible, accurate error-detection is unfeasible, it's difficult to see what this LSP is going to actually provide at the end of the day, other than syntax highlighting that already has package support in most code editors.
Fortunately, smart editors like Atom (and probably Microsoft's VS Code) can already provide some semblance of smart autocompletion using the grammar packages that are already available by referencing the code in your script file. Aside from the error parsing (which you can use your own server for, or one of the online parsing tools) there's nothing you don't already have.
True but there is no offical support for any intellisence or anything for .sk files under skriptlang or anything and so your are using third parties to download an extension potentially eaither stealing your data/installing malware or actually has the support for it.
As everybody else has said already, if you want this then you're free to produce it yourself, but it's not something that we are able to (or see the need to) dedicate our time and effort to currently.
As everybody else has said already, if you want this then you're free to produce it yourself, but it's not something that we are able to (or see the need to) dedicate our time and effort to currently.
This should have been implemented when I get the time I will implement it.
I have created a fork here but when i get the time I will develop it.
I will keep this issue open, but I will look into getting a pr, depending how possible it is with skript. I will have to digging in the source code of skript and see if it's possible.
@Eveeifyeve is a skript language server exists? If yes could you give me explanation how to start it please.
If this language servers exist you can start it inside IntelliJ without developping something at first with LSP4IJ , please read https://idetools.dev/blog/lsp4ij-announcement/ and read section which explains how to integrate TypeScript language server and adapt it for Skript language server
I will look into lsp4ij but I would eventually looking into making it an actual lsp then I will look into making extensions for intellij & vscode.
I will look into lsp4ij but I would eventually looking into making it an actual lsp then I will look into making extensions for intellij & vscode.
If I understand you want to write a language server for skript and integrate it in vscode and in intellij with lsp4ij, right?
I will look into lsp4ij but I would eventually looking into making it an actual lsp then I will look into making extensions for intellij & vscode.
If I understand you want to write a language server for skript and integrate it in vscode and in intellij with lsp4ij, right?
I don't know lsp4ij but I assume no. Since it will be a forum of plugin.
If it exists a language server for Skript, you need just to know how to install and start it.
After that, install LSP4IJ and fill the command to start the language server in the command textarea https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md and that's it. No need to develop some IntelliJ plugin.
After that it is better to develop an IJ plugin to embed the language server, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/DeveloperGuide.md
If it exists a language server for Skript, you need just to know how to install and start it.
After that, install LSP4IJ and fill the command to start the language server in the command textarea https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md and that's it. No need to develop some IntelliJ plugin.
After that it is better to develop an IJ plugin to embed the language server, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/DeveloperGuide.md
I mean LSP4IJ is kinda useless https://plugins.jetbrains.com/docs/intellij/language-server-protocol.html
plus lsps are stored in https://github.com/JetBrains/intellij-plugins
If it exists a language server for Skript, you need just to know how to install and start it.
After that, install LSP4IJ and fill the command to start the language server in the command textarea https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md and that's it. No need to develop some IntelliJ plugin.
After that it is better to develop an IJ plugin to embed the language server, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/DeveloperGuide.md
I mean LSP4IJ is kinda useless https://plugins.jetbrains.com/docs/intellij/language-server-protocol.html
plus lsps are stored in https://github.com/JetBrains/intellij-plugins
If you want to provide a free plugin for community too, LSP4IJ can help you because it is a free plugin.
Nope lsp4ij is completely useless. When intellij already gives your these apis.
Not just only that I can also define the language and type that intellij provides out of the box, have a look at prisma orm and how it works.
Look I get your trying to convince but intellij builtin apis are enough, same with vscode.
Please keep this issue relevant and avoid spamming messages, please. If you want to add another point, you can edit your previous message instead of posting a new one.
How about we move this to matrix: @eveeifyeve:matrix.org
.
Look I get your trying to convince but intellij builtin apis are enough, same with vscode.
It will work only with Ultimate. If you want to support Ultimate and Community both, LSP4IJ existq for this reason.
Look I get your trying to convince but intellij builtin apis are enough, same with vscode.
It will work only with Ultimate. If you want to support Ultimate and Community both, LSP4IJ existq for this reason.
Name at least three lsps on intellij that uses LSP4IJ that has at least 5k+ downloads/stars.
I am closing this issue since it has devolved into discussion about LSP4IJ, rather than the actual feasibility/addition of an LSP for Skript. Open another if you still want to work on an LSP.
I am closing this issue since it has devolved into discussion about LSP4IJ, rather than the actual feasibility/addition of an LSP for Skript. Open another if you still want to work on an LSP.
I mean this issue should stay open but the lsp4j discussion should be a discussion opened in Discussions tab about this because it's a discussion.
I am closing this issue since it has devolved into discussion about LSP4IJ, rather than the actual feasibility/addition of an LSP for Skript. Open another if you still want to work on an LSP.
I mean this issue should stay open but the lsp4j discussion should be a discussion opened in Discussions tab about this because it's a discussion.
Sorry @Eveeifyeve to disturb your github repo with lsp4ij.
If you think you could be interested with LSP4IJ, dont hesitate to create discussion in your repo and I will try to give you relevant info.
@Eveeifyeve see https://github.com/redhat-developer/lsp4ij/tree/main#who-is-using-lsp4ij to know projects which are based on LSP4IJ
I am closing this issue since it has devolved into discussion about LSP4IJ, rather than the actual feasibility/addition of an LSP for Skript. Open another if you still want to work on an LSP.
I mean this issue should stay open but the lsp4j discussion should be a discussion opened in Discussions tab about this because it's a discussion.
Sorry @Eveeifyeve to disturb your github repo with lsp4ij.
If you think you could be interested with LSP4IJ, dont hesitate to create discussion in your repo and I will try to give you relevant info.
@Eveeifyeve see https://github.com/redhat-developer/lsp4ij/tree/main#who-is-using-lsp4ij to know projects which are based on LSP4IJ
Please post some additional comments here https://github.com/SkriptLang/Skript/discussions/7208 also @sovdeeth This should re-open as I am still planning to work on an LSP.
also @sovdeeth This should re-open as I am still planning to work on an LSP.
Make a PR when you have some code for it!
also @sovdeeth This should re-open as I am still planning to work on an LSP.
Make a PR when you have some code for it!
I am looking to make a pr for it but the problem is I don't know internally how skript works.
Suggestion
To add support for LSP for script languages for editors. This will have the ability to tell you hey there is an error in the Skript code before in Realtime not in runtime. Not only that have intellisense for different editors and ide.
Why?
This will be really good for VsCode, IntelliJ and others to add support for the language.
Other
No response
Agreement