161: Lexical LS and Elixir Dev UX

Release Date:

Language Servers underpin the language specific support we rely on in modern code editors. Lately, there have been new efforts in this area in the Elixir community. We talk with Steve Cohen about his project Lexical LS to learn about his new Elixir Language Server, how long he's been at it, and what it can do today. We learn about some of the technical challenges when creating a tool like this, and why there's still room for new projects in this area. Steve explains how Lexical LS is architected and that it is a goal to be easy to contribute to and work on the Lexical project itself. Time to give it a try!
Show Notes online - http://podcast.thinkingelixir.com/161 (http://podcast.thinkingelixir.com/161)
Elixir Community News
- https://github.com/elixir-lang/elixir/releases/tag/v1.15.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.4?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.15.3 and v1.15.4 were released. v1.15.4 includes fixes for running on Erlang/OTP 26.
- https://github.com/elixir-lang/elixir/releases/tag/v1.15.3 (https://github.com/elixir-lang/elixir/releases/tag/v1.15.3?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir v1.15.3 release notes
- https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/ (https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v0.30 was released
- https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss (https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss?utm_source=thinkingelixir&utm_medium=shownotes) – The Livebook v0.10 was released
- https://gitlab.com/MachinesAreUs/archeometer (https://gitlab.com/MachinesAreUs/archeometer?utm_source=thinkingelixir&utm_medium=shownotes) – Archeometer analyzes your project and now supports a --format livemd
- https://twitter.com/MachinesAreUs/status/1676127531840204800 (https://twitter.com/MachinesAreUs/status/1676127531840204800?utm_source=thinkingelixir&utm_medium=shownotes) – Archeometer Twitter share with Livebook demo
- https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205 (https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205?utm_source=thinkingelixir&utm_medium=shownotes) – MR for the new feature
- https://twitter.com/wojtekmach/status/1679919717648138241 (https://twitter.com/wojtekmach/status/1679919717648138241?utm_source=thinkingelixir&utm_medium=shownotes) – Learned about "repotransact" as an alternative to Ecto.Multi
- https://tomkonidas.com/repo-transact/ (https://tomkonidas.com/repo-transact/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about repotransact with the code
- https://twitter.com/germsvel/status/1678721797561131012 (https://twitter.com/germsvel/status/1678721797561131012?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco highlighted the new DateTime comparison functions added in Elixir 1.15.
- https://github.com/phoenixframework/dns_cluster (https://github.com/phoenixframework/dns_cluster?utm_source=thinkingelixir&utm_medium=shownotes) – DNS Cluster - Simple DNS clustering for distributed Elixir nodes
- https://twitter.com/DNAutics/status/1679902629000880128 (https://twitter.com/DNAutics/status/1679902629000880128?utm_source=thinkingelixir&utm_medium=shownotes) – Apical 0.2.0 released - an OpenAPI schema builder
- https://0x7f.dev/post/ntp-implementation-in-elixir (https://0x7f.dev/post/ntp-implementation-in-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Post about implementing a Network Time Protocol in Elixir.
- https://erikarow.land/articles/mix-completions (https://erikarow.land/articles/mix-completions?utm_source=thinkingelixir&utm_medium=shownotes) – Post about implementing shell completions for mix tasks
- https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf (https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf?utm_source=thinkingelixir&utm_medium=shownotes) – Youtube playlist for published GigCityElixir conference talks
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com)
Discussion Resources
- https://github.com/lexical-lsp/lexical (https://github.com/lexical-lsp/lexical?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical LS Github project
- https://github.com/lexical-lsp/vscode-lexical (https://github.com/lexical-lsp/vscode-lexical?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical VS Code project
- https://github.com/lexical-lsp/vscode-lexical#known-issues (https://github.com/lexical-lsp/vscode-lexical#known-issues?utm_source=thinkingelixir&utm_medium=shownotes) – Currently need to using Erlang 25.2
- https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical (https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical?utm_source=thinkingelixir&utm_medium=shownotes) – VS Marketplace Link for Lexical LS extension
- https://venturebeat.com/dev/pinterest-elixir/ (https://venturebeat.com/dev/pinterest-elixir/?utm_source=thinkingelixir&utm_medium=shownotes)
- https://discord.com/invite/elixir (https://discord.com/invite/elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Join the Elixir Discord
- https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense?utm_source=thinkingelixir&utm_medium=shownotes)
- https://en.wikipedia.org/wiki/ComparisonofUnicode_encodings (https://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings?utm_source=thinkingelixir&utm_medium=shownotes)
Guest Information
- https://twitter.com/icecreamcohen (https://twitter.com/icecreamcohen?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter
- https://github.com/scohen/ (https://github.com/scohen/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir)
- Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com)
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
- Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)

161: Lexical LS and Elixir Dev UX

Title
161: Lexical LS and Elixir Dev UX
Copyright
Release Date

flashback