Commit graph

15 commits

Author SHA1 Message Date
claytonrcarter
cd4d2f7900
Add Prettier support for Vue, Markdown and PHP (#7904)
Current prettier support w/i Zed leaves out a few languages that are
officially supported by prettier. In particular, Vue and Markdown are
supported by the core prettier project, and PHP is supported via an
official plugin. I didn't see any open issues for this, but I have been
wondering for months why `"formatter": "prettier"` wasn't working on my
PHP files. Now that Zed is open source, I was able to find out why, and
fix it. 😄

I have been using this with PHP files daily for a week+ now, and I have
also used it successfully with Vue and Markdown files, though not as
extensively. I looked around and did not see any tests for specific
prettier language integrations, but if I missed them please let me know
and I'll add some tests.

**Notes**
- I did not add support for Ruby (which has an official prettier plugin)
because it seems to require some external dependencies (notably, Rudy
and some Gems). When those are present on the system and `$PATH`,
prettier will will work just fine on Ruby files if the plugin is set up
similar to how the PHP plugin is set up (I tried it), and I can add that
in here, if desired. The PHP plugin is pure JS (as I recall) and doesn't
have this issue.
- I did *not* add support for languages that have "community" plugins,
though I do note that Zed already ships with prettier support for svelte
enabled, which – if I understand correctly – is powered by a community
plugin. If desired, I could look at adding support/configuration to
enable prettier support for things like elm, erb, glsl, bash, toml.
Bash, in particular, *I* would find useful. 😄

Release Notes:

- Added prettier support for Vue, Markdown and PHP
2024-02-17 11:35:31 +02:00
Max Brunsfeld
6edeea7c8a
Add logic for managing language and theme extensions (#7467)
This PR adds the initial support for loading extensions in Zed.

### Extensions Directory

Extensions are loaded from the extensions directory.

The extensions directory has the following structure:

```
extensions/
  installed/
    extension-a/
      grammars/
      languages/
    extension-b/
      themes/
  manifest.json
```

The `manifest.json` file is used internally by Zed to keep track of
which extensions are installed. This file should be maintained
automatically, and shouldn't require any direct interaction with it.

Extensions can provide Tree-sitter grammars, languages, and themes.

Release Notes:

- N/A

---------

Co-authored-by: Marshall <marshall@zed.dev>
2024-02-07 15:14:50 -05: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
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
Julia
7c3a8a3774 Add Tailwind autocomplete in ERB, PHP, and Laravel Blade 2023-10-20 12:06:05 -04:00
Piotr Osiewicz
d27cebd977
Z 2819 (#2872)
This PR adds new config option to language config called
`word_boundaries` that controls which characters should be recognised as
word boundary for a given language. This will improve our UX for
languages such as PHP and Tailwind.

Release Notes:

- Improved completions for PHP
[#1820](https://github.com/zed-industries/community/issues/1820)

---------

Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-22 10:35:20 +02:00
Max Brunsfeld
9e755bb855 Revert "Extract syntax highlighting properties from tree-sitter highlight queries (#2797)"
This reverts commit 45c635872b, reversing
changes made to f2b82369f2.
2023-08-02 12:15:39 -07:00
KCaverly
599f674827 add php support for semantic search 2023-07-31 16:36:09 -04:00
Nate Butler
86fa27eb54 Update uses of # to . in our scheme files where they are interchangeable.
uses of `#` cause ERRORs in our scheme highlighting
2023-07-27 12:41:19 -04:00
Nate Butler
85f193dd09 Extract syntax highlighting properties from tree-sitter highlight queries 2023-07-27 12:25:53 -04:00
Piotr Osiewicz
608c16342c Update outline queries; add enum as a highlighted keyword 2023-07-13 12:23:49 +02:00
Piotr Osiewicz
1cc8ecad12 Fix HTML injections (Thanks Max!)
Co-authored-by: Max <max@zed.dev>
2023-07-12 19:33:09 +02:00
Piotr Osiewicz
a1fe5abeaf Add rudimentary PHP syntax highlighting 2023-07-11 12:31:20 +02:00