Commit Graph
659 Commits
Author SHA1 Message Date
Antonio Scandurra 1e156bb01c WIP: Print autoindents on tab 2021-05-27 18:22:33 +02:00
Antonio Scandurra 7bd6ce325b Rename indent.scm to indents.scm 2021-05-27 11:20:19 +02:00
Max BrunsfeldandNathan Sobo 28d32ea7fa Start on a query-based autoindent system
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-26 17:23:53 -07:00
Max Brunsfeld 1b6dfda6b3 💄 Add Buffer::row_count 2021-05-26 12:01:09 -07:00
Antonio ScandurraandNathan Sobo 83a032e594 Batch indent_for_rows
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>
2021-05-26 17:37:50 +02:00
Antonio Scandurra 236763a666 Replace mod_item with declaration_list for Rust's autoindent 2021-05-26 16:00:01 +02:00
Antonio Scandurra a91a0ba084 Add Buffer::autoindent_for_row 2021-05-26 16:00:01 +02:00
Antonio Scandurra 73b6c2a804 Add indent and indent_nodes configs in the language config.toml 2021-05-26 15:45:58 +02:00
Antonio Scandurra 7b8636769b Extract a LanguageConfig and load it from language-dir/config.toml 2021-05-26 10:27:14 +02:00
Antonio Scandurra 8837be65d8 Add test for font selection 2021-05-26 09:41:57 +02:00
Antonio Scandurra f5ab4492cb Honor italic in syntax themes 2021-05-26 09:41:30 +02:00
Antonio Scandurra 516615b11e Honor bold in syntax themes 2021-05-26 09:23:48 +02:00
Antonio Scandurra 6cf9550c0b Update tree-sitter 2021-05-26 09:10:06 +02:00
Max BrunsfeldandNathan Sobo 5b57035ef7 Add a few more rust highlighting patterns
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 17:42:46 -07:00
Max BrunsfeldandNathan Sobo 4ca1e41023 Use new Tree-sitter captures API
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 16:02:43 -07:00
Antonio Scandurra ba3d2b9d1f WIP: Push failing test for DisplayMap::highlighted_chunks_at 2021-05-25 17:20:46 +02:00
Antonio Scandurra 7c3bc2fec3 💄 2021-05-25 14:20:53 +02:00
Antonio Scandurra ad64bc51ec Reparse if syntax tree is up-to-date but in an interpolated state 2021-05-25 12:10:36 +02:00
Antonio Scandurra c636b7bf13 Move highlighted_text_in_range from Buffer to buffer::Snapshot 2021-05-25 11:51:29 +02:00
Max Brunsfeld 31f451a63f Bump tree-sitter for QueryCaptures::advance methods 2021-05-24 21:21:31 -07:00
Max Brunsfeld 9c8954a191 Convert query capture indices to style ids
* 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.
2021-05-24 16:44:14 -07:00
Antonio Scandurra b9215490ba 💄 2021-05-24 17:14:17 +02:00
Antonio Scandurra 19cb3d0183 Correctly store current chunk offset in fold_map::HighlightedChunks 2021-05-24 16:52:01 +02:00
Antonio Scandurra 9f3542eefc Change BufferView::layout_lines to use highlighted_chunks_at 2021-05-24 16:51:32 +02:00
Antonio Scandurra bd9fc9e26f Support highlighted_text_for_range for buffers without a language 2021-05-24 16:47:13 +02:00
Antonio Scandurra bcb22e5974 Add DisplayMap::highlighted_chunks_at(row)
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.
2021-05-24 16:46:11 +02:00
Antonio Scandurra 8562d8f99f Introduce fold_map::HighlightedChunks 2021-05-24 15:39:22 +02:00
Antonio Scandurra 87e7a66ea0 Rename HighlightedChunksIter to HighlightedChunks 2021-05-24 15:07:02 +02:00
Antonio Scandurra c7a47c75ea Rename rope::ChunksIter to rope::Chunks
This is consistent with how we name the other chunk iterators.
2021-05-24 15:05:11 +02:00
Antonio Scandurra 98a140dafb Don't acquire the buffer mutably in highlighted_text_for_range 2021-05-24 12:43:29 +02:00
Antonio Scandurra 436eac39c0 Start on a basic implementation of HighlightedChunksIter 2021-05-24 11:23:42 +02:00
Max Brunsfeld 2a9b56483d WIP 2021-05-23 21:42:45 -07:00
Antonio ScandurraandNathan Sobo 5aa91cfe3a Extract a Buffer::syntax_tree to sync the syntax tree with the buffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-22 12:34:35 +02:00
Antonio Scandurra 380e7b27a8 Delete commented-out diff code 2021-05-22 12:34:35 +02:00
Antonio Scandurra 581ff37a12 Don't clone visible_text for splicing edits into the parse tree 2021-05-22 12:34:35 +02:00
Antonio Scandurra 926b7dc95a Restructure parsing to use edits_since 2021-05-22 12:34:35 +02:00
Antonio Scandurra 678aaf19f5 Reparse buffer on undo, redo and after applying a remote operation 2021-05-22 12:34:35 +02:00
Max Brunsfeld c85c5e3141 Add a unit test for reparsing a buffer 2021-05-22 12:34:35 +02:00
Max Brunsfeld 0e7fdcdab4 Start maintaining a syntax tree on buffers 2021-05-22 12:34:35 +02:00
Max Brunsfeld f4921ab1c1 Bump context-predicate grammar to the latest Tree-sitter 2021-05-22 12:34:35 +02:00
409298c7d7 Introduce LanguageRegistry object
* 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>
2021-05-22 12:34:35 +02:00
Nathan Sobo 90573ebff2 Merge pull request #71 from zed-industries/simplify-text-layout
Pass scalar lengths and include colors when specifying styling runs during text layout
2021-05-21 14:40:48 -06:00
Nathan Sobo d72dc9ff6a Fix test assertions 2021-05-21 14:36:52 -06:00
Nathan Sobo e393697a21 Fix typo 2021-05-21 14:36:44 -06:00
Nathan Sobo 7b840467ef Clarify variable name 2021-05-21 14:14:05 -06:00
Nathan Sobo 6a078c3281 Accept colors in styling runs passed to layout_str
Also move from the runs being expressed as ranges to the runs being expressed as a sequence of contiguous scalar lengths.
2021-05-21 14:10:38 -06:00
Antonio ScandurraandNathan Sobo af0cde4093 Rename rightmost_{row,chars} to longest_{row,chars}
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-20 16:32:09 +02:00
Antonio Scandurra 6374143612 Merge pull request #70 from zed-industries/optimizations
Structure buffer APIs in terms of strings and byte counts instead of chars and character counts
2021-05-20 13:02:46 +02:00
Antonio Scandurra c1ff7877fc Don't store rightmost row/char-column as a Point 2021-05-20 12:52:58 +02:00
Antonio Scandurra bd6bfaf06b Index into prefix or path depending on where the match was found
This fixes a couple of tests that were panicking due to an out-of-bound
access.
2021-05-20 12:47:08 +02:00