49

Show HN: Create a full language server in Go with 3.17 spec support

Started in case I ever build a language server, thanks! The interface looks very understandable, and the debug server looks really nice.

Now that I think about it, it might be really cool to add LSP to my CLI framework[0] (I already have tab completion for shells, why not make an editor plugin if it's this easy ..)

0: https://github.com/bbkane/warg

4 hours agobbkane

I wrote this for the infracost LSP so I could write multiple IDE extensions. Its not even really a language server, its just a neat way to parse the Terraform/Cloudformation and return diagnostics.

Language servers are cool!

an hour agorumno0

Markdown survived because it optimized for the right tradeoff: human readability with just enough structure for machine parsing.

an hour agozephyrwhimsy

Very nice. Now I want to build a language server. If only I had anything to build it for.

4 hours agoSwiftyBug

To give you some idea how versatile a language server is, I wrote one once to provide go-to-definition between two related blocks in a large proprietary YAML configuration file. If the definition was missing, it would also render the red squiggly line to indicate that something was misspelled.

Another time I used one to make the hosts in my SSH configuration file clickable to either open a terminal with a session or just to display cpu/memory statistics.

Lots of neat editor-independent interactions can be enabled using language servers.

an hour agocatlifeonmars

thanks!

Thankfully, I finally had a reason to build an LSP (infracost LSP), so it motivated this and I'm really pleased with it

an hour agorumno0

[dead]

4 minutes agopeaklineops

[dead]

3 hours agodevnotes77

   // DiagnosticSeverity indicates the severity of a diagnostic.
   type DiagnosticSeverity int
Hmmm :robot:
an hour agowhateveracct

The godoc format enforces that the comment start with the name of the identifier and be a complete sentence(s) describing what that identifier does. Predates LLMs

an hour agojryio

Yeah some times godoc comments look crap by necessity

an hour agorumno0

But you don't have to add a docstring. Cases like this are worse than no docstring at all, because it wastes the reader's time.

If you add one, at least make the effort to provide some useful information. For example which is more severe: higher or lower numbers.

3 minutes agofainpul

I disagree - you should have docstring and I don't think this is worse the having it... its just not ideal