153: Elixir Tools and Language Servers

Language servers are an important part of modern developer tooling. Mitch Hanberg has made this his new focus with gen_lsp, a generic language server behaviour that he then implemented a Credo language server on top of. Yes, that's right, Credo! We learn what that means and what his new elixir-tools Github organization is intended to do. Listen to Mich share his vision for what Elixir dev tools could be like! We get an update on his Temple project, an alternative to Phoenix templates, we learn about an existing Elixir formatter plugin that may reformat code more to your liking and more! Show Notes online - http://podcast.thinkingelixir.com/153 Elixir Community News https://github.com/elixir-lang/elixir/releases/tag/v1.15.0-rc.0 – Elixir 1.15-rc.0 https://groups.google.com/g/elixir-lang-core/c/CjY7W9xvu80 – Proposal for adding URI sigil https://groups.google.com/g/elixir-lang-core/c/MfB7GJSXV5w – Proposal for adding UTC sigil https://podcast.thinkingelixir.com/149 – More on Logging from Łukasz Niemier https://twitter.com/ac_alejos/status/1658943203364544512 – Exgboost library released https://github.com/acalejos/exgboost/blob/main/notebooks/iris_classification.livemd – Livebook example for Exgboost https://www.youtube.com/watch?v=cG8iwK_6KIg – ElixirConf EU Lightning Talk that visualizes supervisor behaviors using the classic computer game Doom with monster spawning and killing. https://github.com/amalbuquerque/doom-supervisor – Github project for DoomSupervisor http://twitch.com/josevalim – José Valim has resumed some Live coding and chatting on Twitch. https://twitter.com/josevalim/status/1660300292619923457 – José sharing on Twitter that a Twitch Livestream will start Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/elixir-tools/credo-language-server – LSP implementation for Credo https://github.com/elixir-tools/gen_lsp – A behavior for creating language servers https://github.com/elixir-tools – Githug organization https://simplebet.io/index.html https://github.com/elixir-lsp/elixir-ls https://twitter.com/mitchhanberg/status/1648327430912843779 https://www.mitchellhanberg.com/credo-language-server-and-the-birth-of-elixir-tools/ – Blog post about the Credo Language Server and Elixir Tools https://podcast.thinkingelixir.com/92 – Previous interview about Temple (March 29th, 2022) https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ – Language Server spec from Microsoft https://www.youtube.com/watch?v=Ug-SEozyG1A – Code BEAM talk - "OTP Process Abstractions with proc lib" https://github.com/adobe/elixir-styler – Formatter plugin from Adobe https://github.com/tree-sitter/tree-sitter https://github.com/elixir-toniq/norm https://github.com/mhanberg/temple https://github.com/petalframework/petal_components Guest Information https://twitter.com/mitchhanberg – on Twitter https://github.com/mhanberg/ – on Github https://hachyderm.io/@mitchhanberg – on Fediverse https://www.mitchellhanberg.com/ – Blog https://champions-of-hope.funraise.org/fundraiser/mitchell-hanberg – Fund raising page for FightCRC 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!