Support fotr Language Server Protocol?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Support fotr Language Server Protocol?

Stefan Daschek
I’d really like TextMate to support the Language Server Protocol for code completion, navigation etc. for various languages (in my case primarily Ruby, but LSP as such is language-agnostic).

To be honest, I don't have any clue (yet) what exactly needs to be done. However, there’s a already a vast amount of editors supporting LSP (see https://langserver.org/#implementations-client ) and I’m quite sure that investigating some of these implementations would give hints about how to add LSP support to TextMate.

Is there anyone else interested in this topic? Maybe we could team up?

s.




_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|

Re: Support fotr Language Server Protocol?

Jacob Carlborg


On 16 Sep 2019, at 11:16, Stefan Daschek <[hidden email]> wrote:

I’d really like TextMate to support the Language Server Protocol for code completion, navigation etc. for various languages (in my case primarily Ruby, but LSP as such is language-agnostic).

To be honest, I don't have any clue (yet) what exactly needs to be done. However, there’s a already a vast amount of editors supporting LSP (see https://langserver.org/#implementations-client ) and I’m quite sure that investigating some of these implementations would give hints about how to add LSP support to TextMate.

Unfortunately I think there’s quite a lot that needs to be done other than setting up the actual communication with the server. I think TextMate are missing quite a few features. It needs better support for showing error messages, ideally inline. Better autocomplete, with support for documentation. It needs code navigation. Probably a lot more.

Is there anyone else interested in this topic? Maybe we could team up?

I’m definitely interested but I don’t really have any time available.

-- 
/Jacob Carlborg



_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|

Re: Support fotr Language Server Protocol?

Allan Odgaard-4
In reply to this post by Stefan Daschek

On 16 Sep 2019, at 11:16, Stefan Daschek wrote:

To be honest, I don't have any clue (yet) what exactly needs to be done […]

It’s something on my personal wishlist, but have been postponing it until after a non-“beta” release because it will require a lot of changes/rewriting, as the protocol needs to sync up edits, file renames, etc. between LSP server and client, so every place that TextMate may change the buffer, it will need to convert that into a JSON-RPC message with UTF-16 offsets and send it to the server.

While one could insert such sync code at the lowest level (the buffer class), this is not where we want to deal with graphical completion menus, file renames, etc. and I would prefer not to have LSP communication spread out over multiple components.

There’s a few other things that require rethinking the same components, and I’m currently doing a bit of experimentation with this. I’m not making any promises or predictions, just letting you know what’s currently on my mind.



_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|

Re: Support fotr Language Server Protocol?

Stefan Daschek
Thanks for the update!

Unfortunately I don’t think I can help with any of the “behind the scenes” work, having almost no experience at all in Objective C and/or macOS programming.

However, if there's anything that needs to be done regarding bundles, please let me know!

s.


Am 18.09.19 um 09:18 schrieb Allan Odgaard:

On 16 Sep 2019, at 11:16, Stefan Daschek wrote:

To be honest, I don't have any clue (yet) what exactly needs to be done […]

It’s something on my personal wishlist, but have been postponing it until after a non-“beta” release because it will require a lot of changes/rewriting, as the protocol needs to sync up edits, file renames, etc. between LSP server and client, so every place that TextMate may change the buffer, it will need to convert that into a JSON-RPC message with UTF-16 offsets and send it to the server.

While one could insert such sync code at the lowest level (the buffer class), this is not where we want to deal with graphical completion menus, file renames, etc. and I would prefer not to have LSP communication spread out over multiple components.

There’s a few other things that require rethinking the same components, and I’m currently doing a bit of experimentation with this. I’m not making any promises or predictions, just letting you know what’s currently on my mind.


_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate


_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate
Reply | Threaded
Open this post in threaded view
|

Re: Support fotr Language Server Protocol?

Jacob Carlborg
In reply to this post by Allan Odgaard-4

On 18 Sep 2019, at 09:18, Allan Odgaard <[hidden email]> wrote:

It’s something on my personal wishlist, but have been postponing it until after a non-“beta” release 


That’s great to hear. At least that it’s on the radar.

-- 
/Jacob Carlborg



_______________________________________________
TextMate mailing list
[hidden email]
https://lists.macromates.com/listinfo/textmate