Commit Graph
100 Commits
Author SHA1 Message Date
Nathan Sobo dc20be256e Start on code action confirmation 2022-02-05 12:37:34 -07:00
Nathan Sobo ba99b01de6 Generalize showing and hiding of context menus
We still cancel pending completions when hiding the context menu so its not perfectly general, but I think this is ok.
2022-02-05 12:13:02 -07:00
Nathan Sobo 025e83c1ec Render code actions context menu 2022-02-05 11:04:05 -07:00
Nathan Sobo 93a3f4b615 Move rendering and select prev/next into ContextMenu enum
This prepares the way to have a code actions context menu.
2022-02-05 10:19:43 -07:00
Nathan Sobo ee661516fa Start generalizing the completions menu into a context menu
This will let us render the code actions menu in a way that's mutually exclusive with completions.
2022-02-05 09:43:25 -07:00
Nathan Sobo 01f702ae5e Merge pull request #423 from zed-industries/line-selection
Refine line-oriented selection and deletion
2022-02-04 10:24:53 -07:00
3f897ed588 Clear selection goal column when cutting a full line
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-02-04 10:19:26 -07:00
Nathan Sobo 3ef3f3098c Merge pull request #401 from zed-industries/fail-ci-on-warnings
Cause tests to fail on CI when there are warnings
2022-02-04 10:14:05 -07:00
Nathan Sobo a9d2abebdb Merge pull request #400 from zed-industries/libc++
Use -stdlib=libc++  in script/bundle to avoid errors on Monterey
2022-02-04 10:13:48 -07:00
Nathan SoboandAntonio Scandurra c38fe473cd Delete to hard line boundary when deleting to start/end of line
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 10:10:30 -07:00
Nathan SoboandAntonio Scandurra 90a780a604 Improve moving to start or end of soft-wrapped lines
When moving to end, stop at the soft-wrap line boundary first, then move to the end of the hard line. Vice versa when moving to the beginning.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 09:52:50 -07:00
Nathan SoboandAntonio Scandurra 4eb2b978e8 Fix warning when not building in test mode
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 09:23:16 -07:00
Nathan SoboandAntonio Scandurra aa12eb6b55 Span across soft-wraps when triple clicking a line
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 09:21:13 -07:00
Nathan SoboandAntonio Scandurra 6ac3a44e88 Cause tests to fail on CI when there are warnings
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-04 08:57:39 -07:00
Nathan Sobo dad3ddb6f1 Use -stdlib=libc++ in script/bundle to avoid errors on Monterey
I was unable to run script/bundle my local machine without this change.
2022-02-04 08:48:00 -07:00
Nathan Sobo f8dce23440 Merge pull request #394 from zed-industries/fix-selections-after-format
Fix selection positions after typing with old selection anchors
2022-02-04 06:02:18 -07:00
Nathan SoboandAntonio Scandurra 497626ef2b Re-filter existing completions on selection update
We still request new completions, but this ensures results are up-to-date in the meantime.

Also: Cancel any pending completions task when we dismiss the completions dialog or start a new completions request.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-01 07:59:37 -07:00
Nathan Sobo 92f0491c0e Don't assign completion_state when completions are empty 2022-01-31 18:38:49 -07:00
Nathan Sobo 327ddbe2b4 Always issue a new completions request when typing a trigger character
We'll interpolate the anchor range of original request, but it's still a good idea to be up-to-date in case the language server is influenced by the content preceding the location. This doesn't *seem* to be the case with rust-analyzer so far, but it's how VS Code works so let's do it this way.
2022-01-31 18:34:20 -07:00
Nathan Sobo ae0237c21b Create anchors with latest snapshot when completions are ready
Using the previous snapshot was panicking.
2022-01-31 18:33:25 -07:00
Nathan Sobo fde03b1b37 Make the anchor range inclusive on completions
This will help us to correctly interpolate the replacement range when we confirm before receiving new completions after typing with a completion open.
2022-01-31 18:26:26 -07:00
Nathan SoboandMax Brunsfeld 1a6e972ed4 Get basic list of completions rendering without styling
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-31 13:17:42 -07:00
ab6eb0a655 Start on completion rendering
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-31 12:19:17 -07:00
Nathan SoboandAntonio Scandurra 960696a504 Bind autocomplete to ctrl-space
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-31 11:34:19 -07:00
Nathan SoboandAntonio Scandurra 0344c543af Return anchored completions from Buffer::completions
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-31 11:25:00 -07:00
Nathan Sobo b1639e5677 Add cmd-g and cmd-shift-g to jump to next / previous result
I added the action handler on Pane so we can use these bindings when the find bar isn't focused.
2022-01-30 20:59:20 -07:00
Nathan Sobo df1810a3b0 A bit more progress styling find
Fix the pinwheel when hovering mode buttons.
2022-01-27 18:59:44 -07:00
Nathan SoboandAntonio Scandurra e585bc7199 Add retries to rescan test that uses the real file system
We could potentially use a fake file system, but this should avoid flaky tests in the short run.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-26 09:25:06 -07:00
Nathan Sobo e54d6f62fb Merge pull request #366 from zed-industries/style-project-diagnostics
Style project diagnostics
2022-01-26 09:18:20 -07:00
Nathan SoboandMax Brunsfeld 0c6fd157ee Scale diagnostic headers icons with editor font and right align w/ line numbers
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-25 12:40:53 -07:00
Nathan SoboandMax Brunsfeld d241ab6370 Don't store operations for remote buffers we haven't yet opened
This used to be needed, but we think with our improvements to message ordering that we'll never miss operations that were applied after opening a remote buffer.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:33:46 -07:00
Nathan SoboandMax Brunsfeld afa33c958b Clear shared buffers when unsharing projects
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:24:07 -07:00
Nathan SoboandMax Brunsfeld 469ee554a0 Get most tests passing when respecting wake order for foreground tasks in Deterministic executor
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-24 17:13:56 -07:00
Nathan Sobo da13d028a3 Send File protos as part of Buffer protos
Use the File proto to build the File associated with the buffer rather than relying on the local entry.
2022-01-22 22:19:04 -07:00
Nathan Sobo 66fce5ec8e Introduce LocalFile trait
If you want to call `abs_path` or `load`, the file needs to be local. You call `as_local` which returns `Option<dyn LocalFile>` with those local-only methods. I think this makes it more explicit what works only locally vs everywhere.
2022-01-22 15:52:14 -07:00
Nathan Sobo ea9c5b0686 💄 2022-01-22 15:30:38 -07:00
Nathan Sobo 506ce8e032 Introduce LocalSnapshot
This allows us to remove the absolute path and scan-related state from the Snapshot. None of this data is relevant or valid on guests.
2022-01-22 15:19:14 -07:00
Nathan Sobo d192b6ebc7 Remove Worktree::abs_path
I'd like to only have methods related to absolute paths on local worktrees, because it's not really possible to implement them on remote worktrees since we don't know the full path being shared and wouldn't have anything to do with it anyway if we did.
2022-01-22 14:44:58 -07:00
Nathan Sobo e2a2073bdb Remove worktree_path from File struct 2022-01-22 14:29:36 -07:00
Nathan Sobo 2a6f06f18a Merge pull request #359 from zed-industries/defer
Fix panic in ProjectDiagnosticsEditor::open_excerpts by introducing new defer feature to GPUI
2022-01-22 13:44:29 -07:00
Nathan Sobo e61a5b172c Defer pane interaction when opening excerpts in diagnostics view
Activating a new item causes the current item to be deactivated. We're the current item, but we're on the stack, so we panic if we try to do this synchronously. If we use defer to wait until we're off the stack it works.
2022-01-22 13:23:08 -07:00
Nathan Sobo b755b2d602 Add ViewHandle::defer
It's like update, but happens after the current effect instead of synchronously. Also, it doesn't allow the callback to return a value because there would be nothing to do with it.
2022-01-22 13:21:59 -07:00
Nathan Sobo 8b04c5d3ac Add a ViewContext::defer
This takes a closure that will be enqueued as an effect to ensure there are no entities on the stack.
2022-01-22 13:14:25 -07:00
Nathan Sobo b1931fbf5d Merge pull request #358 from zed-industries/move-buffers-to-project
Move buffers to project
2022-01-22 12:52:26 -07:00
Nathan Sobo 83418204b6 Assign diagnostics on buffer even if it doesn't have a language
This shouldn't be necessary in practice but makes testing easier.
2022-01-22 09:54:25 -07:00
Nathan Sobo 8bf628c17b Update new buffers with existing diagnostics in Project – after assigning language 2022-01-22 08:46:37 -07:00
Nathan SoboandMax Brunsfeld a578d71ea2 v0.13.0
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-21 11:26:32 -07:00
Nathan Sobo 9506f211c3 Merge pull request #354 from zed-industries/go-to-definition
Go to definition
2022-01-21 11:24:19 -07:00
Nathan SoboandMax Brunsfeld 3ecb7e81f1 Remove panic when guest attempts to go to definition
We'll implement this soon but want to merge something stable to main.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-21 11:24:05 -07:00
Nathan Sobo 19751e9200 Merge remote-tracking branch 'origin/main' into go-to-definition 2022-01-21 11:12:38 -07:00
Nathan Sobo a73671e57c Revert "Replace project_path with project_entry in workspace::{Item, ItemView}"
This reverts commit 9c9a09cccb.
2022-01-21 11:07:10 -07:00
Nathan SoboandAntonio Scandurra 1d72e8face Remove source_range from definition
We don't use it now, and plan on dealing with it in a dedicated way when we need mouse hover interactions.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-21 07:31:02 -07:00
Nathan Sobo 9505d6cdcf Disable the nav history when selecting a definition in a different buffer
When jumping between different buffers, we don't care about the cursor's previous location. When navigating backward, we want to jump directly to the site of the jump.
2022-01-20 21:33:16 -07:00
Nathan Sobo 1c21b51663 Merge pull request #355 from zed-industries/activate-existing-windows
Move window to the foreground when opening a path in an existing workspace
2022-01-20 21:14:56 -07:00
Nathan Sobo fbca28337a When opening a path in an existing window, move it to the foreground 2022-01-20 20:45:30 -07:00
Nathan SoboandAntonio Scandurra b52db22544 Only enable smart case if the query contains an uppercase character
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-14 09:16:09 -07:00
Nathan SoboandAntonio Scandurra f934370e7f Match full path when query contains spaces
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-14 09:02:04 -07:00
Nathan Sobo 057dc62b90 Merge pull request #338 from zed-industries/use-wildcard-cert
Associate staging and production load balancers with wildcard cert
2022-01-12 17:23:04 -07:00
Nathan SoboandMax Brunsfeld a93502bb64 Add placeholder environment variables to our deploy
We have the ability to define environment-specific environment variables, but don't current need it. This keeps these files in place while avoiding noise from running `export` with no args due to the files being empty.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-12 16:33:41 -07:00
Nathan SoboandMax Brunsfeld e71b989041 Use the same wildcard certificate on production and staging
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-12 16:28:09 -07:00
Nathan SoboandMax Brunsfeld 3a82d0d8e1 Use a wildcard cert on DigitalOcean in the staging environment
If this works, we'll use it for production as well and delete the other certs.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-12 16:17:21 -07:00
Nathan Sobo d346b1bfd9 Merge pull request #336 from zed-industries/format-on-save
Format on save
2022-01-12 11:48:12 -07:00
30225678c0 Test ordering of responses with respect to uni-directional messages
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-12 11:19:17 -07:00
Nathan Sobo a6dd9a20d4 Fix binding to dump element JSON 2022-01-11 17:52:26 -07:00
Nathan SoboandMax Brunsfeld 943571af2a Report backtraces of pending conditions when deterministic executor illegally parks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-06 13:33:55 -07:00
Nathan SoboandMax Brunsfeld 2dbee1d914 Send diagnostic summaries to guests when they join the project
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-01-06 12:12:09 -07:00
Nathan SoboandAntonio Scandurra d7a78e14ac Allow disk-based diagnostic progress begin/end events to interleave
When multiple saves occur, we can have multiple start events followed by multiple end events. We don't want to update our project diagnostics view until all pending progress is finished.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-06 09:32:08 -07:00
Nathan SoboandAntonio Scandurra 571d0386e2 Re-focus diagnostics editor when transitioning from an empty to a populated state
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-01-06 08:35:31 -07:00
Nathan Sobo b10f06d084 Merge pull request #308 from zed-industries/fix-collaboration-regressions
Fix collaboration regressions
2022-01-05 19:56:51 -07:00
Nathan Sobo f499a1dfc2 Merge pull request #301 from zed-industries/move-lines-in-multibuffer
Support moving lines up and down in multi-buffers
2021-12-30 01:13:31 -08:00
Nathan Sobo 6d6a82655a Create blocks with anchors to allow a bias to be specified
This allows us to respect the bias on anchors we use to create excerpt headers so that they always remain above any content inserted at the start of an excerpt.
2021-12-30 01:03:19 -08:00
Nathan Sobo ba75007259 Merge pull request #300 from zed-industries/fix-move-line-panic
Fix panics when moving lines with block decorations and simplify line boundary detection
2021-12-29 23:47:25 -08:00
Nathan Sobo 984378e12c 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 7c9e4e513c 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
Nathan Sobo 7f786ca8a6 WIP: Start moving toward a simpler interface for detecting prev/next line boundaries 2021-12-27 22:11:05 -08:00
Nathan Sobo 89bbfb8154 wip 2021-12-27 21:14:23 -08:00
Nathan Sobo 93a516d588 Fix warning 2021-12-27 18:00:15 -08:00
Nathan Sobo cbc162acf5 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 835af35839 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
Nathan Sobo 6f26fa013a 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 13ed9dc1f1 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 8937d877e3 💄 2021-12-27 12:22:59 -08:00
Nathan Sobo 63238a2938 Destroy access tokens before destroying users and word-smith method names 2021-12-25 17:46:02 -07:00
Nathan Sobo b949b30f24 Add delete user endpoint 2021-12-25 11:57:37 -07:00
Nathan Sobo 56930972fe Add endpoints for listing, creating, and updating users 2021-12-25 11:55:10 -07:00
Nathan SoboandAntonio Scandurra 07a4cfeefd 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 fe5465a265 Enable authentication via the NextJS site 2021-12-25 11:55:10 -07:00
Nathan Sobo 6dd23c250b 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 e9a750be71 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 9fc2ddb8da Merge pull request #293 from zed-industries/project-diagnostics
Project diagnostics: First pass
2021-12-24 16:42:00 -07:00
Nathan Sobo cf81f5a555 Update tests to reflect that we no longer attempt to recycle group ids 2021-12-24 16:36:21 -07:00
Nathan Sobo ce4142eab3 Remove special handling of multi-line primary diagnostic messages and fix tests 2021-12-24 13:47:45 -07:00
Nathan Sobo a3df597155 Make diagnostics disk-based in test 2021-12-24 13:33:11 -07:00
e3ecd87081 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
Nathan Sobo 61b806e485 Add an endpoint for creating an access token for a GitHub login 2021-12-21 13:05:32 -07:00
Nathan Sobo 323e1f7367 Add the fetching of user JSON by github login with a token header 2021-12-19 09:43:13 -07:00
Nathan Sobo f4b9772ec2 Relocate admin routes to make room for API
I want to use the top-level /users route for the API that we'll access from the front-end site running on Vercel, and this is the easiest way to make space. Eventually we won't have admin pages, but I want to be additive for now.
2021-12-19 09:06:57 -07:00
Nathan Sobo 29bc2db6e8 Fix journal format strings 2021-12-18 12:15:07 -07:00
Nathan Sobo 34edbc7934 Merge pull request #287 from zed-industries/journal
Add a simple journaling feature
2021-12-18 11:17:18 -07:00
Nathan Sobo 0a37d40fad Pad single-digit months, days, and minutes with a leading zero 2021-12-18 11:11:04 -07:00