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%.
3 years ago
Blaž Hrastnik
9d41113ae0
Make Layer::parse take &mut tree_sitter::Parser
3 years ago
Blaž Hrastnik
e22dbf102f
Use filter_map rather than flat_map
3 years ago
Blaž Hrastnik
2f4a9fea03
Set byte range on cursor again
3 years ago
Blaž Hrastnik
24314bd844
Only call scopes.load() once
3 years ago
Blaž Hrastnik
4b0205f690
Resolve some outdated comments
3 years ago
Blaž Hrastnik
9508684031
fix: Skip modifying the root layer range, it always covers 0..max
3 years ago
Blaž Hrastnik
7315f6f3e4
Update range markers so we can determine which layers can be reused
3 years ago
Blaž Hrastnik
8a53e34e66
Try to reuse an existing layer based on layer.ranges
3 years ago
Blaž Hrastnik
72eb2ce1f1
Ignore layers without highlight captures, avoid cloning ranges
3 years ago
Blaž Hrastnik
5135fa37eb
Reuse the source slice between layers
3 years ago
Blaž Hrastnik
53d881f172
Store theme scopes on the loader, this way theme isn't passed around
3 years ago
Blaž Hrastnik
6728e44490
syntax: Split parsing and highlighting
3 years ago
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
3 years ago
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>
3 years ago
Rohan Jain
1c747674b6
Add `tag` to gruvbox theme ( #1555 )
...
Missed in the commit 943fca332e
.
3 years ago
Sebastian Zivota
5c1a06d28e
dracula theme: add markup support ( #1554 )
3 years ago
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>
3 years ago
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'
3 years ago
WindSoilder
4563832318
add markup support for monokai pro themes ( #1553 )
3 years ago
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
3 years ago
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>
3 years ago
Jared Ramirez
b2c8aa1ee7
feat(languages): Elm ( #1514 )
...
* Add Elm language support
* Fix docs gen
* Updates based on PR feedback
3 years ago
Ivan Tham
440d4ae9df
Add terminal emulator to bug report ( #1535 )
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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>
3 years ago
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
3 years ago
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>
3 years ago
Blaž Hrastnik
e7eab95b94
Update to rust 1.58, fix a bunch of optional lints
3 years ago
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>
3 years ago
Stuart Hinson
9da0abaa5d
Add modified background to dracula popup ( #1434 )
3 years ago
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
3 years ago
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
3 years ago
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
3 years ago
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'
3 years ago
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.
3 years ago
Kirawi
a7b0cc730c
Re-enable haskell in languages.toml ( #1520 )
3 years ago
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
3 years ago
Rohan Jain
97e6f2a38f
Add gruvbox-light theme ( #1509 )
...
Similar to `gruvbox`, add the light version as well.
3 years ago
voroskoi
6bfd001b48
Update zig tree-sitter ( #1501 )
...
use latest upstream version
move comptime from @keyword.function to @keyword.directive
use AssignOp
enhance indents
3 years ago
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
3 years ago
Alexis Mousset
f80da7b4de
Add pom.xml as maven root directory marker ( #1496 )
3 years ago
Mathis Brossier
85cf2648a2
buffer picker allow hsplit / vsplit ( #1502 )
3 years ago
Jared Ramirez
a2fad4fcb0
Fix Nix flake ( #1455 )
3 years ago
NexiNov
f77dbc7c83
Minor(book): Add `G` in normal mode ( #1482 )
3 years ago
Kirawi
8d273a5613
remove outdated note ( #1485 )
3 years ago
Blaž Hrastnik
ddbf03613d
Update tree-sitter-go with generics support
3 years ago
dependabot[bot]
afc602d306
build(deps): bump clipboard-win from 4.2.2 to 4.3.0 ( #1476 )
...
Bumps [clipboard-win](https://github.com/DoumanAsh/clipboard-win ) from 4.2.2 to 4.3.0.
- [Release notes](https://github.com/DoumanAsh/clipboard-win/releases )
- [Commits](https://github.com/DoumanAsh/clipboard-win/commits )
---
updated-dependencies:
- dependency-name: clipboard-win
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>
3 years ago