Max Brunsfeld
dca74cf2f0
Merge pull request #73 from zed-industries/grammars-cursor
...
Initial syntax support
2021-05-28 14:40:14 -07:00
Max Brunsfeld and Nathan Sobo
6411acb855
Bump Tree-sitter
...
Pass ranges to `set_byte_range`, `set_point_range`
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-28 14:25:30 -07:00
Max Brunsfeld and Nathan Sobo
6243f6ee6f
Implement bracket matching using queries
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-28 13:09:57 -07:00
Nathan Sobo
3032fbd2fa
Implement buffer::move_to_enclosing_bracket
2021-05-28 12:07:30 -06:00
Antonio Scandurra
76aaa52b57
WIP
2021-05-28 19:41:13 +02:00
111a95e06e
Add Buffer::enclosing_bracket_ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-05-28 19:35:04 +02:00
Antonio Scandurra
4034bc6b0f
Delete stale indents.scm file
2021-05-28 15:11:54 +02:00
Antonio Scandurra
510e55a8f7
Add unit test for BufferView::select_{larger,smaller}_syntax_node
2021-05-28 14:59:29 +02:00
Antonio Scandurra
32d1c09dc7
💄
2021-05-28 13:36:20 +02:00
Antonio Scandurra
22d33256fb
Implement select-smaller-syntax-node for buffer
2021-05-28 13:35:21 +02:00
Antonio Scandurra
118e85fff7
Implement select_larger_syntax_node for buffer
2021-05-28 13:25:09 +02:00
Antonio Scandurra
722a912ab5
Acquire and release QueryCursors via a QueryCursorHandle
2021-05-28 11:48:49 +02:00
Antonio Scandurra
def3bb1bfb
Punt on auto-indentation for now
2021-05-28 10:17:10 +02:00
Max Brunsfeld
fd82a522db
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 and Antonio Scandurra
a6b5a94ab7
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
8effdacad3
Fix panic in autoindent_for_rows caused by overshooting row range
2021-05-27 18:23:32 +02:00
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 Brunsfeld and Nathan 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 Scandurra and Nathan 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 Brunsfeld and Nathan 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 Brunsfeld and Nathan 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 Scandurra and Nathan 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