mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-25 06:24:56 +00:00
Some checks are pending
Congratsbot / congrats (push) Blocked by required conditions
deploy_nightly_docs / deploy_docs (push) Waiting to run
run_tests / doctests (push) Blocked by required conditions
Congratsbot / check-author (push) Waiting to run
run_tests / check_workspace_binaries (push) Blocked by required conditions
run_tests / orchestrate (push) Waiting to run
run_tests / check_style (push) Waiting to run
run_tests / clippy_windows (push) Blocked by required conditions
run_tests / clippy_linux (push) Blocked by required conditions
run_tests / check_scripts (push) Blocked by required conditions
run_tests / clippy_mac (push) Blocked by required conditions
run_tests / clippy_mac_x86_64 (push) Blocked by required conditions
run_tests / run_tests_windows (push) Blocked by required conditions
run_tests / run_tests_linux (push) Blocked by required conditions
run_tests / run_tests_mac (push) Blocked by required conditions
run_tests / build_visual_tests_binary (push) Blocked by required conditions
run_tests / check_wasm (push) Blocked by required conditions
run_tests / check_dependencies (push) Blocked by required conditions
run_tests / check_docs (push) Blocked by required conditions
run_tests / check_licenses (push) Blocked by required conditions
run_tests / check_postgres_and_protobuf_migrations (push) Blocked by required conditions
run_tests / extension_tests (push) Blocked by required conditions
run_tests / tests_pass (push) Blocked by required conditions
This PR introduces native LSP support for Bash by integrating `bash-language-server`. Combined with the existing Tree-sitter grammar, Zed now provides a complete, out-of-the-box development experience for shell scripting. The implementation is very similar to other npm-managed language servers. With `shellcheck` installed, standard LSP features—including diagnostics, code actions, go-to-definition, find-references, and code completion—work as expected. Since I am not a frequent user of Bash, I have intentionally limited this implementation to a standard, "out-of-the-box" setup. I lack the hands-on experience to identify specific pain points or advanced LSP features that might require custom integration, so I've avoided adding any speculative or specialized configurations, especially within the `LspAdapter` trait. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #51917 Release Notes: - Added built-in language server support for Bash --------- Co-authored-by: Finn Evers <finn@zed.dev>
7.3 KiB
7.3 KiB
| title | description |
|---|---|
| Language Support | Overview of programming language support in Zed, including built-in and extension-based languages. |
Language Support in Zed
Zed supports hundreds of programming languages and text formats. Some work out-of-the box and others rely on 3rd party extensions.
The ones included out-of-the-box, natively built into Zed, are marked with *.
Languages with Documentation
- Ansible
- AsciiDoc
- Astro
- Bash *
- Biome
- C *
- C++ *
- C#
- Clojure
- CSS *
- Dart
- Deno
- Diff *
- Docker
- Elixir
- Elm
- Emmet
- Erlang
- Fish
- GDScript
- Gleam
- GLSL
- Go *
- Groovy
- Haskell
- Helm
- HTML
- Java
- JavaScript *
- Julia
- JSON *
- Jsonnet
- Kotlin
- Lua
- Luau
- Makefile
- Markdown *
- Nim
- OCaml
- PHP
- Prisma
- Proto
- PureScript
- Python *
- R
- Rego
- ReStructuredText
- Racket
- Roc
- Ruby
- Rust * (Zed's written in Rust)
- Scala
- Scheme
- Shell Script
- Standard ML
- Svelte
- Swift
- Tailwind CSS *
- Terraform
- TOML
- TypeScript *
- Uiua
- Vue
- XML
- YAML *
- Yara
- Yarn
- Zig
Additional Community Language Extensions
- Ada
- Aiken
- Amber
- Assembly
- AWK
- Beancount
- Bend
- Blade
- Blueprint
- BQN
- Brainfuck
- Cadence
- Cairo
- Cap'n Proto
- Cedar
- CFEngine policy language
- CSV
- Cucumber/Gherkin
- CUE
- Curry
- D
- Database Markup Language (DBML)
- Earthfile
- EJS template
- Elisp
- Ember
- Env
- Exograph
- Fortran
- F#
- Gemini gemtext
- Git Firefly
- GraphQL
- Groq
- INI
- Java
- Justfiles
- LaTeX
- Ledger
- Less
- LilyPond
- Liquid
- Log
- Lox
- Markdown Oxide
- Marksman
- Matlab
- Meson
- Navi
- NeoCMake
- Nginx
- Nim
- Nix
- Noir
- Nu
- Odin
- Pact
- Pest
- PICA200 assembly
- Pkl
- PlaydateSDK
- QML
- Rainbow CSV
- Rego
- Rescript
- Roclang
- Ron
- Metals
- SCSS
- Slim
- Slint
- Smithy
- Solidity
- SQL
- Strace
- Swift
- Templ
- Tmux
- Tree-sitter Query
- Twig
- Typst
- Unison
- UnoCSS
- Vlang
- Vala
- Vale
- Verilog
- VHS
- Wgsl
- WIT