Language Servers: How Do They Work?

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • In this stream, we'll talk about language servers, a kind of development tool that can provide any text editor or IDE with rich development support for a specific programming language or platform.
    We'll discuss the underlying protocol, how language server programs operate, and how they connect to programs like Emacs to enhance your development experience.
    SUPPORT THE CHANNEL:
    👍 Support My Work: systemcrafters...
    📰 Subscribe to the Newsletter: systemcrafters...
    👕 Check out the Store: systemcrafters...
    📘 Get Your Copy of Mastering Emacs: www.masteringe...
    SHOW NOTES:
    systemcrafters...
    JOIN THE COMMUNITY:
    systemcrafters... (Forum and IRC chat!)
    fosstodon.org/...
    MY CONFIGURATION:
    (This site is currently down but will be back up soon!)
    config.daviwil...
    config.daviwil...
    config.daviwil... (Guix)
    OTHER SERIES:
    - Emacs Essentials: • The Absolute Beginner'...
    - Emacs From Scratch: • Emacs From Scratch #1 ...
    - Emacs Tips: • Emacs Tips - How to Sh...
    - Emacs Desktop Environment: • Emacs Desktop Environm...
    - Emacs IDE: • Emacs From Scratch #8 ...
    - Emacs Mail: • Streamline Your E-mail...
    - Learning Emacs Lisp: • Introduction to Emacs ...
    - Craft Your System with GNU Guix: • An Introduction to GNU...
    CREDITS:
    Coriolis Effect by logos feat. stefsax, licensed Creative Commons 3.0 CC-BY ccmixter.org/fi...
    reNovation by airtone, licensed Creative Commons 3.0 CC-BY ccmixter.org/fi...
    ukeSounds by airtone, licensed Creative Commons 3.0 CC-BY ccmixter.org/fi...
    Between Worlds (Instrumental) by Aussens@iter, licensed Creative Commons 3.0 CC-BY ccmixter.org/fi...

Komentáře • 7

  • @ashraz
    @ashraz Před měsícem +6

    All timestamps should be taken with a grain of salt (and some humor). The timestamps were taken live during the stream, so they might be a bit off.
    - 0:00:00 :: Start of stream on time (j/k)
    - 0:02:40 :: Storytime: OBS issues (why you should not kick power supplies). Also: new video next week
    - 0:04:59 :: Problems with taking over the world
    - 0:05:46 :: Call for EmacsConf participation: emacsconf.org/2024/cfp/ (open until Sep 20)
    - 0:07:35 :: New SC video about custom Org agenda views next week (Tuesday or Wednesday)
    - 0:13:30 :: Soft stream restart due to an Emacs outage
    - 0:16:20 :: *Start of today's topic:* What is a Language Server? (microsoft.github.io/language-server-protocol/)
    - 0:20:55 :: Storytime PowerShellEditorServices project (LSP for PowerShell)
    - 0:21:50 :: Microsoft Story Time
    - 0:25:07 :: Back to topic
    - 0:28:35 :: Protocol explanation (JSON-RPC, www.jsonrpc.org/specification)
    - 0:30:00 :: JSON explanation (www.json.org/json-en.html)
    - 0:33:00 :: Language bashing (chat hates nodejs)
    - 0:36:42 :: Back to JSON RPC
    - 0:38:30 :: David knows Visio (What is the Language Server Protocol: microsoft.github.io/language-server-protocol/overviews/lsp/overview/)
    - 0:49:36 :: Cold in the family
    - 0:53:30 :: Tool: nrepl
    - 0:54:50 :: Why not Icecat instead of CZcams and Twitch streams?
    - 0:56:18 :: Language Server Protocol Specification: microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/
    - 1:05:30 :: TELEMETRY? In MY editor?
    - 1:11:20 :: eglot (built-in)
    - 1:13:39 :: lsp-mode: emacs-lsp.github.io/lsp-mode/
    - 1:14:00 :: Comparison of eglot and lsp-mode
    - 1:16:00 :: Eglot configuration showcase
    - 1:29:00 :: Q&A
    - 1:33:24 :: David talks about questionable substances
    - 1:39:46 :: What is the Lisperati
    - 1:44:04 :: David does not use the shell, but `async-shell-command`.
    - 1:50:53 :: BLINDNESS WARNING (bright theme)
    - 1:51:56 :: Outro and goodbye

  • @user-oj1ng4pv4i
    @user-oj1ng4pv4i Před měsícem +2

    Ohh.. I am the one who requested this topic.. and iImissed it..

  • @johnadams1444
    @johnadams1444 Před měsícem

    When I worked at Microsoft several years ago I also use emacs without anyone caring. All that mattered was that code was being written. I wasn't even the only person on my team using it (for most teams, we did get re-orged around a bunch). Lots of people is visual studio or vscode, but sublime text and vim were also well represented.

  • @kclarineta
    @kclarineta Před měsícem

    This is a mysterious topic for me, so I'm glad you are covering it. I really want to understand how to setup and run these language servers under Guix.

  • @mauricio0guaruja
    @mauricio0guaruja Před 29 dny

    you could use jq shell command to improve json readability, you could M-| with jq '.' , I think that should be enough

    • @mauricio0guaruja
      @mauricio0guaruja Před 29 dny

      jq is used to query and process json on shell. Kinda like awk, but specific for json