Commit Graph
16629 Commits
Author SHA1 Message Date
Joseph T. Lyons e3a4d174de Fix bash path_suffixes and add cmd-/ line comment support (#2827)
<img width="1608" alt="SCR-20230806-cyrg"
src="https://github.com/zed-industries/zed/assets/19867440/2491c4bc-5797-4417-9633-08c136b4e8fe">

I noticed we weren't highlghting bash files if the shebang line didn't
exist. After checking, it looks like the `.` were accidentally added to
the `path_suffixes` list. This PR fixes that and adds in support for
`cmd-/` to trigger line comments.

<img width="1608" alt="SCR-20230806-czxh"
src="https://github.com/zed-industries/zed/assets/19867440/37dd0c8e-c4e7-49e2-9997-9dd8145f460e">


Release Notes:

- Fixed a bug where shell files weren't syntax highlighted if a shebang
didn't exist.
- Added support for `cmd-/` to add line comments to shell files.
2023-08-06 02:35:00 -04:00
Joseph T. Lyons ef5b982ea5 Fix bash path_suffixes and add line_comment 2023-08-06 02:20:31 -04:00
Nathan Sobo dcf8b00656 WIP 2023-08-05 18:00:44 -06:00
Joseph T. Lyons 7777d973cd Expand empty selections to cover full word when doing case conversions and fix bugs (#2826)
When doing case conversions, specifically in the case of an empty
selection, in both VS Code and Sublime, the cursor winds up being in a
different place relative to where it started.

In VS Code, the cursor maintains it position in the text, no matter if
the text expands or shrinks


https://github.com/zed-industries/zed/assets/19867440/b24f5d86-c315-4a72-9ed4-3732b490ea9a

In Sublime, I have no idea what is going on:


https://github.com/zed-industries/zed/assets/19867440/05f21303-6e42-47b2-b844-7accd0bf05d7

I thought it would be a better experience if, when doing an empty
selection transformation, we simply expand the selection and park the
cursor at the end of the newly-transformed text.


https://github.com/zed-industries/zed/assets/19867440/833619ef-04e2-47b6-ad4e-e2b43d54fb2b

This feels similar to us expanding the selection when doing line
manipulations:


https://github.com/zed-industries/zed/assets/19867440/c30c5332-787d-4cf0-a9ee-e66c3c159956

Selections are adjusted to match however each word expands and shrinks,
even when there are multiple:


https://github.com/zed-industries/zed/assets/19867440/d7073aac-8a59-4f2c-b0e5-1df37be1694c

Release Notes:

- Improved behavior of empty-selection case transformations by selecting
resulting word.
- Fixed some bugs with overflow
2023-08-05 12:16:46 -04:00
Joseph T. Lyons 1abb6a0176 Expand empty selections to cover full word and fix bugs 2023-08-05 11:31:21 -04:00
Joseph T. Lyons d1048d03b0 Add more convert to case commands (#2825)
I'm using [convert_case](https://crates.io/crates/convert_case)
underneath the hood, which has over 35 million downloads and feels
solid.

Release Notes:

- Added commands to convert between variable name styles
([#1821](https://github.com/zed-industries/community/issues/1821)).
    - `convert to kebab case`
    - `convert to snake case`
    - `convert to upper camel case`
    - `convert to lower camel case`
    - `convert to title case`
2023-08-04 22:51:32 -04:00
Joseph T. Lyons 12e8f417e4 Add more convert to case commands
ConvertToTitleCase
ConvertToSnakeCase
ConvertToKebabCase
ConvertToUpperCamelCase
ConvertToLowerCamelCase
2023-08-04 22:45:26 -04:00
Max BrunsfeldandMikayla 2ccd153233 Fix joining descendant channels, style channel invites
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-04 16:21:43 -07:00
Joseph T. Lyons 5c2f38a0bc Add convert to {upper,lower} case commands (#2824)
Release Notes:

- Added `convert to upper case` and `convert to lower case` commands
([#1011](https://github.com/zed-industries/community/issues/1011)).
2023-08-04 18:12:55 -04:00
Max BrunsfeldandMikayla 87b2d599c1 Flesh out channel member management
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-04 14:12:08 -07:00
Joseph T. LyonsandJulia 8c98b02e45 Add convert to {upper,lower} case commands
Co-Authored-By: Julia <30666851+ForLoveOfCats@users.noreply.github.com>
2023-08-04 15:10:33 -04:00
Max Brunsfeld a2486de045 Don't expose channel admin actions in UI if user isn't admin 2023-08-04 10:24:46 -07:00
Piotr OsiewiczandKyle 9889449a81 Adjust row count for project search.
Instead of using the same row count as for the breadcrumbs, we double the height so that there's some space for padding.

Co-authored-by: Kyle <kyle@zed.dev>
2023-08-04 18:54:27 +02:00
Max Brunsfeld 1762d2c6d4 Add test assertion where user is not admin of channel 2023-08-04 09:51:37 -07:00
Piotr OsiewiczandKyle de8e1852a8 Align match count
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-04 18:21:46 +02:00
Piotr OsiewiczandKyle 8fa082c28b Center the query editor (for real now)
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-04 17:49:54 +02:00
Piotr OsiewiczandKyle 82eb6d8bc3 Change styling of match nav buttons
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-04 17:35:59 +02:00
Nathan Sobo b6110fed9e WIP 2023-08-04 07:56:20 -06:00
Conrad Irwin 22927fa1d7 Fix visual selection cursor in multibuffers 2023-08-04 14:39:16 +01:00
Piotr Osiewicz 2c0e3886a5 Align search bar in the middle 2023-08-04 15:38:53 +02:00
Piotr Osiewicz fcefb37ca0 Prevent modes from being vertically centered when row_count changes 2023-08-04 13:54:50 +02:00
Piotr Osiewicz 792f29e288 Refresh windows on toggle_filters. 2023-08-04 12:25:18 +02:00
Piotr Osiewicz 50d03ffc8c Revert "Focus filters when enabled"
This reverts commit 13a6b65a35.
2023-08-04 12:24:57 +02:00
Nathan Sobo 196946cbb6 Squelch warnings for now 2023-08-03 21:21:45 -06:00
Nathan Sobo 379652f074 Merge branch 'main' into cells 2023-08-03 19:33:04 -06:00
Max Brunsfeld 7a04ee3b71 Start work on exposing which channels the user has admin rights to 2023-08-03 18:31:00 -07:00
Max Brunsfeld 95b1ab9574 Implement channel member removal, permission check for member retrieval 2023-08-03 18:03:40 -07:00
Nathan Sobo d3c1966d96 WIP: Return WindowHandle<V: View> from AppContext::add_window (#2820)
Instead of returning a usize for the window id, I'm instead returning a
`WindowHandle<V: View>` where `V` is the type of the window's root view.
@as-cii helped me with a cool technique using generic associated types
where methods on `WindowHandle` can return either T or Option<T>
depending on the `BorrowWindowContext::Result` associated type.

Some example usage...

```rs
let window = cx.add_window(|cx| MyView::new(cx));
let my_view = window.root(cx); // If cx is TestAppContext, returns MyView. Otherwise returns Option<MyView>, because the window could be closed.
```


This isn't insanely beneficial on its own, but I think it will help
clean up our testing story. I'm planning on making `window` more useful
in tests for laying out elements, etc.

- [x] Rework tests that call `add_window` 😅 to expect only a window in
return.
- [x] Get tests passing
- [x] 🚬  test
2023-08-03 18:45:51 -06:00
Piotr Osiewicz 13a6b65a35 Focus filters when enabled 2023-08-04 02:33:48 +02:00
Nathan Sobo 2d96388be3 Use WindowHandles in a couple places 2023-08-03 17:46:34 -06:00
Max BrunsfeldandMikayla 4a6c73c6fd Lay-out channel modal with picker beneath channel name and mode buttons
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-03 16:15:29 -07:00
Nathan Sobo 485c0a482e Don't refcount window handles 2023-08-03 17:11:47 -06:00
Nathan Sobo afcc0d621b WIP 2023-08-03 17:03:39 -06:00
Joseph T. Lyons ee1b4a52cc Add PathExt trait (#2823)
This PR adds a `PathExt` trait. It pulls in our existing `compact()`
function, as a method, and then adds a method, and testing, for
`icon_suffix()`. A test was added to fix:

- https://github.com/zed-industries/community/issues/1877

Release Notes:

- Fixed a bug where file icons would not be registered for files with
with `.` characters in their name
([#1877](https://github.com/zed-industries/community/issues/1877)).
2023-08-03 18:57:43 -04:00
Max BrunsfeldandMikayla a7e883d956 Implement basic channel member management UI
Co-authored-by: Mikayla <mikayla@zed.dev>
2023-08-03 14:49:01 -07:00
KCaverly c14a99d8fa updated project_search text 2023-08-03 17:02:46 -04:00
Mikayla Maki 129f2890c5 simplify server implementation 2023-08-03 13:27:00 -07:00
Max Brunsfeld 9a1dd0c6bc Fetch channel members before constructing channel mgmt modal 2023-08-03 12:10:53 -07:00
Mikayla Maki 6c4964f071 WIP: continue channel management modal and rename panel to collab_panel 2023-08-03 11:40:55 -07:00
Piotr OsiewiczandKyle 4658bc610c Update styling of nav buttons (width, corner_radius)
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 20:35:10 +02:00
31fb503418 Rewrite permission queries (it no longer blocks)
Co-authored-by: Kyle <kyle@zed.dev>
Co-authored-by: Max <max@zed.dev>
2023-08-03 20:26:56 +02:00
Mikayla Maki d450c4be9a WIP: add custom channel modal 2023-08-03 10:59:09 -07:00
Piotr OsiewiczandKyle d157e3598d Query semantic_permissioned on demand.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 19:27:27 +02:00
Piotr OsiewiczandKyle 799adf6c25 Query Semantic Index Engine for permission state.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 19:18:14 +02:00
KCaverlyandPiotr 8dd330a160 add semantic search prompt for the indexing permission on first search
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-03 12:52:20 -04:00
KCaverly 358e4e5ccf update minor text when actively searching 2023-08-03 10:22:31 -04:00
Piotr OsiewiczandKyle 822b1ec002 Clean up compiler warnings
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 16:12:08 +02:00
Nathan Sobo 3c938a7377 WIP 2023-08-03 08:10:16 -06:00
Piotr OsiewiczandKyle 8831e03eba Remove reference to pane from a toolbar.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 16:09:26 +02:00
Piotr OsiewiczandKyle 7d83d15bf3 Move navigation buttons to the tab bar.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-03 16:05:24 +02:00