Commit log

8a97e9c Implement `select-smaller-syntax-node` for buffer

Antonio Scandurra created

23d1d91 Implement `select_larger_syntax_node` for buffer

Antonio Scandurra created

6992c19 Acquire and release `QueryCursor`s via a `QueryCursorHandle`

Antonio Scandurra created

07aeb32 Punt on auto-indentation for now

Antonio Scandurra created

79878f2 WIP - new approach to autoindent

Click to expand commit body
- Indent one row at a time.
- Consider only the innermost match.

Max Brunsfeld created

fc8758c Reset QueryCursors before putting them back in the pool

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

Max Brunsfeld and Antonio Scandurra created

c423033 Fix panic in `autoindent_for_rows` caused by overshooting row range

Antonio Scandurra created

362b369 WIP: Print autoindents on tab

Antonio Scandurra created

1cd04bd Rename `indent.scm` to `indents.scm`

Antonio Scandurra created

7bea3fd Start on a query-based autoindent system

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

Max Brunsfeld and Nathan Sobo created

3c06738 :lipstick: Add Buffer::row_count

Max Brunsfeld created

7c08484 Batch `indent_for_rows`

Click to expand commit body
There's still a `todo!` in the test to write more assertions and verify
this more complex, batched logic.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

9b69cea Replace `mod_item` with `declaration_list` for Rust's autoindent

Antonio Scandurra created

acf84f9 Add `Buffer::autoindent_for_row`

Antonio Scandurra created

d38d944 Add `indent` and `indent_nodes` configs in the language `config.toml`

Antonio Scandurra created

04c7989 Extract a `LanguageConfig` and load it from `language-dir/config.toml`

Antonio Scandurra created

5485c1a Add test for font selection

Antonio Scandurra created

9642e9b Honor `italic` in syntax themes

Antonio Scandurra created

e0cb5cc Honor `bold` in syntax themes

Antonio Scandurra created

ab64f2d Update tree-sitter

Antonio Scandurra created

c80812c Add a few more rust highlighting patterns

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

Max Brunsfeld and Nathan Sobo created

5d2ac3f Use new Tree-sitter captures API

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

Max Brunsfeld and Nathan Sobo created

43ddb6f WIP: Push failing test for `DisplayMap::highlighted_chunks_at`

Antonio Scandurra created

2e7593d :lipstick:

Antonio Scandurra created

bafac35 Reparse if syntax tree is up-to-date but in an interpolated state

Antonio Scandurra created

aeb6886 Move `highlighted_text_in_range` from `Buffer` to `buffer::Snapshot`

Antonio Scandurra created

e54a31e Bump tree-sitter for QueryCaptures::advance methods

Max Brunsfeld created

8340958 Convert query capture indices to style ids

Click to expand commit body
* Introduce a Theme struct as a new part of the app's settings
* Store on each Language a ThemeMap, which converts the capture ids
  from that language's highlight query into StyleIds, which identify
  styles in the current Theme.
* Update `highlighted_chunks` methods to provide StyleIds instead of
  capture ids.

Max Brunsfeld created

bc8d2b2 :lipstick:

Antonio Scandurra created

d063ebd Correctly store current chunk offset in `fold_map::HighlightedChunks`

Antonio Scandurra created

c50f978 Change `BufferView::layout_lines` to use `highlighted_chunks_at`

Antonio Scandurra created

d1788c6 Support `highlighted_text_for_range` for buffers without a language

Antonio Scandurra created

4b8805b Add `DisplayMap::highlighted_chunks_at(row)`

Click to expand commit body
Note that this API doesn't take a DisplayPoint: it could but it
makes things a bit harder on the implementation side and we don't
really need it anyway, as text is laid out on a line-by-line basis
anyway.

Antonio Scandurra created

4ddf109 Introduce `fold_map::HighlightedChunks`

Antonio Scandurra created

491932b Rename `HighlightedChunksIter` to `HighlightedChunks`

Antonio Scandurra created

4ada5e0 Rename `rope::ChunksIter` to `rope::Chunks`

Click to expand commit body
This is consistent with how we name the other chunk iterators.

Antonio Scandurra created

6e791ed Don't acquire the buffer mutably in `highlighted_text_for_range`

Antonio Scandurra created

23b2530 Start on a basic implementation of `HighlightedChunksIter`

Antonio Scandurra created

b51ae1f WIP

Max Brunsfeld created

b0859d4 Extract a `Buffer::syntax_tree` to sync the syntax tree with the buffer

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

Antonio Scandurra and Nathan Sobo created

c1b4cca Delete commented-out diff code

Antonio Scandurra created

3a576f0 Don't clone `visible_text` for splicing edits into the parse tree

Antonio Scandurra created

64b1113 Restructure parsing to use `edits_since`

Antonio Scandurra created

9836f1f Reparse buffer on undo, redo and after applying a remote operation

Antonio Scandurra created

fe8dc9f Add a unit test for reparsing a buffer

Max Brunsfeld created

46e6b2c Start maintaining a syntax tree on buffers

Max Brunsfeld created

4e74a87 Bump context-predicate grammar to the latest Tree-sitter

Max Brunsfeld created

2f378be Introduce LanguageRegistry object

Click to expand commit body
* Include it, along with settings in `OpenParams` grouped under a new struct called `AppState`

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

eb345e7 Merge pull request #71 from zed-industries/simplify-text-layout

Click to expand commit body
Pass scalar lengths and include colors when specifying styling runs during text layout

Nathan Sobo created

5d614e7 Fix test assertions

Nathan Sobo created