aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Varua theme updates (cursorline, statusline) (#4964)Bertrand Bousquet2022-12-02
|
* tutor: Clarify space searching instructions (#4953)Tshepang Mbambo2022-12-01
|
* Fix nightly clippy lints (#4954)Tshepang Mbambo2022-12-01
|
* Show (git) diff signs in gutter (#3890)Pascal Kuthe2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Show (git) diff signs in gutter (#3890) Avoid string allocation when git diffing Incrementally diff using changesets refactor diffs to be provider indepndent and improve git implementation remove dependency on zlib-ng switch to asynchronus diffing with similar Update helix-vcs/Cargo.toml fix toml formatting Co-authored-by: Ivan Tham <pickfire@riseup.net> fix typo in documentation use ropey reexpors from helix-core fix crash when creating new file remove useless use if io::Cursor fix spelling mistakes implement suggested improvement to repository loading improve git test isolation remove lefover comments Co-authored-by: univerz <univerz@fu-solution.com> fixed spelling mistake minor cosmetic changes fix: set self.differ to None if decoding the diff_base fails fixup formatting Co-authored-by: Ivan Tham <pickfire@riseup.net> reload diff_base when file is reloaded from disk switch to imara-diff Fixup formatting Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Redraw buffer whenever a diff is updated. Only store hunks instead of changes for individual lines to easily allow jumping between them Update to latest gitoxide version Change default diff gutter position Only update gutter after timeout * update diff gutter synchronously, with a timeout * Apply suggestions from code review Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * address review comments and ensure lock is always aquired * remove configuration for redraw timeout Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* Fix file-types declaration for racket (#4915)Michael Davis2022-11-30
| | | | | | | Both the racket and scheme entries used the rkt file-extension. This commit removes that entry for scheme and so that the racket entry takes precedence. We explicitly point to the scheme grammar now and setup queries that inherit from scheme. This should enable using the racket language server configuration.
* Fix ayu theme cursor issue (#4764)André Sá2022-11-29
|
* Handle disambiguated keycodes (#4887)Michael Davis2022-11-29
| | | | | Media keys are sent despite `DISAMBIGUATE_ESCAPE_CODES` being unset. Previously we panicked on these. This change translates the disambiguated keys from crossterm so that they do not cause a panic.
* Sync all document changes on view focusMichael Davis2022-11-29
|
* Add a test case for undo/redo across splitsMichael Davis2022-11-29
|
* Use lowest common ancestor search in History::changes_sinceMichael Davis2022-11-29
|
* Call View::apply within Document::append_changes_to_historyMichael Davis2022-11-29
|
* Sync changes with view in undo/redo/earlier/laterMichael Davis2022-11-29
|
* Remove calls to View::apply in undo/redo/earlier/laterMichael Davis2022-11-29
|
* Sync changes between doc and view on switchMichael Davis2022-11-29
|
* Revert "Don't apply transactions to Views in undo/redo"Michael Davis2022-11-29
| | | | This reverts commit fd00f3a70eb626242bb2fcc9bddf2c4d94580a9a.
* Remove eager application of transactions to all viewsMichael Davis2022-11-29
|
* delete outdated reference to cessen/ropey#25 (#4928)Kirawi2022-11-29
|
* fix(grammar): Add `block_comment` and `comment_environment` injection for ↵Erik Bünnig2022-11-28
| | | | latex comments (#4922)
* Significantly improve performance of `:reload` (#4457)Pascal Kuthe2022-11-28
| | | | | * bump ropey to 1.5.1-alpha * significantly improve performance of :reload
* bump ropey to 1.5.1-alphaPascal Kuthe2022-11-28
|
* Update CSS syntax highlighting (#4882)Chickenkeeper2022-11-28
|
* Fix Go variable indentation (#4906)gavincrawford2022-11-27
|
* reload-all: Only update viewport when view focuses on the doc (#4901)Filipe Azevedo2022-11-26
|
* Update tree-sitter-java and add Java textobjects (#4886)Lennard Hofmann2022-11-26
|
* Remove selections for closed views on all documents (#4888)Michael Davis2022-11-26
| | | | | Previously we removed selections for a closed view on only the currently focused document. A view might have selections in other documents though, so the view needs to be removed from all documents.
* feat(themes): improve fleetish (#4813)Matouš Dzivjak2022-11-26
| | | | | | | | | | | Small adjustements to the fleetish theme to improve readability in certain cases. Specifically: - use darker background for menues as it (purely subjectively) loooks better - use different color for `constant.buildin.boolean` and `keyword` to make statements such as `return true` read better - use different colors for different markup link parts - destructure the config where appliable
* Bump tree-sitter-html version (#4881)Chickenkeeper2022-11-26
|
* add theme nightfox (#4769)Jan Scheer2022-11-26
| | | | This theme is an adaptation of github.com/EdenEast/nightfox.nvim
* Clear line on `<ret>` when line is all whitespace (#4854)Michael Davis2022-11-25
| | | | | | This matches the insert-mode behavior for Vim and Kakoune: if the current line is empty except for whitespace, `<ret>` should insert a line ending at the beginning of the line, moving any indentation to the next line.
* Drain pending requests on language server termination (#4852)Michael Davis2022-11-24
| | | | | | | | | This prevents a freeze while shutting down when using `efm-langserver`. `efm-langserver` exits immediately after seeing a shutdown request, without responding to the request. We block awaiting the reply to the shutdown request which will never come, so we time out. This change responds to any pending requests with `Err` saying that the stream has been closed.
* Exit select mode on surround commands (#4858)Jonathan LEI2022-11-24
|
* Update tree-sitter-gleamMichael Davis2022-11-24
| | | | | | | This update includes a handful of fixes, a new binary concatenation operator (already highlighted by the `binary_operator` rule), and a new `use` language construct. The nodes are backwards compatible but this update introduces two new nodes for highlighting: `use` and `<-`.
* Update tree-sitter-heexMichael Davis2022-11-24
| | | | | tree-sitter-heex split out the ending_expression_value from the partial_expression value which can help with indentation.
* Add parameter highlights to ErlangMichael Davis2022-11-24
| | | | | | | This doesn't work robustly (within pattern matches). Only regular bindings are highlighted as parameters. In order to highlight all parameters even in matches, we would need an arbitrary nesting operator in queries which doesn't exist yet in tree-sitter.
* Improve Edoc highlighting within ErlangMichael Davis2022-11-24
| | | | | | This highlights edoc within Erlang comments. The trick was to have the Erlang grammar consume newlines and then give them to EDoc in the injection to use so that line-wise elements could be parsed accurately.
* Follow parent links when calculating changes since a revisionMichael Davis2022-11-24
| | | | | | The 'revisions' field on History can't be treated as linear: each Revision in the revisions Vec has a parent link and an optional child link. We can follow those to unroll the recent history.
* Apply inversions to Views on undo/redoMichael Davis2022-11-24
| | | | | | | | When using undo/redo, the history revision can be decremented. In that case we should apply the inversions since the given revision in History::changes_since. This prevents panics with jumplist operations when a session uses undo/redo to move the jumplist selection outside of the document.
* Don't apply transactions to Views in undo/redoMichael Davis2022-11-24
| | | | | | View::apply should only be called by EditorView after 42e37a571e75aaf4feb1717dfebe8cf215e535dd. This change removes the duplicate calls within undo/redo which could cause a panic.
* Add test case that panics on undoMichael Davis2022-11-24
| | | | | | | This case panics since undo/redo call View::apply and here, the edit that moves the jumplist selection out-of-bounds is not yet applied when View::apply is called in undo/redo. View::apply should only be called by the EditorView now.
* tutor: Add missing quotes (#4832)Tshepang Mbambo2022-11-23
|
* Add QML language support (#4842)alois312022-11-23
| | | Fixes https://github.com/helix-editor/helix/issues/2771
* Apply transactions to all views (#4733)Michael Davis2022-11-23
| | | | | | | | | | | | | | | | | * Add a test case for updating jumplists across windows * Apply transactions to all views on history changes This ensures that jumplist selections follow changes in documents, even when there are multiple views (for example a split where both windows edit the same document). * Leave TODOs for cleaning up View::apply * Use Iterator::reduce to compose history transactions Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* build(deps): bump tokio from 1.21.2 to 1.22.0 (#4846)dependabot[bot]2022-11-22
| | | | | | | | | | | | | | | | | Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.2 to 1.22.0. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.2...tokio-1.22.0) --- updated-dependencies: - dependency-name: tokio dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump Swatinem/rust-cache from 1 to 2 (#4843)dependabot[bot]2022-11-22
| | | | | | | | | | | | | | | | | | Bumps [Swatinem/rust-cache](https://github.com/Swatinem/rust-cache) from 1 to 2. - [Release notes](https://github.com/Swatinem/rust-cache/releases) - [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md) - [Commits](https://github.com/Swatinem/rust-cache/compare/v1...v2) --- updated-dependencies: - dependency-name: Swatinem/rust-cache dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: Simplify tag name fetching (set-output is deprecated)Blaž Hrastnik2022-11-22
|
* ci: Remove a bunch of actions-rs/cargo usesBlaž Hrastnik2022-11-22
|
* significantly improve treesitter performance while editing large files (#4716)Pascal Kuthe2022-11-22
| | | | | | | | | | | * significantly improve treesitter performance while editing large files * Apply stylistic suggestions from code review Co-authored-by: Michael Davis <mcarsondavis@gmail.com> * use PartialEq and Hash instead of a freestanding function Co-authored-by: Michael Davis <mcarsondavis@gmail.com>
* lsp: Check server provider capabilities (#3554)Michael Davis2022-11-22
| | | | | | | | | | | | | | Language Servers may signal that they do not support a method in the initialization result (server capabilities). We can check these when making LSP requests and hint in the status line when a method is not supported by the server. This can also prevent crashes in servers which assume that clients do not send requests for methods which are disabled in the server capabilities. There is an existing pattern the LSP client module where a method returns `Option<impl Future<Output = Result<_>>>` with `None` signaling no support in the server. This change extends this pattern to the rest of the client functions. And we log an error to the statusline for manually triggered LSP calls which return `None`.
* remove duplicated shell calls (#3465)Bob2022-11-22
|
* Limit the number of items in the jumplist (#4750)Michael Davis2022-11-22
| | | | | | | | | | | | | | | | | | | | | Previously, jumplists could grow unchecked. Every transaction is applied to jumplist selections to ensure that they are up to date and within document bounds, so this would cause every edit to become more expensive as jumplist lengths increased throughout a session. Setting a maximum number of entries limits the cost. Vim and Neovim limit their jumplists: * https://github.com/vim/vim/blob/b298fe6cbae3b240b10dbd55d9c38d0cc8e033d3/src/structs.h#L141 * https://github.com/neovim/neovim/blob/e8cc489accc435076afb4fdf89778b64f0a48473/src/nvim/mark_defs.h#L57 Notably, Kakoune does not. In Kakoune, changes are applied to jumplist entries lazily as you hit `<C-o>`/`<C-i>` though, so Kakoune doesn't have the same growing cost concerns. Kakoune also does not have a concept of a View which limits the cost further. Vim and Neovim limit to 100. This seems unreasonably high to me so I've set this to 30 to start. We can increase if this is problematically low.