zed/assets/icons/file_icons
Daniel Banck bbc4ed9cab
Add language server for Terraform (#7657)
* Depends on: https://github.com/zed-industries/zed/pull/7449
* Closes: https://github.com/zed-industries/zed/issues/5098

---

This PR adds support for downloading and running the Terraform language
server for `*.tf` and `*.tfvars` files. I've verified that the code
works for `aarch64` and `x86_64` macOS. Downloading new language server
versions on release also works as expected.

Furthermore this PR adds:
- A short docs page for Terraform
- An icon for `*.tf` and `*.tfvars` files

## UX

### File Icons

![CleanShot 2024-02-10 at 23 10
13@2x](https://github.com/zed-industries/zed/assets/45985/6f7cd4f0-e94c-4cfb-b3e9-64b0e33c8a43)

### Completion

![CleanShot 2024-02-13 at 20 54
15@2x](https://github.com/zed-industries/zed/assets/45985/18fafa3b-cb50-4f51-b071-ca9eee3521a6)

### Hover

![CleanShot 2024-02-13 at 20 53
40@2x](https://github.com/zed-industries/zed/assets/45985/4d215315-e019-4d3d-b23c-2691db1803e3)

### Go to definition

![2024-02-13 20 56
28](https://github.com/zed-industries/zed/assets/45985/c21d562f-eb0b-4df9-9175-c53b9923344e)

### Formatting

![2024-02-13 20 59
06](https://github.com/zed-industries/zed/assets/45985/0cdf4ec5-e231-4c8a-a257-cae30a8edc8b)

and more!

## Known issue(s)

@fdionisi discovered that sometimes completion results are inserted with
the wrong indentation. Or rather, if you look closely, they are inserted
with the correct indentation and then something shifts the closing `}`.
I don't think this is related to LSP support and can be addressed in a
separate PR.

![2024-02-13 20 58
16](https://github.com/zed-industries/zed/assets/45985/94a118dd-95f5-4e38-8f83-75fec7a0dddf)

Release Notes:

- Add language server support for Terraform
([#5098](https://github.com/zed-industries/zed/issues/5098)).

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2024-02-26 17:08:49 -08:00
..
ai.svg icon updates 2023-07-26 11:19:34 -06:00
archive.svg icon updates 2023-07-26 11:19:34 -06:00
astro.svg Add Astro Support (#6896) 2024-02-12 10:10:40 -08:00
audio.svg icon updates 2023-07-26 11:19:34 -06:00
book.svg Updated icons with additions 2023-07-20 10:07:32 -06:00
bun.svg Add bun file icon (#8322) 2024-02-24 22:40:22 +02:00
camera.svg icon updates 2023-07-26 11:19:34 -06:00
chevron_down.svg Add moar icons 2023-07-20 12:01:41 -06:00
chevron_left.svg Add moar icons 2023-07-20 12:01:41 -06:00
chevron_right.svg Add moar icons 2023-07-20 12:01:41 -06:00
chevron_up.svg Add moar icons 2023-07-20 12:01:41 -06:00
code.svg code icon adjustment 2023-07-20 10:15:20 -06:00
conversations.svg icon updates 2023-07-26 11:19:34 -06:00
css.svg Add CSS file type icon (#7062) 2024-01-30 11:37:48 +02:00
dart.svg Add file icons for Dart, Swift, Kotlin, Java, Fonts (#8404) 2024-02-26 12:33:28 -05:00
database.svg icon updates 2023-07-26 11:19:34 -06:00
elixir.svg Add elixir icons 2023-08-18 14:54:53 -04:00
elm.svg Add Elm file icon (#7440) 2024-02-06 17:25:38 +02:00
erlang.svg Add syntax highlighting and LSP (erlang_lsp) for Erlang (#7093) 2024-02-01 18:54:26 +02:00
eslint.svg Updated icons with additions 2023-07-20 10:07:32 -06:00
file.svg icon updates 2023-07-26 11:19:34 -06:00
file_types.json Add language server for Terraform (#7657) 2024-02-26 17:08:49 -08:00
folder.svg icon updates 2023-07-26 11:19:34 -06:00
folder_open.svg icon updates 2023-07-26 11:19:34 -06:00
font.svg Add file icons for Dart, Swift, Kotlin, Java, Fonts (#8404) 2024-02-26 12:33:28 -05:00
git.svg icon updates 2023-07-26 11:19:34 -06:00
go.svg Add Go file icon (#7110) 2024-01-30 15:48:33 -05:00
graphql.svg Add icon for GraphQL files (#8213) 2024-02-23 22:03:02 -05:00
hash.svg Update icons to new zed file icon set 2023-07-19 11:10:30 -07:00
haskell.svg Add Haskell file type icon (#6995) 2024-01-29 11:32:35 -05:00
html.svg Update icons to new zed file icon set 2023-07-19 11:10:30 -07:00
image.svg icon updates 2023-07-26 11:19:34 -06:00
info.svg Update icons to new zed file icon set 2023-07-19 11:10:30 -07:00
java.svg Add file icons for Dart, Swift, Kotlin, Java, Fonts (#8404) 2024-02-26 12:33:28 -05:00
kotlin.svg Add file icons for Dart, Swift, Kotlin, Java, Fonts (#8404) 2024-02-26 12:33:28 -05:00
lock.svg icon updates 2023-07-26 11:19:34 -06:00
lua.svg Add Lua file icon (#7926) 2024-02-17 17:59:25 +02:00
magnifying_glass.svg icon updates 2023-07-26 11:19:34 -06:00
notebook.svg icon updates 2023-07-26 11:19:34 -06:00
ocaml.svg Add OCaml support (#6929) 2024-02-02 16:58:07 +02:00
package.svg icon updates 2023-07-26 11:19:34 -06:00
phoenix.svg Add elixir icons 2023-08-18 14:54:53 -04:00
php.svg Add PHP file type icon (#7159) 2024-01-31 12:14:28 -05:00
plus.svg icon updates 2023-07-26 11:19:34 -06:00
prettier.svg icon updates 2023-07-26 11:19:34 -06:00
prisma.svg Add Prisma file icon (#7207) 2024-02-06 13:34:46 +01:00
project.svg icon updates 2023-07-26 11:19:34 -06:00
python.svg Add python file icon 2023-08-18 14:07:17 -04:00
r.svg Add icon for R files (#8223) 2024-02-24 23:01:39 +02:00
replace.svg icon updates 2023-07-26 11:19:34 -06:00
replace_all.svg icon updates 2023-07-26 11:19:34 -06:00
replace_next.svg icon updates 2023-07-26 11:19:34 -06:00
ruby.svg Add Ruby file icon (#6922) 2024-01-28 13:46:32 +02:00
rust.svg icon updates 2023-07-26 11:19:34 -06:00
settings.svg icon updates 2023-07-26 11:19:34 -06:00
swift.svg Add file icons for Dart, Swift, Kotlin, Java, Fonts (#8404) 2024-02-26 12:33:28 -05:00
terminal.svg Updated icons with additions 2023-07-20 10:07:32 -06:00
terraform.svg Add language server for Terraform (#7657) 2024-02-26 17:08:49 -08:00
toml.svg icon updates 2023-07-26 11:19:34 -06:00
typescript.svg icon updates 2023-07-26 11:19:34 -06:00
video.svg icon updates 2023-07-26 11:19:34 -06:00
vue.svg Add Vue file icon (#6930) 2024-01-28 12:32:43 -05:00