Commit log

da09247 WIP

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

9c74deb Finish removing anchor collections from MultiBuffer

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

d9da8ef Re-implement `edits_since_in_range` in terms of `Locator`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

c8d5e19 Merge branch 'fragment-locators' into project-diagnostics

Antonio Scandurra created

cb97b7c Fix diagnostic unit test

Antonio Scandurra created

eeba099 Optimize anchor comparison and take full advantage of fragment IDs

Antonio Scandurra created

5e516f5 Merge branch 'fragment-locators' into HEAD

Max Brunsfeld created

1ed1ec2 Batch anchor resolution, avoid cloning fragment ids when seeking

Max Brunsfeld created

e9c385e WIP

Antonio Scandurra created

91a7bbb Fix some of the diagnostic tests and make DiagnosticEntry generic

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

65711b2 Remove anchor collections

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

67686dd Don't use an enum for anchors and model min/max more implicitly

Click to expand commit body
This will make it easier to serialize an anchor.

Antonio Scandurra created

cbe136c Implement anchor resolution using locators

Antonio Scandurra created

b7535df Store only `clock::Local` in `InsertionFragment`

Antonio Scandurra created

dc81b5f Make remote edit randomized tests pass with locators

Antonio Scandurra created

b4ebe17 Make local edit randomized tests pass with locators

Antonio Scandurra created

dd38eb1 Start on maintaining an insertions tree

Click to expand commit body
I'm correctly assigning fragment ids to all fragments in the fragments tree, but I have a randomized test failure when making sure that the insertions tree matches the state of the fragments tree.

Nathan Sobo created

ec54010 Sketch in type-level changes to track insertion splits

Nathan Sobo created

98f7269 WIP

Nathan Sobo created

4ee404a Take a cx in MultiBuffer::start_transaction

Nathan Sobo created

87d16c2 Get Editor compiling with MultiBuffer as its buffer

Click to expand commit body
There's a bunch of unimplemented methods in MultiBuffer, but everything compiles.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

daedf17 Implement Anchor, AnchorRangeMap, SelectionSet in multi_buffer

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

a7634cc Rename ExcerptList to MultiBuffer

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

5f8e406 Fill out ExcerptList API

Click to expand commit body
This restores the improvements that we had made on the `project-diagnostics-generic` branch.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld , Antonio Scandurra , and Nathan Sobo created

a88cff4 Remove lifetime parameter from TextDimension trait

Click to expand commit body
Co-Authored-By: Antonio Scandurra <me@as-cii.com>

Antonio Scandurra and Antonio Scandurra created

6a44a74 Consolidate Edit types in editor crate

Max Brunsfeld created

fa37988 Give more specific names to all snapshot and text iterator types

Max Brunsfeld created

bd6e972 Merge pull request #281 from zed-industries/fix-release-asset-redirects

Click to expand commit body
Don't pass GH auth header when following redirects for release assets

Max Brunsfeld created

6d9bf80 Don't pass GH auth header when following redirects for release assets

Max Brunsfeld created

ad33111 Fix assertion in excerpt unit test after fixing edits

Max Brunsfeld created

39cc0ca Fix Subscription re-export after moving it into its own module

Max Brunsfeld created

102926d Implement and randomized test excerpt list point translation and clipping

Max Brunsfeld created

09c0c3a :art: excerpt_list::Chunks::next

Max Brunsfeld created

416033a Get random excerpts test passing w/ text in range, edits

Max Brunsfeld created

02f42f2 WIP

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

88e3d87 Get randomized test passing on basic excerpt list features

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

4578938 Implement ExcerptList::subscribe

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

a02a299 Get the basic ExcerptList unit test passing again

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

6965117 Allow patches to be composed with edit iterators in addition to other Patches

Click to expand commit body
This can avoid an extra allocation in some cases.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

cff610e Rename FragmentList to ExcerptList

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

42eba72 Introduce `Buffer::edits_since_in_range`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>

Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created

e37908c Start on a simple randomized test for `FragmentList`

Antonio Scandurra created

8354d15 :art:

Antonio Scandurra created

45d6f5a Start on maintaining edits in `FragmentList`

Antonio Scandurra created

8f90d42 Merge branch 'main' into project-diagnostics

Antonio Scandurra created

703e8e6 Merge pull request #276 from zed-industries/markdown

Click to expand commit body
Add basic markdown highlighting

Antonio Scandurra created

b1ed9c8 Add tree-sitter-markdown, set up simple markdown higlighting

Max Brunsfeld created

026c347 Upgrade tree-sitter to 0.20.1

Max Brunsfeld created

a13e251 Merge pull request #275 from zed-industries/fix-selection-artifacts

Click to expand commit body
Use 16-bit float to store path windings

Antonio Scandurra created

45d1690 Use 16-bit float to store path windings

Click to expand commit body
Previously, we were using a normalized 8-bit unsigned integer which forced us
to represent each increment of the winding number as a fraction of the max
value (1 / 255) which we would then add up using additive alpha blending.

This had three major drawbacks:

- The max winding number could not be greater than 255.
- Adding up (1 / 255) several times could result in a loss of precision.
- Due to also computing anti-aliasing as a fractional winding number, we had to
  reduce the max winding number to 32. This was still not good enough because
  we would multiply a fractional value with `1 / 32`, thus introducing more and
  more loss of precision.

This commit changes the texture type to an `f16` which doesn't require the
division by 255 and enables greater precision in the computation of the
anti-aliased parts of a curve. Note how this also removes the limitation of 255
windings at most per curve. The tradeoff is paying twice as much memory for
storing the texture, but that seems totally valid to achieve rendering accuracy.

Note that this kind of texture should be compatible with WebGL2 once we start
working on a web version of Zed.

Antonio Scandurra created