Commit Graph

2442 Commits (b0aaf089958f59b3d7a1eb03dbb46db8f9a2b914)
 

Author SHA1 Message Date
Blaž Hrastnik ac81b47a41 Don't calculate symbol width twice
This is potentially costly so we should avoid calling width()
3 years ago
Blaž Hrastnik 66a8612351 cleanup 3 years ago
Blaž Hrastnik 2302869836 fix: ensure_grapheme_boundary_next_byte needs to index at valid char 3 years ago
Blaž Hrastnik add3be8528 Slicing micro-optimization 3 years ago
Blaž Hrastnik df0d58e9f7 Set flags necessary for cargo-flamegraph 3 years ago
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