Blaž Hrastnik
7c9ebd05b8
Remove some TODOs
2022-01-23 16:10:36 +09:00
Blaž Hrastnik
80e920ba36
Update dependencies (includes tree-sitter 0.20.3)
2022-01-23 16:06:05 +09:00
Blaž Hrastnik
ac81b47a41
Don't calculate symbol width twice
...
This is potentially costly so we should avoid calling width()
2022-01-23 16:04:26 +09:00
Blaž Hrastnik
66a8612351
cleanup
2022-01-23 16:04:26 +09:00
Blaž Hrastnik
2302869836
fix: ensure_grapheme_boundary_next_byte needs to index at valid char
2022-01-23 16:04:26 +09:00
Blaž Hrastnik
add3be8528
Slicing micro-optimization
2022-01-23 16:04:26 +09:00
Blaž Hrastnik
df0d58e9f7
Set flags necessary for cargo-flamegraph
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
11c3ba9350
Speed up ensure_next_boundary during render
...
This code:
let start = ensure_grapheme_boundary_next(text, text.byte_to_char(start));
let end = ensure_grapheme_boundary_next(text, text.byte_to_char(end));
Would convert byte to char index, but then internally immediately convert back
to byte index, operate on it, then convert it to char index.
This change reduces the amount of time spent in ensure_grapheme_boundary from
29% to 2%.
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
9d41113ae0
Make Layer::parse take &mut tree_sitter::Parser
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
e22dbf102f
Use filter_map rather than flat_map
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
2f4a9fea03
Set byte range on cursor again
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
24314bd844
Only call scopes.load() once
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
4b0205f690
Resolve some outdated comments
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
9508684031
fix: Skip modifying the root layer range, it always covers 0..max
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
7315f6f3e4
Update range markers so we can determine which layers can be reused
2022-01-23 16:04:12 +09:00
Blaž Hrastnik
8a53e34e66
Try to reuse an existing layer based on layer.ranges
2022-01-23 16:04:07 +09:00
Blaž Hrastnik
72eb2ce1f1
Ignore layers without highlight captures, avoid cloning ranges
2022-01-23 16:00:24 +09:00
Blaž Hrastnik
5135fa37eb
Reuse the source slice between layers
2022-01-23 16:00:24 +09:00
Blaž Hrastnik
53d881f172
Store theme scopes on the loader, this way theme isn't passed around
2022-01-23 16:00:24 +09:00
Blaž Hrastnik
6728e44490
syntax: Split parsing and highlighting
2022-01-23 16:00:24 +09:00
NNB
83bde1004d
Add markup support ( #1525 )
...
* Add markup support for all Base16 themes
* Fix rose_pine `markup.link.text` attribute misname
* Add basic default markup support for all themes
* Fix cursor change color on Base16 terminal and default
* Remove old markup monokai_pro support and fix Onedark `markup.link.text` attribute misname
* Remove old markup dracula support
2022-01-23 11:18:50 +09:00
Daniel Flanagan
b8cafee9f5
docs: Fix typo in book ( #1537 )
...
* docs: Fix typo in book
* Update book/src/usage.md
Co-authored-by: Eric Crosson <EricCrosson@users.noreply.github.com>
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
Co-authored-by: Eric Crosson <EricCrosson@users.noreply.github.com>
2022-01-23 00:34:19 +09:00
Rohan Jain
1c747674b6
Add tag
to gruvbox theme ( #1555 )
...
Missed in the commit 943fca332e
.
2022-01-23 00:33:43 +09:00
Sebastian Zivota
5c1a06d28e
dracula theme: add markup support ( #1554 )
2022-01-23 00:32:41 +09:00
Jared Ramirez
0b55b21f30
feat(languages): GraphQL ( #1515 )
...
* Add Graphql language support
* Fix docs gen
* Add JS Graphql injection query
* Updates based on PR feedback
Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
2022-01-21 23:16:40 +09:00
Michael Davis
f453f8724d
change show_subtree command into ':tree-sitter-subtree' typable command ( #1524 )
...
* add default keymap for show_subtree command
* remove space+t keymap
* add a typable command ':show-subtree'
* generate documentation for ':show-subtree'
* remove non-typable show_subtree command
* ':show-subtree'->':tree-sitter-subtree'
2022-01-21 23:15:35 +09:00
WindSoilder
4563832318
add markup support for monokai pro themes ( #1553 )
2022-01-21 22:03:01 +09:00
Michael Davis
392dfa0841
add select_next_sibling and select_prev_sibling commands ( #1495 )
...
* add select_next_sibling and select_prev_sibling commands
* refactor objects to use higher order functions
* address clippy feedback
* move selection cloning into commands
* add default keybindings under left/right brackets
* use [+t,]+t for selecting sibling syntax nodes
* setup Alt-{j,k,h,l} default keymaps for syntax selection commands
* reduce boilerplate of select_next/prev_sibling in commands
* import tree-sitter Node type in commands
2022-01-21 00:52:33 +09:00
Mathis Brossier
fd7080498e
tree sitter comments injections ( #1527 )
...
* tree sitter comments injections
* trailing newlines & julia fix
* Update runtime/queries/julia/injections.scm
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
2022-01-21 00:50:06 +09:00
Jared Ramirez
b2c8aa1ee7
feat(languages): Elm ( #1514 )
...
* Add Elm language support
* Fix docs gen
* Updates based on PR feedback
2022-01-21 00:47:23 +09:00
Ivan Tham
440d4ae9df
Add terminal emulator to bug report ( #1535 )
2022-01-18 21:39:02 +05:30
dependabot[bot]
22b728d1eb
build(deps): bump libloading from 0.7.2 to 0.7.3 ( #1530 )
...
Bumps [libloading](https://github.com/nagisa/rust_libloading ) from 0.7.2 to 0.7.3.
- [Release notes](https://github.com/nagisa/rust_libloading/releases )
- [Commits](https://github.com/nagisa/rust_libloading/commits/0.7.3 )
---
updated-dependencies:
- dependency-name: libloading
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 09:42:48 +08:00
dependabot[bot]
89eb22525b
build(deps): bump serde_json from 1.0.74 to 1.0.75 ( #1531 )
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.74 to 1.0.75.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.74...v1.0.75 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 09:42:27 +08:00
dependabot[bot]
ed45d380eb
build(deps): bump smallvec from 1.7.0 to 1.8.0 ( #1532 )
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.7.0...v1.8.0 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 09:42:07 +08:00
Skyler Hawthorne
96d4ca5f73
Dependabot/cargo/pulldown cmark 0.9.1 ( #1533 )
...
* build(deps): bump pulldown-cmark from 0.8.0 to 0.9.1
Bumps [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark ) from 0.8.0 to 0.9.1.
- [Release notes](https://github.com/raphlinus/pulldown-cmark/releases )
- [Commits](https://github.com/raphlinus/pulldown-cmark/compare/v0.8.0...v0.9.1 )
---
updated-dependencies:
- dependency-name: pulldown-cmark
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* cmark 0.9 fixes
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-18 09:41:44 +08:00
Skyler Hawthorne
56a9ce5d83
fix(auto_pairs): fix auto pairs with crlf ( #1470 )
...
Auto pairs were resulting in incorrect ranges in the resulting when the
line terminators are CRLF (i.e. Windows). It turns out this is because
when we were checking if the selection was a single-width cursor, it
incorrectly assumed that this would be a single char. This is not the
case, as a cursor can cover a multi-code point grapheme. Therefore,
we must instead explicitly work with and check graphemes to determine
if the cursor should move or extend the selection.
Fixes #1436
2022-01-18 00:39:12 +09:00
Anders Christiansen Sørby
8ea5742b08
feat(languages): Lean experimental tree-sitter-lean ( #1422 )
...
* Add experimental tree-sitter-lean
* Run docgen
* Copy over the queries from lean.nvim
* Update .gitmodules
Co-authored-by: Ivan Tham <pickfire@riseup.net>
* Update lean highlights and run docgen
* Update runtime/queries/lean/injections.scm
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
* Lean: Move variable matcher to bottom
* Update runtime/queries/lean/locals.scm
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
Co-authored-by: Ivan Tham <pickfire@riseup.net>
Co-authored-by: Michael Davis <michael.davis@nfiindustries.com>
2022-01-17 23:05:17 +09:00
Blaž Hrastnik
e7eab95b94
Update to rust 1.58, fix a bunch of optional lints
2022-01-16 14:19:48 +09:00
Mathis Brossier
f5b0821860
Fix panics when resizing ( #1408 )
...
* Change buffer.get & buffer.get_mut to return Option, Implement Trait Index & IndexMut to panic
* Prevent FilePicker from drawing outside buffer (rust panics)
* apply suggestion
* add function in_bounds to avoid useless calculations
Co-authored-by: mathis <mathis.brossier@universite-paris-saclay.fr>
2022-01-16 10:55:28 +09:00
Stuart Hinson
9da0abaa5d
Add modified background to dracula popup ( #1434 )
2022-01-16 10:42:00 +09:00
WindSoilder
22297d0b40
Add alt-backspace, alt-<, alt->, ctrl-j to insert mode ( #1441 )
...
* add alt-backspace keymap to delete word backward
* add more useful keymap
* map to correct command
* add C-j to insert_newline
2022-01-16 10:41:21 +09:00
Matouš Dzivjak
38ca8daa09
fix(commands): run fmt for all documents being closed ( #1444 )
...
When writing all documents, fmt wouldn't be run.
Run fmt in close all implementation so that all documents
are formatted if necessary.
Fixes: https://github.com/helix-editor/helix/issues/1442
2022-01-16 10:39:49 +09:00
Rohan Jain
62c78c061c
Add markup.
scopes in gruvbox
themes ( #1518 )
...
As recommended by @archseer in https://github.com/helix-editor/helix/pull/1509#issuecomment-1013583069
2022-01-16 10:32:29 +09:00
Michael Davis
64d3e7b705
add show_subtree command for viewing tree-sitter subtree in Popup ( #1453 )
...
* add show_subtree command for viewing tree-sitter subtree in Popup
* remove '.slice(..)' from show_subtree command
* name docs and subtree Popups 'hover'
2022-01-16 10:26:09 +09:00
Daniel S Poulin
dd1f64d4dc
Update tree-sitter-php to latest upstream ( #1521 )
...
Brings in PHP 8.1 features, like enums, union types and the like.
2022-01-16 10:11:47 +09:00
Kirawi
a7b0cc730c
Re-enable haskell in languages.toml ( #1520 )
2022-01-16 10:11:31 +09:00
Kevin Sjöberg
3a34036310
Use the correct language ID for JavaScript & TypeScript ( #1466 )
...
* Use correct language ID for JavaScript/TypeScript
* Add missing slash
* Only calculate fallback when needed
2022-01-15 15:23:06 +09:00
Rohan Jain
97e6f2a38f
Add gruvbox-light theme ( #1509 )
...
Similar to `gruvbox`, add the light version as well.
2022-01-14 22:33:22 +08:00
voroskoi
6bfd001b48
Update zig tree-sitter ( #1501 )
...
use latest upstream version
move comptime from @keyword.function to @keyword.directive
use AssignOp
enhance indents
2022-01-14 22:29:24 +08:00
Matouš Dzivjak
ac6b2de0fd
feat(languages): enable css tree-sitter for scss files ( #1507 )
...
The grammer works fine for scss files to and it is better than no hihglighting at all
2022-01-14 16:25:44 +05:30