Excellent write up Andrew! Would you mind sharing your scripting for Go? I 
also write some Go but work mainly in Node/JS/TS and Elixir.  I would love 
to mimic what you're doing with Go as I've never implemented a plugin for 
BBEdit.  

On Thursday, November 29, 2018 at 11:44:11 AM UTC-5, ascarter wrote:
>
> Kerri,
>
> LSP isn't at all like Kite. It's a project primarily promoted by Microsoft 
> but it is all open source and others are supporting it too. The problem is 
> that all the different editors and IDE's out there use sometimes primitive 
> means to analyze code and provide hints, suggest completions, correlate 
> definitions, show usage, etc. Solutions like ctags work but don't run real 
> time. The basic idea is to have each language implement a server that can 
> answer those questions via a defined protocol in real time. The benefit is 
> that an implementor of an editor just has to integrate the same protocol 
> for all languages while the language implementor provides the server that 
> can answer that for any editor or IDE.
>
> The way it runs is not over the network. It could but that's not the 
> intent. Instead, you run a local language server, typically as a process 
> controlled by your editor. The editor makes JSON RPC calls to the language 
> server usually over stdio or web sockets. It can do TCP but most seem to 
> just do stdio. So it is all local and there is no sending of your 
> keystrokes elsewhere.
>
> Ideally, the language SDKs will eventually ship the language server. Go 
> for example is beginning to add it to their standard library so if you 
> install a future version of Go, you would get the language server as part 
> of the sdk and your editor can run it. Since it is being implemented by the 
> language authors, it will hopefully be very good at the tasks. However, 
> it's fine to have it completely implemented outside the language sdk (which 
> is how most are done now).
>
> Microsoft is using this heavily for Visual Code.
>
> Here are some sites that have details:
> https://langserver.org
> https://microsoft.github.io/language-server-protocol/
>
> OK - so what does this have to do with BBEdit? I really love BBEdit but 
> would like a few more IDE type features - one being the kinds of things 
> that LSP would solve. I've started to experiment with writing some 
> integration scripts between BBEdit and language servers. It's really early 
> but I have some code that can talk to the Go language server (that's my 
> primary language). I expect that it will be hard to truly integrate without 
> some fundamental changes to BBEdit but hopefully Bare Bones will take a 
> look at this (and I'm more than happy to share what I've learned with them).
>
> There is a lot of momentum around this. I think it will become pretty much 
> required for code editors to support it or they are going to really fall 
> behind. It looks well thought out and VS Code has shown it working well. 
> The Swift team/Apple are going to support it in Xcode and provide a server 
> for Swift. Think of it as taking the Microsoft "intellisense" and making 
> that available broadly in whatever editor you wanted to use.
>
> Andrew
>
>
> On Wednesday, June 28, 2017 at 10:23:45 AM UTC-7, Kerri Hicks wrote:
>>
>> Correct me if I'm wrong, but doesn't LSP require that you are, 
>> essentially, sharing your code with the remote server, as you type it/edit 
>> it? That is, the remote server knows what keystrokes you're hitting when 
>> (so that it can provide you service and advice), and those are transmitted 
>> over the network?
>>
>> I remember, when Kite support was added last year, that was a concern of 
>> many of us. (Kite is not an LSP, of course, but the functionality seems 
>> similar.)
>>
>> Adjusting my tinfoil hat,
>> --Kerri
>>
>> On Wed, Jun 28, 2017 at 10:26 AM, Rob Lewis <[email protected]> wrote:
>>
>>> Been reading about LSP, Language Server Protocol, a new technology that 
>>> lets a program like an editor communicate with a "language server" to 
>>> simplify the handling of programming language-specific features. 
>>>
>>> Wondering what Bare Bones' stance on this is. 
>>>
>>> -- 
>>> This is the BBEdit Talk public discussion group. If you have a 
>>> feature request or would like to report a problem, please email
>>> "[email protected]" rather than posting to the group.
>>> Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "BBEdit Talk" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at https://groups.google.com/group/bbedit.
>>>
>>
>>

-- 
This is the BBEdit Talk public discussion group. If you have a 
feature request or need technical support, please email
"[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <https://www.twitter.com/bbedit>
--- 
You received this message because you are subscribed to the Google Groups 
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/bbedit.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/2cc71be2-71ce-487e-a097-c04cddbb8ca3%40googlegroups.com.

Reply via email to