161: Lexical LS and Elixir Dev UX

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 Elixir Community News https://github.com/elixir-lang/elixir/releases/tag/v1.15.4 – 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 – Elixir v1.15.3 release notes https://gleam.run/news/v0.30-local-dependencies-and-enhanced-externals/ – Gleam v0.30 was released https://news.livebook.dev/whats-new-in-livebook-0.10---introducing-multi-session-livebook-apps-3Dbpss – The Livebook v0.10 was released https://gitlab.com/MachinesAreUs/archeometer – Archeometer analyzes your project and now supports a --format livemd https://twitter.com/MachinesAreUs/status/1676127531840204800 – Archeometer Twitter share with Livebook demo https://gitlab.com/MachinesAreUs/archeometer/-/merge_requests/205 – MR for the new feature https://twitter.com/wojtekmach/status/1679919717648138241 – Learned about "repo_transact" as an alternative to Ecto.Multi https://tomkonidas.com/repo-transact/ – Blog post about repo_transact with the code https://twitter.com/germsvel/status/1678721797561131012 – German Valesco highlighted the new DateTime comparison functions added in Elixir 1.15. https://github.com/phoenixframework/dns_cluster – DNS Cluster - Simple DNS clustering for distributed Elixir nodes https://twitter.com/DNAutics/status/1679902629000880128 – Apical 0.2.0 released - an OpenAPI schema builder https://0x7f.dev/post/ntp-implementation-in-elixir – Post about implementing a Network Time Protocol in Elixir. https://erikarow.land/articles/mix-completions – Post about implementing shell completions for mix tasks https://www.youtube.com/playlist?list=PLKBMoE8mCkXijPYoLCKtWeHa-q69EYwDf – Youtube playlist for published GigCityElixir conference talks Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/lexical-lsp/lexical – Lexical LS Github project https://github.com/lexical-lsp/vscode-lexical – Lexical VS Code project https://github.com/lexical-lsp/vscode-lexical#known-issues – Currently need to using Erlang 25.2 https://marketplace.visualstudio.com/items?itemName=lexical-lsp.lexical – VS Marketplace Link for Lexical LS extension https://venturebeat.com/dev/pinterest-elixir/ https://discord.com/invite/elixir – Join the Elixir Discord https://github.com/elixir-lsp/elixir_sense https://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings Guest Information https://twitter.com/icecreamcohen – on Twitter https://github.com/scohen/ – on Github Find us online Message the show - @ThinkingElixir Message the show on Fediverse - @ThinkingElixir@genserver.social Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid Mark Ericksen on Fediverse - @brainlid@genserver.social David Bernheisel - @bernheisel David Bernheisel on Fediverse - @dbern@genserver.social Cade Ward - @cadebward Cade Ward on Fediverse - @cadebward@genserver.social Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Om Podcasten

The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey!