Commit Graph
2595 Commits
Author SHA1 Message Date
Nathan Sobo 5694296526 Use anchors for line movement edits to support multi-buffers
Because multi-buffers can contain the same content multiple times, we need to use anchors to track our desired insertion and removal locations when moving lines. This is because deleting a line in order to move it might end up deleting *multiple* lines.
2021-12-29 23:47:03 -08:00
Nathan Sobo a7d84ee0ed Provide an accurate panic message when translating points off the end of a line
Maybe we should fail more gracefully in this case, but I think we should at least make the message accurate and see how we do.
2021-12-29 23:11:54 -08:00
Max Brunsfeld 624739b228 Update editor element to use new {next,prev}_line_boundary methods
Since these methods take buffer points instead of display points, this adjusts
the logic for retrieving the visible selections, so that they are initially returned
in terms of buffer points.
2021-12-28 13:47:09 -08:00
Nathan Sobo c6f22af22c WIP: Start moving toward a simpler interface for detecting prev/next line boundaries 2021-12-27 22:11:05 -08:00
Nathan Sobo 45e29917c3 wip 2021-12-27 21:14:23 -08:00
Max Brunsfeld 24f71e4b94 Add a unit test showing panic in move_line_down 2021-12-27 20:58:01 -08:00
Nathan Sobo b352945d5e Fix warning 2021-12-27 18:00:15 -08:00
Max BrunsfeldandNathan Sobo 9838df770f Add MultiBufferSnapshot::range_contains_excerpt_boundary
Use this method to disable move_line_down across excerpt boundaries.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-27 17:08:31 -08:00
Nathan Sobo 8c538e6617 WIP: Allow lines to be moved down across excerpts
This is still a bit weird because we can't remove the last line of an excerpt but we still move it into another buffer. There also seem to be issues with undo.
2021-12-27 15:46:19 -08:00
Nathan Sobo b6c652510b Simplify prev/next_row_boundary methods
We added clipping of points against the buffer when excerpt headers were in the buffer, but now that they're just blocks, I think we can avoid the potential to panic in these methods by going back to not clipping.
2021-12-27 15:46:19 -08:00
Max Brunsfeld c8f52a0cc3 Merge pull request #296 from zed-industries/fix-autoindent
Fix regressions that happened when moving selections into Editor
2021-12-27 15:45:58 -08:00
Max BrunsfeldandNathan Sobo 58d16afd9d Fix Editor::newest_selection
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-27 15:42:37 -08:00
Max Brunsfeld f3f4b0f216 Remove unused context variable 2021-12-27 15:34:07 -08:00
Max BrunsfeldandNathan Sobo 8712146959 Store selections with a right start bias so that autoindent moves them
Previously, cursors at column 0 had to be explicitly moved when those lines
were autoindented. This behavior was lost when we moved selections from
the buffer to the editor. Now, with the right bias, we get this behavior automatically.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-27 15:33:57 -08:00
Max BrunsfeldandNathan Sobo d18a02c8fb Clear autoindent requests when applying autoindent
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-27 13:33:48 -08:00
Nathan Sobo 5876938133 Merge pull request #295 from zed-industries/api
Add remaining API endpoints needed to support the new website
2021-12-27 12:54:34 -08:00
Nathan SoboandMax Brunsfeld 0bfda8d38d Document database setup and fix issue in script/seed-db
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-27 12:52:15 -08:00
Nathan Sobo 2c0b0be830 💄 2021-12-27 12:22:59 -08:00
Nathan Sobo ab29a9a390 Destroy access tokens before destroying users and word-smith method names 2021-12-25 17:46:02 -07:00
Nathan Sobo 60298f3976 Add delete user endpoint 2021-12-25 11:57:37 -07:00
Nathan Sobo 4eaae2b535 Add endpoints for listing, creating, and updating users 2021-12-25 11:55:10 -07:00
Nathan SoboandAntonio Scandurra 560923cf12 Streamline running both next and collab servers in development
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-12-25 11:55:10 -07:00
Nathan Sobo 3e51b188d8 Enable authentication via the NextJS site 2021-12-25 11:55:10 -07:00
Nathan Sobo ae2c51f1bc Merge pull request #294 from zed-industries/simplify-keymap-contexts
Don't merge keymap contexts from containing elements
2021-12-24 16:54:47 -07:00
Nathan SoboandAaron Hillegass 4783797471 Don't merge keymap contexts from containing elements
Co-Authored-By: Aaron Hillegass <charmedliferaft@gmail.com>
2021-12-24 16:44:35 -07:00
Nathan Sobo 436605d4df Merge pull request #293 from zed-industries/project-diagnostics
Project diagnostics: First pass
2021-12-24 16:42:00 -07:00
Nathan Sobo 19b00ebf54 Update tests to reflect that we no longer attempt to recycle group ids 2021-12-24 16:36:21 -07:00
Nathan Sobo 05c8db05ca Remove special handling of multi-line primary diagnostic messages and fix tests 2021-12-24 13:47:45 -07:00
Nathan Sobo c704166cfc Make diagnostics disk-based in test 2021-12-24 13:33:11 -07:00
Antonio ScandurraandNathan Sobo b474d87b4d Parse children from cargo check output to provide hints
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-24 17:06:18 +01:00
Antonio ScandurraandNathan Sobo 7b05d130d7 Start on a DiagnosticProvider implementation for Rust
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-24 16:22:22 +01:00
Antonio Scandurra ae276700d6 Implement Buffer::diagnostic_group 2021-12-24 12:08:55 +01:00
Antonio Scandurra de3a7f8a48 Remove duplication when assigning diagnostics and hardcode provider names 2021-12-24 12:07:26 +01:00
Antonio Scandurra de2dc49f71 Add API_TOKEN environment variable to manifest 2021-12-24 10:02:24 +01:00
Max Brunsfeld 83741239e8 wip 2021-12-23 23:10:28 -08:00
Nate Butler df00aeb3b4 Add job post to Zed.dev 2021-12-23 23:22:57 -05:00
Max Brunsfeld ab075ca1a1 Get code compiling with some todos 2021-12-23 14:21:10 -08:00
2cdb9c96a7 WIP
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-23 11:24:35 -07:00
fdf93932dc WIP: Use cargo check for on-disk diagnostics
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-12-23 18:35:50 +01:00
Antonio ScandurraandNathan Sobo 1a28980dc8 Show only disk-based diagnostics in ProjectDiagnosticsEditor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-23 16:47:54 +01:00
Antonio ScandurraandNathan Sobo 6bb9757b1f Only preserve excerpts for invalid diagnostics if they contain cursors
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-23 16:33:50 +01:00
Antonio Scandurra db9f25d6ad Use a different invalidation strategy for project-wide diagnostics 2021-12-23 15:41:43 +01:00
Antonio Scandurra 85d495aa33 Remove BufferState when the last buffer's excerpt is removed 2021-12-23 09:59:39 +01:00
Antonio Scandurra 355240d119 Emit an UpdateDiagnostics from Worktree when buffer diagnostics change 2021-12-23 09:57:50 +01:00
Max Brunsfeld 401791cc75 Fix remove_excerpts when removing the last N excerpts, N > 1
Also, generalize the randomized test to remove multiple excerpts at a time
2021-12-22 21:02:20 -08:00
Max Brunsfeld 6d74da5710 Use MultiBuffer::insert_excerpt_after to update project diagnostics view 2021-12-22 18:00:53 -08:00
Max Brunsfeld 8c37f7c519 Implement MultiBuffer::insert_excerpt_after 2021-12-22 17:59:44 -08:00
Max Brunsfeld a5b4c339cf Add Editor::remove_blocks 2021-12-22 17:30:14 -08:00
Max Brunsfeld 7bf74d2389 Clear out old disk-based diagnostics after 2 seconds 2021-12-22 15:51:51 -08:00
Max Brunsfeld 9c3c128c1b Preserve group ids when updating diagnostics 2021-12-22 14:50:51 -08:00