Antonio Scandurra
0b51e99c6e
Delete stale indents.scm
file
2021-05-28 15:11:54 +02:00
Antonio Scandurra
36c1d21025
Add unit test for BufferView::select_{larger,smaller}_syntax_node
2021-05-28 14:59:29 +02:00
Antonio Scandurra
0ed9e74785
💄
2021-05-28 13:36:20 +02:00
Antonio Scandurra
8a97e9c573
Implement select-smaller-syntax-node
for buffer
2021-05-28 13:35:21 +02:00
Antonio Scandurra
23d1d91414
Implement select_larger_syntax_node
for buffer
2021-05-28 13:25:09 +02:00
Antonio Scandurra
6992c19aee
Acquire and release QueryCursor
s via a QueryCursorHandle
2021-05-28 11:48:49 +02:00
Antonio Scandurra
07aeb32ef4
Punt on auto-indentation for now
2021-05-28 10:17:10 +02:00
Max Brunsfeld
79878f20cc
WIP - new approach to autoindent
...
- Indent one row at a time.
- Consider only the innermost match.
2021-05-27 15:05:19 -07:00
Max Brunsfeld
fc8758c619
Reset QueryCursors before putting them back in the pool
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-05-27 09:37:17 -07:00
Antonio Scandurra
c423033042
Fix panic in autoindent_for_rows
caused by overshooting row range
2021-05-27 18:23:32 +02:00
Antonio Scandurra
362b369448
WIP: Print autoindents on tab
2021-05-27 18:22:33 +02:00
Antonio Scandurra
1cd04bd0d1
Rename indent.scm
to indents.scm
2021-05-27 11:20:19 +02:00
Max Brunsfeld
7bea3fd2fe
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
3c0673852b
💄 Add Buffer::row_count
2021-05-26 12:01:09 -07:00
Antonio Scandurra
7c084846af
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
9b69cea75a
Replace mod_item
with declaration_list
for Rust's autoindent
2021-05-26 16:00:01 +02:00
Antonio Scandurra
acf84f939d
Add Buffer::autoindent_for_row
2021-05-26 16:00:01 +02:00
Antonio Scandurra
d38d944fef
Add indent
and indent_nodes
configs in the language config.toml
2021-05-26 15:45:58 +02:00
Antonio Scandurra
04c7989720
Extract a LanguageConfig
and load it from language-dir/config.toml
2021-05-26 10:27:14 +02:00
Antonio Scandurra
5485c1a749
Add test for font selection
2021-05-26 09:41:57 +02:00
Antonio Scandurra
9642e9b425
Honor italic
in syntax themes
2021-05-26 09:41:30 +02:00
Antonio Scandurra
e0cb5ccfba
Honor bold
in syntax themes
2021-05-26 09:23:48 +02:00
Antonio Scandurra
ab64f2dd1d
Update tree-sitter
2021-05-26 09:10:06 +02:00
Max Brunsfeld
c80812c809
Add a few more rust highlighting patterns
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 17:42:46 -07:00
Max Brunsfeld
5d2ac3f4e4
Use new Tree-sitter captures API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-25 16:02:43 -07:00
Antonio Scandurra
43ddb6f640
WIP: Push failing test for DisplayMap::highlighted_chunks_at
2021-05-25 17:20:46 +02:00
Antonio Scandurra
2e7593dd79
💄
2021-05-25 14:20:53 +02:00
Antonio Scandurra
bafac35d6a
Reparse if syntax tree is up-to-date but in an interpolated state
2021-05-25 12:10:36 +02:00
Antonio Scandurra
aeb68867da
Move highlighted_text_in_range
from Buffer
to buffer::Snapshot
2021-05-25 11:51:29 +02:00
Max Brunsfeld
e54a31ead2
Bump tree-sitter for QueryCaptures::advance methods
2021-05-24 21:21:31 -07:00
Max Brunsfeld
8340958b33
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
bc8d2b2f1d
💄
2021-05-24 17:14:17 +02:00
Antonio Scandurra
d063ebdf9b
Correctly store current chunk offset in fold_map::HighlightedChunks
2021-05-24 16:52:01 +02:00
Antonio Scandurra
c50f978eff
Change BufferView::layout_lines
to use highlighted_chunks_at
2021-05-24 16:51:32 +02:00
Antonio Scandurra
d1788c69ab
Support highlighted_text_for_range
for buffers without a language
2021-05-24 16:47:13 +02:00
Antonio Scandurra
4b8805bad2
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
4ddf10967e
Introduce fold_map::HighlightedChunks
2021-05-24 15:39:22 +02:00
Antonio Scandurra
491932b691
Rename HighlightedChunksIter
to HighlightedChunks
2021-05-24 15:07:02 +02:00
Antonio Scandurra
4ada5e0666
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
6e791edb18
Don't acquire the buffer mutably in highlighted_text_for_range
2021-05-24 12:43:29 +02:00
Antonio Scandurra
23b25307d9
Start on a basic implementation of HighlightedChunksIter
2021-05-24 11:23:42 +02:00
Max Brunsfeld
b51ae1f668
WIP
2021-05-23 21:42:45 -07:00
Antonio Scandurra
b0859d4265
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
c1b4cca48b
Delete commented-out diff code
2021-05-22 12:34:35 +02:00
Antonio Scandurra
3a576f0b65
Don't clone visible_text
for splicing edits into the parse tree
2021-05-22 12:34:35 +02:00
Antonio Scandurra
64b1113455
Restructure parsing to use edits_since
2021-05-22 12:34:35 +02:00
Antonio Scandurra
9836f1f638
Reparse buffer on undo, redo and after applying a remote operation
2021-05-22 12:34:35 +02:00
Max Brunsfeld
fe8dc9fba0
Add a unit test for reparsing a buffer
2021-05-22 12:34:35 +02:00
Max Brunsfeld
46e6b2cff4
Start maintaining a syntax tree on buffers
2021-05-22 12:34:35 +02:00
Max Brunsfeld
4e74a8726c
Bump context-predicate grammar to the latest Tree-sitter
2021-05-22 12:34:35 +02:00