Keith Simmons
b850e41d6f
Add editor mouse context menu with some basic refactorings and an entry to pop the code actions
2022-07-13 14:13:19 -07:00
Keith Simmons
d796b543e0
WIP add basic context menu and make progress toward adding quick actions to it
2022-07-13 14:13:19 -07:00
Max Brunsfeld
b7109ea4fc
Restore document highlights when canceling a rename
2022-07-12 17:01:18 -07:00
Max Brunsfeld
c02f4ea8dc
Rename LanguageSettings -> EditorSettings
2022-07-12 11:42:43 -07:00
Max Brunsfeld
ec8a493700
Move all default settings from source code into the JSON file
2022-07-12 11:35:19 -07:00
Antonio Scandurra
afc8e9050c
Merge pull request #1252 from zed-industries/plugin
...
Language Server WebAssembly Plugin Integration (Part 2)
2022-07-12 11:04:20 +02:00
Isaac Clayton
ec327a30c3
Fix minor issues pointed out in the review
2022-07-11 15:54:03 +02:00
Keith Simmons
667d031ec8
Merge pull request #1311 from zed-industries/fix-visual-paste
...
Fix visual paste
2022-07-08 16:54:10 -07:00
Isaac Clayton
988f388165
Added theme to language
2022-07-08 18:11:28 +02:00
Mikayla Maki
be94f614a7
fix merge conflicr
2022-07-07 17:24:55 -07:00
Nathan Sobo
805c06ee76
Merge pull request #1298 from zed-industries/mouse-region-refactor
...
Mouse Event Refactor
2022-07-07 16:43:36 -06:00
Mikayla Maki
2a6e23ff28
Hoisted assert clipboard into TestAppContext
2022-07-07 14:55:25 -07:00
Mikayla Maki
a8237858bc
Added basic selections
2022-07-07 14:52:04 -07:00
Isaac Clayton
895747476f
Done! Finish transition to async, very close to merging
2022-07-07 16:21:20 +02:00
Isaac Clayton
39fdbc593b
Fix most warnings
2022-07-07 16:19:49 +02:00
Isaac Clayton
d009e10a46
Fix all residual errors, need to polish off warnings and TODOS
2022-07-07 16:17:03 +02:00
Isaac Clayton
6585daccf9
Further unpropogate async
2022-07-07 16:16:58 +02:00
Antonio Scandurra
c6254247c3
Allow providing an external format in format_on_save
setting
2022-07-07 11:04:03 +02:00
Keith Simmons
bcb553f233
Combine platform mouse events to use common MouseEvent struct and remove MouseDragged event in favor of MouseMoved
2022-07-06 16:37:56 -07:00
Max Brunsfeld
a378ec49ec
Enable and disable nav buttons based on pane's navigation stack
...
Also, make the `NavHistory` type private to the `workspace` crate.
Expose only the `ItemNavHistory` type, via a method on Pane called
`nav_history_for_item`.
2022-07-06 15:46:43 -07:00
Keith Simmons
686e57373b
pull event data out into individual Event structs
2022-07-06 15:36:42 -07:00
Antonio Scandurra
b937c1acec
Move autosave logic up into Workspace
and Pane
2022-07-06 16:33:22 +02:00
Mikayla Maki
4d88088ca4
Merge pull request #1286 from zed-industries/grid-renderer
...
Switch from line-and-character renderer to a direct grid renderer
2022-07-05 17:16:00 -07:00
Mikayla Maki
03cbb94057
changed renderer
2022-07-05 17:10:01 -07:00
Keith Simmons
ed52f8a8a3
WIP making paste better
2022-07-05 16:52:56 -07:00
Keith Simmons
58e57d0150
Merge pull request #1271 from zed-industries/matching-bracket-highlights
...
Highlight matching bracket when newest selection head is on a bracket
2022-07-05 16:51:46 -07:00
Keith Simmons
1f3dc2f534
highlight both brackets, only when empty selection, and add test
2022-07-05 15:19:05 -07:00
Antonio Scandurra
f09d265054
Remove non-determinism from autosave after delay
2022-07-05 17:54:54 +02:00
Antonio Scandurra
a5c39acf4c
Always finish previous autosave before starting a new one
2022-07-05 17:51:01 +02:00
Antonio Scandurra
ebf4bae173
Add unit test for autosave
2022-07-05 17:51:01 +02:00
Antonio Scandurra
885172f4dd
Honor Autosave
setting in Editor
2022-07-05 17:51:01 +02:00
Max Brunsfeld
771a834d84
Delete the autoclosing bracket when deleting the opening bracket
2022-07-04 10:46:35 -07:00
Keith Simmons
9b36e3d009
Highlight matching bracket when newest selection head is on a bracket
2022-07-01 15:06:16 -07:00
Mikayla Maki
6ac5cc0d2a
Fixed cursor positioning bugs in multi-byte charcters. Still have at least one though :/
2022-07-01 14:53:19 -07:00
Mikayla Maki
62939322d3
rendering cursor correctly
2022-07-01 13:03:26 -07:00
Mikayla Maki
ae836e1465
Fixed a major bug and now use the same cursor paint logic as the editor
2022-06-30 20:43:51 -07:00
Keith Simmons
1eb8351440
add hover popover setting
2022-06-27 16:21:22 -07:00
Keith Simmons
f73af85218
bump protocol version and fix panic from storing display points instead of anchors
2022-06-27 15:10:36 -07:00
Keith Simmons
a0577f5f46
Fix usage of existing definitions
2022-06-27 10:07:44 -07:00
Keith Simmons
a8ea1048cf
Change mouse cursor when link is visible
2022-06-24 21:55:57 -07:00
Keith Simmons
a190eb0537
fix rebase merge error
2022-06-24 15:11:57 -07:00
Keith Simmons
92ab107fc9
working jump to definition with tests
2022-06-24 15:09:31 -07:00
Keith Simmons
848445455d
Working underline based on symbol origin
2022-06-24 15:05:35 -07:00
Keith Simmons
4286a9b564
wip
2022-06-24 15:03:24 -07:00
Keith Simmons
f78b55f92d
wip
2022-06-24 15:03:24 -07:00
Max Brunsfeld
c91451a1b2
Merge pull request #1234 from zed-industries/fix-editor-cloning
...
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:27:40 -07:00
Max Brunsfeld
fb2a7787a1
Clone fold and selection state correctly when splitting an editor
2022-06-23 13:15:50 -07:00
Keith Simmons
755636d10e
Use NonZeroU32 to ensure settings tabsize cannot be zero
2022-06-23 12:55:38 -07:00
Antonio Scandurra
2cb8a3ccfb
Don't override top-level settings with language defaults
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-06-23 16:40:57 +02:00
Keith Simmons
19feb627d8
Add comment linking to long term plan
2022-06-21 12:38:27 -07:00
Keith Simmons
057a7ec989
Don't trigger hover popover action when mouse is over context menu
2022-06-21 11:23:25 -07:00
Keith Simmons
fb881b2eda
hide hover on editor blur
2022-06-21 10:37:59 -07:00
Antonio Scandurra
d5efae609e
Respect close
in language configuration when autoclosing bracket
2022-06-20 11:50:44 +02:00
Antonio Scandurra
ae2273b40a
Merge pull request #1204 from zed-industries/accurate-is-dirty
...
Determine `Buffer::is_dirty` based on the rope's fingerprint
2022-06-17 16:08:07 +02:00
Antonio Scandurra
5654684d30
Fix editor tests after changing the semantics of is_dirty
2022-06-17 12:57:40 +02:00
Antonio Scandurra
6f7a893ec9
Determine Buffer::is_dirty
based on the rope's fingerprint
2022-06-17 12:38:25 +02:00
Antonio Scandurra
c31a233aad
Introduce a new fingerprint
field to TextSummary
...
This is calculated in `Rope` and uses the `bromberg_sl2` homomorphic
hash function to determine the fingerprint of a single chunk and
compose each chunk fingerprint into a single fingerprint for the entire
rope that is equivalent to hashing all the rope's bytes at once.
2022-06-17 12:12:37 +02:00
Max Brunsfeld
216a275ef2
Disable auto-indent entirely for markdown
2022-06-16 14:20:09 -07:00
Antonio Scandurra
edd758eb67
Cap context menu's width to cover at most 70% of the window
2022-06-16 10:40:12 +02:00
Antonio Scandurra
516bd13474
Add tooltip to follow collaborators
2022-06-15 17:08:39 +02:00
Antonio Scandurra
4750727586
Autoscroll to newest selection when adding it via the cursor
2022-06-15 13:21:01 +02:00
Antonio Scandurra
7a81983c62
Fix surrounding text with bracket pairs with multiple selections
...
This was probably a regression that was introduced with the new batched
`Buffer::edit` API and was caused by providing selection ranges in a
non-ordered fashion (we were passing all the starts first and then all the
ends).
With this commit we are adding a unit test to verify the behavior of
`Editor::surround_with_bracket_pair` and changing the order in which
we pass edit ranges to respect the selection order.
2022-06-15 11:48:21 +02:00
Antonio Scandurra
f91fb48a4c
Simplify EditorElement::layout_blocks
2022-06-10 13:57:43 +02:00
Antonio Scandurra
666ea61dbc
Introduce a new BlockStyle
field for blocks
...
This new field allows blocks to specify how they want to be laid out:
- If `Fixed` they can take up all the width they want and they will impact
the scroll width of the editor. This is useful for diagnostic messages and
allows scrolling the editor further to the right to visualize the entire message.
- If `Flex` they can extend all the way to the scroll width without impacting it
any further. This is useful for the rename editor that we insert as a block
decoration when hitting `F2`.
- If `Sticky`, they will be as wide as the editor element and won't participate
in the horizontal scrolling of the editor. This is useful for headers in general,
where we want e.g. the filename and the jump button to always be visible
independently of how much the user has scrolled to the right.
2022-06-10 13:47:40 +02:00
Keith Simmons
02f0fee6ae
Always delay hover display
2022-06-09 18:08:23 -07:00
Keith Simmons
e21d1b1acb
Merge fix
2022-06-09 17:07:32 -07:00
Keith Simmons
3cec157335
fix compile error in EditorLspTestContext
2022-06-09 17:03:45 -07:00
Keith Simmons
8378590d57
Test fixes
2022-06-09 17:03:45 -07:00
Keith Simmons
93158bfcff
Fix delayed lsp request
2022-06-09 17:03:45 -07:00
Keith Simmons
722023e347
test and build fixes
2022-06-09 17:03:45 -07:00
Keith Simmons
dddfc7beae
Add hover test and tweak dismiss logic
2022-06-09 17:03:45 -07:00
Keith Simmons
1da1853a76
Hide hover when font changes, and handle case where delay was preventing hover with large symbol range
2022-06-09 17:03:44 -07:00
Keith Simmons
b51bd87c10
Rework hover delay, respect editor font size, and enable hover in multibuffers
2022-06-09 17:03:44 -07:00
Keith Simmons
ee33fb03f2
wip
2022-06-09 17:03:44 -07:00
Max Brunsfeld
87ba68e3ea
Merge pull request #1155 from zed-industries/golang
...
Add Go support
2022-06-09 14:18:37 -07:00
Max Brunsfeld
7bb7187619
Add tests and fix bugs for editor indent/outdent commands w/ hard tabs
2022-06-09 10:26:09 -07:00
Antonio Scandurra
ea8b5016f7
Snap overlay's bottom/right edge to same window's edge on overflow
2022-06-09 13:48:02 +02:00
Antonio Scandurra
69170fc33a
Add unit test to ensure changing enable_language_server
works
2022-06-09 10:48:06 +02:00
Max Brunsfeld
f62fd3cddd
Add support for hard tabs
...
* Add a `hard_tabs` setting that causes indentation to be performed
using a tab instead of multiple spaces.
* Change Buffer's indentation-related APIs to return an `IndentSize`
struct with a length and a kind, instead of just a single u32.
* Use hard tabs by default in Go.
2022-06-08 18:30:10 -07:00
Antonio Scandurra
712d47d94f
Render a "Jump to Buffer" icon on all excerpt headers
2022-06-08 15:31:29 +02:00
Antonio Scandurra
c2eaf6128e
Move ProjectDiagnosticsEditor::jump
to Editor::jump
2022-06-08 15:08:11 +02:00
Antonio Scandurra
5fdafbe8c9
Expose a unique key: usize
in ExcerptBoundary
2022-06-08 15:02:52 +02:00
Antonio Scandurra
eda569d6b2
Snapshot file instead of path when creating a buffer snapshot
2022-06-08 14:29:14 +02:00
Antonio Scandurra
15b13fe511
Introduce an optional primary
field to ExcerptRange
2022-06-08 12:23:12 +02:00
Antonio Scandurra
ffb75b0f02
Extract an ExcerptRange
containing a context
field in multi_buffer
...
This lays the groundwork for adding an optional `primary` field that can
be supplied to provide the "jump to" feature.
2022-06-08 12:13:04 +02:00
Antonio Scandurra
d8b885e3ec
Provide tab_size
when formatting document using LSP range formatting
2022-06-08 09:56:11 +02:00
Keith Simmons
1b66e1e185
Add integration test and fix hovering over the wire
2022-06-07 14:22:02 -07:00
Keith Simmons
a6c0ee472c
Add vim bindings for hover
...
Allow scrolling in hover popover
2022-06-07 13:07:53 -07:00
Keith Simmons
67d9abc00f
Move highlighting to editor code and implement proto message types for hover response
2022-06-07 11:54:52 -07:00
Keith Simmons
c7cc07aafb
working markdown rendering
2022-06-07 11:54:51 -07:00
Isaac Clayton
efd798f5f6
Quick documentation pass
2022-06-07 11:54:33 -07:00
Keith Simmons
b014352740
Syntax highlighting working. Getting started on markdown support
2022-06-07 11:54:33 -07:00
Isaac Clayton
863a3b1886
Clean up impl a bit
2022-06-07 11:54:33 -07:00
Isaac Clayton
d529a1deb4
Add basic debounce, fix flickering
2022-06-07 11:54:31 -07:00
Keith Simmons
560dff7329
Pull hover popover out of context menu
2022-06-07 11:54:00 -07:00
Isaac Clayton
470c70d394
Get minimal POC working
2022-06-07 11:52:52 -07:00
Isaac Clayton
24ad60a651
Add hover action and style context menu
2022-06-07 11:50:49 -07:00
Keith Simmons
0ed8a42bb4
WIP
2022-06-07 11:49:28 -07:00
Keith Simmons
0c4f798a2d
WIP jump to definition with mouse
2022-06-07 11:47:23 -07:00
Antonio Scandurra
8826ad5ddd
Make Buffer::edit
and MultiBuffer::edit
resilient to inverted ranges
...
Previously, we would accept edits containing out-of-order ranges. When
generating such ranges in our randomized tests, many invariants started
breaking causing e.g. undo/redo to misbehave and operation application
to panic.
In theory, we should never pass inverted ranges, but this commit changes
the above functions to swap the start and the end when that occurs to avoid
breaking the entire system and panicking.
2022-06-06 15:22:36 +02:00