teal-language / teal-language-server

A language server for Teal, a typed dialect of Lua
MIT License
81 stars 9 forks source link

Fix to work with a breaking change in api of teal version 0.15 #16

Closed svermeulen closed 2 months ago

svermeulen commented 1 year ago

More info here

hishamhm commented 3 months ago

@svermeulen Are you still running this? I don't think @euclidianAce has had much time to maintain this repo. I'm not asking you to take it over, but I think we should give you commit access to just go ahead and merge any changes you needed to keep this in a running state with the latest code.

svermeulen commented 3 months ago

@hishamhm I ended up forking this and doing a lot of heavy refactoring to it, with the intention to share it out as an alternative to this repo (which I still plan to do hopefully soon). So I'm not running this anymore.

hishamhm commented 3 months ago

with the intention to share it out as an alternative to this repo (which I still plan to do hopefully soon).

If you are still working on it and running an updated version, then it's probably best that instead of being an alternative to, it could then migrate to (and become) this repo!

@euclidianAce's hands look pretty full with Cyan, and I'm working on the compiler. A Google Summer of Code student that I'm mentoring is currently converting the LuaRocks codebase to Teal using the next branch and that's giving me a number of things to tweak! (I hope to get next released into a new "major" 0.x version around Sep/Oct).

It would be great to have the language server being actively maintained here in the official GitHub org!

euclidianAce commented 3 months ago

I definitely haven't had much time for this as it is essentially a side-side-side-project and last I remember I hit multiple implementation walls regarding

So I'd definitely appreciate someone else helping/leading the development on this or another language server to supersede this one

hishamhm commented 3 months ago

and the tl compiler api not being built for incremental queries and how to build around that without reimplementing the compiler

I won't be able to address that in next until the release (otherwise I'll never get it out!), but I would very much like to hear more about that after the dust of the release settles!

(Speaking of the tl API, I did make some breaking changes in next but those all cosmetic, so I changed my mind and I will revert them before release, to minimize the impact on existing projects; we can then work out an improved API for the release after that.)

svermeulen commented 3 months ago

Ok I'll try to clean up my fork and then if that works out I'd be happy to join as a maintainer on this repo. I do love Teal (and continue to use it almost daily for years) so would be good to contribute back.

Been awhile since I've been in there but I remember also having had some challenges with incremental updates. Refreshing the 'env' every keystroke was a no-go, so instead I did a full refresh over some interval, which allowed fast responses for intellisense, go-to-def, linting

hishamhm commented 3 months ago

@svermeulen That is great news! \o/ I sent you invites to this repo and the teal-language org.

svermeulen commented 3 months ago

@hishamhm Ok I finally got around to packaging this thing up properly for others.

It is currently here

It started as a fork of this repo but has mutated a lot over the years and now doesn't have much resemblance to it anymore. I'm not sure it should fully replace this one since another implementor might prefer the approach taken here compared to mine.

Maybe we transfer tea-leaves to teal org, mark this repo as currently unmaintained, and link to tea-leaves?

hishamhm commented 3 months ago

@svermeulen Great news!!

It started as a fork of this repo but has mutated a lot over the years and now doesn't have much resemblance to it anymore. I'm not sure it should fully replace this one since another implementor might prefer the approach taken here compared to mine.

I don't think realistically anyone will pick up this branch and carry on from it given that an alternative that's further ahead already exists. It's a somewhat common occurrence in open source to see an obvious name getting picked up by a project that starts first, but gets superseded by a successor. Then throughout the years you hear over and over people saying "oh you want zip support for language foo? don't use foo-zip! foozipper2 is where it's at!"

As a personal opinion, if we have a chance to avoid that, I think we should. Given that we got @euclidianAce's blessing already, I still think taking over the name teal-language-server would be the most logical thing, if only for driving people to the right thing straight away. (Not to mention it sounds a bit more "official"; not everyone might pick up right away that it is hosted at the teal-language org.)

If you strongly prefer to keep the tea-leaves name, we can go with that of course. But I suspect everybody will search for "teal language server" and end up here first (or just search in LuaRocks and get the wrong one, etc.)

svermeulen commented 3 months ago

@hishamhm That makes a lot of sense. Ok, happy to make this the definitive teal-language-server instead. For publishing - Does luarocks allow multiple authors or would that rock need to be transferred to me?

hishamhm commented 3 months ago

For publishing - Does luarocks allow multiple authors or would that rock need to be transferred to me?

unfortunately it doesn't — but I have admin powers, so I've just transferred that to your luarocks.org account!