Rashid Almheiri
998f6cf80d
Add OCaml support ( #6929 )
...
This pull request implements support for the [OCaml
Language](https://ocaml.org/ ).
### Additions
- [x]
[tree-sitter-ocaml](https://github.com/tree-sitter/tree-sitter-ocaml )
grammar
- [x] Highlight, Indents, Outline queries
- [x] A new file icon for .ml(i) files. Based on
[ocaml/ocaml-logo](https://github.com/ocaml/ocaml-logo/blob/master/Colour/SVG/colour-transparent-icon.svg )
- [x] LSP Integration with
[ocaml-language-server](https://github.com/ocaml/ocaml-lsp )
- [x] Completion Labels
- [x] Symbol Labels
### Bug Fixes
- [x] Improper parsing of LSP headers.
### Missing [will file a separate issue]
- Documentation on completionItem, requires: `completionItem/resolve`
with support for `documentation` as a provider.
### Screenshots
<details><summary>Zed</summary>
<img width="1800" alt="Screenshot 2024-02-01 at 03 33 20"
src="https://github.com/zed-industries/zed/assets/69181766/e17c184e-203e-40c3-a08f-4de46226b79c ">
</details>
Release Notes:
- Added OCaml Support
([#5316 ](https://github.com/zed-industries/zed/issues/5316 )).
> [!NOTE]
> Partially completes #5316
> To complete #5316 :
> 1. addition of a reason tree-sitter grammar.
> 2. opam/esy integration, however it may be better as it's own plugin.
2024-02-02 16:58:07 +02:00
Thorsten Ball
79c1003b34
go: fix highlighting of brackets, variables, fields ( #7276 )
...
This changes the highlighting of Go code to make it more similar to how
we highlight Rust
* normal variables have the normal color, vs. being highlighted. This
really stuck out.
* brackets are properly highlighted
It also brings it closer to Neovim's tree-sitter highlighting by
changing how struct fields are highlighted.
Release Notes:
- Improved highlighting of Go code by tuning highlighting of variables,
brackets, and struct fields.
## Before & After

2024-02-02 11:44:28 +01:00
Thorsten Ball
10cd978e93
go: improve outline queries to get rid of whitespace ( #7273 )
...
This changes the Go `outline.scm` queries a bit so that we don't have
these stray whitespaces floating around. I'm sure there's more
improvements possible, but for now I think this makes it look less
wrong.
Release Notes:
- Improved outline and breadcrumbs for Go code.
## Before

## After

2024-02-02 11:24:04 +01:00
Conrad Irwin
69e0ea92e4
Links to channel notes ( #7262 )
...
Release Notes:
- Added outline support for Markdown files
- Added the ability to link to channel notes:
https://zed.dev/channel/zed-283/notes#Roadmap
2024-02-01 22:22:02 -07:00
Dairon M and Thanabodee Charoenpiriyakij
97be0a930c
Add syntax highlighting and LSP (erlang_lsp) for Erlang ( #7093 )
...
This pull request implements support for the [Erlang
Language](https://erlang.org/ ).
**It adds:**
* [tree-sitter-erlang](https://github.com/WhatsApp/tree-sitter-erlang )
grammar
highlights (Licensed under Apache-2 from WhatsApp which is compatible
with Zed licensing model), folds and indents
* Erlang file icon based on the [official
one](https://www.erlang.org/doc/erlang-logo.png )
* [erlang_ls](https://github.com/erlang-ls/erlang_ls ) support
Fixes https://github.com/zed-industries/zed/issues/4939 , possibly a
duplicate of https://github.com/zed-industries/zed/pull/7085 with more
features. Suppose @wingyplus wants to join efforts here.
**To complete (out of scope for this PR):**
* Support for the ELP language server from WhatsApp. CC @robertoaloi
* Better indentation handling, need something like
`indentNextLinePattern` in VS Code
**Screenshots:**





Outline:

**Release Notes:**
* Added Erlang Support
([7093](https://github.com/zed-industries/zed/pull/7093 )).
---------
Signed-off-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com >
Co-authored-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com >
2024-02-01 18:54:26 +02:00
d1y
b9d5eb17a3
Fix typo ( #7223 )
...
Release Notes:
- N/A
2024-02-01 11:05:51 -05:00
Mikayla Maki and Nathan
f98d636203
WIP: Add a setting to visually redact enviroment variables ( #7124 )
...
Release Notes:
- Added bash syntax highlighting to `.env` files.
- Added a `private_files` setting for configuring which files should be
considered to contain environment variables or other sensitive
information.
- Added a `redact_private_values` setting to add or remove censor bars
over variable values in files matching the `private_files` patterns.
-(internal) added a new `redactions.scm` query to our language support,
allowing different config file formats to indicate where environment
variable values can be identified in the syntax tree, added this query
to `bash`, `json`, `toml`, and `yaml` files.
---------
Co-authored-by: Nathan <nathan@zed.dev >
2024-01-31 11:42:09 -08:00
d1y
5d85801d1f
Add highlighting for go.work ( #7142 )
...
<img width="617" alt="image"
src="https://github.com/zed-industries/zed/assets/45585937/ecb28152-db02-450e-bc81-395abd1c1eef ">
Release Notes:
- Added highlighting for go.work
2024-01-31 12:11:03 -07:00
d1y
b7ced3943e
Add highlighting for git_commit ( #7147 )
...
https://github.com/zed-industries/zed/assets/45585937/32cf5622-e960-4775-986d-bcfd30c81098
Release Notes:
- Added highlighting for git_commit
2024-01-31 09:41:19 -08:00
Andrey Kuzmin and Jared M. Smith
634fe99fa5
Add LSP support for Elm ( #7116 )
...
Closes #4595
Release Notes:
- Added LSP support for Elm
([#4595 ](https://github.com/zed-industries/zed/issues/4595 )).
---------
Co-authored-by: Jared M. Smith <absynce@gmail.com >
2024-01-31 11:05:38 +02:00
Derrick Laird
ba91adf48a
languages: add highlighting for go.mod ( #7137 )
...
Release Notes:
- Added syntax highlighting for go.mod files. Fixes #7133
<img width="863" alt="image"
src="https://github.com/zed-industries/zed/assets/8725798/dc521a02-c53a-44aa-b0c1-eebf31835679 ">
2024-01-31 08:46:13 +01:00
Derrick Laird
7bfa584eb6
Add protobuf support ( #6748 )
...
Release Notes:
- Added protobuf syntax highlighting
([#5160 ](https://github.com/zed-industries/zed/issues/5160 )).
2024-01-30 21:08:10 +02:00
fminkowski
e5c4c8522b
C# Support: Add treesitter and OmniSharp LSP support ( #6908 )
...
This PR adds the C# tree-sitter grammar. It also adds OmniSharp-Roslyn
for LSP support.
Resolves issue
[#5299 ](https://github.com/zed-industries/zed/issues/5299 )
Release Notes:
- Added C# support
## VSCode
<img width="984" alt="vscode"
src="https://github.com/zed-industries/zed/assets/6967829/1f6b4cb7-4e00-4d61-8e58-2867dc5c8ecf ">
## Zed
<img width="1722" alt="zed"
src="https://github.com/zed-industries/zed/assets/6967829/88436c78-93de-4e26-be15-b0dea6590c55 ">
2024-01-30 09:54:39 -08:00
Ammar Arif
fb9eb6a0fc
Add taplo toml LSP ( #7034 )
...
Release Notes:
- Added `toml` LSP using [taplo](https://taplo.tamasfe.dev/ )
2024-01-30 11:50:15 +02:00
Ben Hamment
2a2cf45e90
Improve file types list for Ruby syntax ( #7022 )
...
### Improved list of file types that require Ruby syntax highlighting
- `.ru` files: These are Rackup files and are used for configuring Rack
applications.
- `.thor` files: Used for defining Thor tasks. Thor is a toolkit for
building powerful command-line interfaces in Ruby.
- `.cap, .capfile, and Capfile`: These files are used for Capistrano
deployment configuration.
- `.jbuilder` files: Used for creating JSON responses in a Rails
application.
- `.rabl files`: RABL (Ruby API Builder Language) files are used for
defining JSON templates.
- `.rxml` files: RXML files are used for creating XML responses.
- `.builder` files: Builder templates, which are used for generating XML
and other formats.
- `.gemspec` files: These files define metadata for a RubyGem.
- `.rdoc` files: RDoc documentation files.
- `.thor` files: These files are used for defining Thor tasks.
- `.pryrc` files: Configuration files for the Pry REPL (Read-Eval-Print
Loop).
- `.simplecov`: Configuration file for SimpleCov, a code coverage
analysis tool.
#### Some examples
- <img width="393" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/4e30b03a-ae21-4bae-ab11-48aa46b4bd0b ">
- <img width="501" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/07251529-bcde-42d2-8973-341679e5cbc4 ">
- <img width="365" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/8c9c116c-2b51-4062-b83b-83f60838d28a ">
- <img width="396" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/02d591af-88df-41f0-ba52-b11fa370ba07 ">
- <img width="432" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/91cd760f-f56a-488a-9736-bc03a44b27cf ">
- <img width="296" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/282c331e-8896-49d4-b3b6-b3edbf0c1cc5 ">
- <img width="316" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/a2ddfccf-43d4-4657-a764-9e8d62aa4467 ">
- <img width="536" alt="image"
src="https://github.com/zed-industries/zed/assets/7274458/b0fce8db-4a9e-4615-bf5d-0b6c523bcbc8 ">
- `path_suffixes` Also new lines the array for readability especially
for diffs.
Release Notes:
- Associated `.ru`, `.thor`, `.cap`, `.capfile`, `Capfile`, `.jbuilder`,
`.rabl`, `.rxml`, `.builder`, `.gemspec`, `.rdoc`, `.thor`, `.pryrc`,
and `.simplecov` files with Ruby.
2024-01-29 17:41:57 -05:00
Piotr Osiewicz
5ab715aac9
text: Wrap BufferId into a newtype
2024-01-29 20:00:47 +01:00
bestgopher
d2968866b2
rust: Update rust-analyzer repo address ( #6986 )
...
I am so sorry that I closed the
https://github.com/zed-industries/zed/pull/6980 misoperationally. Here
is a new pr.
2024-01-29 09:55:31 -05:00
Abel Chalier
a827d0dac6
fixed zig config on line_comments ( #6979 )
...
On a .zig files , the `CMD-/` keybinding don't work,
In the language config its the only language with '//' type comment that
is written in singular without array.
This fixed the problem, so i assume it was just a typo

Release notes:
- Fixed line comment continuations and Editor::ToggleComments for Zig, Haskell and PureScript.
2024-01-29 13:34:26 +01:00
Iván Molina Rebolledo
db68fc5130
Add PureScript LSP/Highlighting support ( #6911 )
...
This PR adds basic support for the language using the
`purescript-language-server`.
Release Notes:
- Added support for PureScript.
2024-01-28 17:44:50 -05:00
Marshall Bowers
bbdf401a78
Use async_maybe! instead of inline IIFEs ( #6906 )
...
This PR replaces instances where we were using an async IIFE with the
`async_maybe!` macro.
Release Notes:
- N/A
2024-01-27 20:49:56 -05:00
Stuart Hinson
bd39258fc7
Address a couple comments re Ruby file associations ( #6863 )
...
Release Notes:
- Fixed: Address a [couple comments re Ruby file
associations](https://github.com/zed-industries/zed/pull/6812#discussion_r1468437144 )
2024-01-27 16:09:15 +02:00
Mikayla Maki
fd3c96dbed
Add Haskell support ( #5281 ) ( #6786 )
...
This PR adds the Haskell tree-sitter grammar copied from
[`nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/haskell ).
It also adds the Haskell Language Server.
This is a joint effort by myself (adding the grammar) and @leifu1128
(who is adding the language server integration).
This PR resolves https://github.com/zed-industries/zed/issues/5281
Release Notes:
- Added Haskell support
([#5281 ](https://github.com/zed-industries/zed/issues/5281 )).
2024-01-26 18:32:20 -08:00
Marshall Bowers
0e722f6288
Extend support for outlining in Gleam ( #6834 )
...
This PR extends support for outlines in the recently-added Gleam
support.
Note that I'm leaving the release notes section blank as we haven't yet
released Gleam support, so it can just roll up into that item.
Release Notes:
- N/A
2024-01-26 21:31:22 -05:00
Pseudomata
030ff0acf3
Simplify Haskell LSP integration
...
This change will work without any configuration and assume the user will install the Haskell Language Server using `ghcup`
2024-01-26 20:19:36 -05:00
Stuart Hinson
9833d4b0c3
Add a couple common Ruby file suffixes ( #6812 )
...
Release Notes:
- Added `Gemfile.lock` and `rake` as associated Ruby files.
2024-01-26 19:24:25 -05:00
Pseudomata
652ec6fb3e
Ability to manually configure LSP for Haskell
...
Allow users who have HLS installed using `ghcup` to manually provide the path for the Haskell language server
2024-01-26 19:02:31 -05:00
Pseudomata
faf7798577
Use same arguments for LSP binary in haskell.rs
2024-01-26 15:41:11 -05:00
Pseudomata
0576214be7
Remove Haskell injections.scm
...
Since tree-sitter-haskell does not support injections we don’t want to mix with nvim-treesitter
2024-01-26 15:35:08 -05:00
Pseudomata
6e25b0a718
Switch to tree-sitter-haskell grammar
2024-01-26 15:04:22 -05:00
Piotr Osiewicz and Kirill
1761e60362
Improve performance of JSON schema creation ( #6770 )
...
JSON LSP adapter now caches the schema. `workspace_configuration` is
back to being async, and we are also no longer asking for font names
twice while constructing the schema.
Release Notes:
- Improved performance when opening the .json files.
---------
Co-authored-by: Kirill <kirill@zed.dev >
2024-01-26 19:54:45 +01:00
Mikayla Maki
0a124a9908
Feature: PHP: Add readonly keyword to keyword list ( #6798 )
...
Release Notes:
- Added `readonly` to keyword list for PHP
([#6797 ](https://github.com/zed-industries/zed/issues/6797 )).
2024-01-26 10:46:18 -08:00
Remco Smits
ac05853f2c
Add readonly keyword to keyword list
2024-01-26 19:16:56 +01:00
Remco Smits
b5c64a128e
Feature: PHP allow single quote autocompletion ( #6796 )
...
Release Notes:
- Added support for single quote autocompletion in PHP
([#6794 ](https://github.com/zed-industries/zed/issues/6794 )).
- Added `#` to supported line comments for PHP
([#6794 ](https://github.com/zed-industries/zed/issues/6794 )).
2024-01-26 19:16:35 +01:00
Pseudomata
58a9f51361
Comment out haskell_persistent and sql injections
...
- the haskell_persistent grammar has not been added, see https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/haskell_persistent and https://github.com/MercuryTechnologies/tree-sitter-haskell-persistent
- the sql grammar has not been added either
2024-01-26 12:28:52 -05:00
Lei
ee750e102d
implement hls adapter
2024-01-27 00:55:13 +08:00
Pseudomata
2b9ba46cb6
Merge branch 'haskell-support' into add-haskell-grammar
2024-01-26 10:55:43 -05:00
Pseudomata
f9a08287c7
Update Haskell grammar
...
Copied queries from nvim-tree-sitter, see https://github.com/nvim-treesitter/nvim-treesitter/tree/master/queries/haskell
2024-01-26 10:51:39 -05:00
Thorsten Ball
f537be4704
Fix bracket captures for Go, C, C++, and Zig
...
This fixes #6702 by adding the captures for Go, C, C++, and Zig.
Witness-by: David <dammerung2718@icloud.com >
2024-01-26 16:45:45 +01:00
Allan Calix
742329ee8f
Highlight a broader range of zig functions
2024-01-25 20:30:07 -08:00
Allan Calix
ebbfff5ce8
Updates zigs highlight to emit right captures
2024-01-25 19:17:18 -08:00
Allan Calix
e5b71cc6ac
Add zig support
2024-01-25 18:04:04 -08:00
Lino Le Van
81aac492bd
Add Deno LSP support ( #5816 )
...
This PR adds support for the deno LSP. Should be reviewable now.
Release Notes:
- Added support for the Deno LSP
([#5361 ](https://github.com/zed-industries/zed/issues/5361 )).
2024-01-25 17:44:51 -08:00
Marshall Bowers
50b9e5d8d2
Add Gleam support ( #6733 )
...
This PR adds support for [Gleam](https://gleam.run/ ).
<img width="1320" alt="Screenshot 2024-01-25 at 6 39 18 PM"
src="https://github.com/zed-industries/zed/assets/1486634/7891b6e9-d7dc-46a0-b7c5-8aa7854c1f35 ">
<img width="757" alt="Screenshot 2024-01-25 at 6 39 37 PM"
src="https://github.com/zed-industries/zed/assets/1486634/f7ce6b3f-6175-45cb-8547-cfd286d918c6 ">
<img width="694" alt="Screenshot 2024-01-25 at 6 39 55 PM"
src="https://github.com/zed-industries/zed/assets/1486634/b0838027-c377-47e6-bdd1-bdc9b67a8672 ">
There are still some areas of improvement, like extending what
constructs we support in the outline view, but this is a good start.
Release Notes:
- Added Gleam support
([#5162 ](https://github.com/zed-industries/zed/issues/5162 )).
2024-01-25 18:44:35 -05:00
SweetPPro
006e003698
Add syntax highlighting for .htm and .shtml files ( #6705 )
...
enabled syntax highlighting for **.htm** and **.shtml** files
Release Notes:
- Added support for syntax highlighting in HTML files with `.htm` and
`.shtml` extensions
([#4510 ](https://github.com/zed-industries/zed/issues/4510 )).
2024-01-25 14:05:17 -05:00
Piotr Osiewicz
e9edad1d51
language: Accept multiple values in line_comment language knob. ( #6713 )
...
This opens up a possibility of supporting multiple comment continuation
flavours in editor, e.g. doc comments for Rust (which we seize as well
in this commit). Only the first `line_comment` value is used for
Editor::ToggleComments
Fixes: https://github.com/zed-industries/zed/issues/6692
Release Notes:
- Added support for doc-comment continuations in Rust language.
2024-01-25 19:25:21 +01:00
Max Brunsfeld
6ed7cc7833
Simplify language server startup ( #6449 )
...
These are just some small refactorings of our language-server-starting
code, motivated by another change that I decided to bail on:
https://github.com/zed-industries/zed/pull/6448 .
2024-01-24 17:36:50 -08:00
Pseudomata
02ab16037c
Get basic syntax highlighting for Haskell working
2024-01-24 18:08:47 -05:00
Chase Weaver
cf3b4b0ba7
Fix: Comment shortcut in Svelte files now respects if the line(s) are HTML vs JS/TS ( #5860 )
...
Release Notes:
- Fixed: When using the comment shortcut, previously HTML or JS/TS would
all prefix lines with `// `. This PR brings the comments inline with
what is expected (`// ` for JS/TS, `<!-- ... -->` for HTML). Fixes
[#4578 ](https://github.com/zed-industries/zed/issues/4578 ).
2024-01-24 12:24:49 -08:00
Kirill Bulatov
ab8585ee7e
Remove the async modifier from the workspace_configuration method
2024-01-23 11:58:17 +02:00
Mikayla
bfb59f1598
Remove last stale code
2024-01-12 20:59:19 -08:00