aboutsummaryrefslogtreecommitdiff
path: root/helix-view/src
Commit message (Collapse)AuthorAge
* Dynamically resize line number gutter width (#3469)Doug Kelkhoff2022-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | * dynamically resize line number gutter width * removing digits lower-bound, permitting spacer * removing max line num char limit; adding notes; qualified successors; notes * updating tests to use new line number width when testing views * linenr width based on document line count * using min width of 2 so line numbers relative is useful * lint rolling; removing unnecessary type parameter lifetime * merge change resolution * reformat code * rename row_styler to style; add int_log resource * adding spacer to gutters default; updating book config entry * adding view.inner_height(), swap for loop for iterator * reverting change of current! to view! now that doc is not needed
* core: Move state into the history moduleBlaž Hrastnik2022-11-08
|
* Resolve a bunch of upcoming clippy lintsBlaž Hrastnik2022-11-04
|
* Fix panic from two windows editing the same document (#4570)Michael Davis2022-11-03
| | | | | | | | | | | | | | | | | | | | * Clamp highlighting range to be within document This fixes a panic possible when two vsplits of the same document exist and enough lines are deleted from the document so that one of the windows focuses past the end of the document. * Ensure cursor is in view on window change If two windows are editing the same document, one may delete enough of the document so that the other window is pointing at a blank page (past the document end). In this change we ensure that the cursor is within view whenever we switch to a new window (for example with `<C-w>w`). * Update helix-term/src/ui/editor.rs Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* Use OSC 52 as a fallback for setting the system clipboard (#3220)Charlie Groves2022-11-02
| | | | | This adds a simple base64 implementation to keep us from adding a crate for one function. It's mostly based on https://github.com/marshallpierce/rust-base64/blob/a675443d327e175f735a37f574de803d6a332591/src/engine/naive.rs#L42
* Allow the area to be bigger than u16 (width and height remain u16) (#4318)A-Walrus2022-10-26
| | | | Now the editor can fill **very** large terminals. Changed/removed tests which check the truncating behaviour.
* commands: Make no arg ':theme' show name (#3740)James O. D. Hunt2022-10-26
| | | | | | | | | | | | | | | | Most commands that accept an argument show their current value if no argument is specified. The `:theme` command previously displayed an error message in the status bar if not provided with an argument: ``` Theme name not provided ``` It now shows the current theme name in the status bar if no argument is specified. Signed-off-by: James O. D. Hunt <jamesodhunt@gmail.com> Signed-off-by: James O. D. Hunt <jamesodhunt@gmail.com>
* cargo fmtBlaž Hrastnik2022-10-21
|
* Autosave all when the terminal loses focus (#3178)Charlie Groves2022-10-21
| | | | | | | | | | | * Autosave all when the terminal loses focus * Correct comment on focus config Co-authored-by: Blaž Hrastnik <blaz@mxxn.io> * Need a block_try_flush_writes in all quit_all paths Co-authored-by: Blaž Hrastnik <blaz@mxxn.io>
* simplify encoding test macro (#4385)Kirawi2022-10-21
|
* Fix multi byte auto pairs (#4024)Skyler Hawthorne2022-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix test::print for Unicode The print function was not generating correct translations when the input has Unicode (non-ASCII) in it. This is due to its use of String::len, which gives the length in bytes, not chars. * Fix multi-code point auto pairs The current code for auto pairs is counting offsets by summing the length of the open and closing chars with char::len_utf8. Unfortunately, this gives back bytes, and the offset needs to be in chars. Additionally, it was discovered that there was a preexisting bug where the selection was not computed correctly in the case that the cursor was: 1. a single grapheme in width 2. this grapheme was more than one char 3. the direction of the cursor is backwards 4. a secondary range In this case, the offset was not being added into the anchor. This was fixed. * migrate auto pairs tests to integration * review comments
* feat(view): re-use align_view function (#4390)Matouš Dzivjak2022-10-20
|
* chore(view): remove indent_unit helper fn (#4389)Matouš Dzivjak2022-10-20
|
* Merge pull request #2267 from dead10ck/fix-write-failBlaž Hrastnik2022-10-20
|\ | | | | Write path fixes
| * reduce LSP timeout to 3sSkyler Hawthorne2022-10-19
| |
| * fail if doc save sender is closedSkyler Hawthorne2022-10-19
| |
| * Editor::flush_writes returns an errorSkyler Hawthorne2022-10-19
| |
| * doc.close() now unusedBlaž Hrastnik2022-10-19
| |
| * Wire up save_queue as a part of new_document rather than openBlaž Hrastnik2022-10-19
| |
| * Use a write_count to determine how many writes left to flushBlaž Hrastnik2022-10-19
| |
| * Deduplicate flush_writesBlaž Hrastnik2022-10-19
| |
| * Use a single save_queue on the editorBlaž Hrastnik2022-10-19
| |
| * review commentsSkyler Hawthorne2022-10-19
| |
| * remove Document::format_and_saveSkyler Hawthorne2022-10-19
| |
| * fix write scratch buffer to fileSkyler Hawthorne2022-10-19
| |
| * Save text in document saved events, use in status messageSkyler Hawthorne2022-10-19
| |
| * Rename doc save event names to past tenseSkyler Hawthorne2022-10-19
| |
| * fix erroneous write sender closeSkyler Hawthorne2022-10-19
| | | | | | | | | | | | This was not distinguishing the error types when trying a receive on an empty receiver, which was erroneously causing the sender to be closed when trying to flush the writes when there were none
| * increase LSP shutdown timeoutSkyler Hawthorne2022-10-19
| | | | | | | | The Clang LAP takes a long time to shut down on Windows
| * fix modified status with auto formatSkyler Hawthorne2022-10-19
| |
| * improve reliability of shutdownSkyler Hawthorne2022-10-19
| |
| * fix buffer-closeSkyler Hawthorne2022-10-19
| |
| * fix(write): do not set new path on document until write succeedsSkyler Hawthorne2022-10-19
| | | | | | | | | | | | If a document is written with a new path, currently, in the event that the write fails, the document still gets its path changed. This fixes it so that the path is not updated unless the write succeeds.
| * fix: buffer-close ensuring writesSkyler Hawthorne2022-10-19
| | | | | | | | Make sure buffer-close waits for the document to finish its writes.
| * chore(write): serialize write operations within a DocumentSkyler Hawthorne2022-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The way that document writes are handled are by submitting them to the async job pool, which are all executed opportunistically out of order. It was discovered that this can lead to write inconsistencies when there are multiple writes to the same file in quick succession. This seeks to fix this problem by removing document writes from the general pool of jobs and into its own specialized event. Now when a user submits a write with one of the write commands, a request is simply queued up in a new mpsc channel that each Document makes to handle its own writes. This way, if multiple writes are submitted on the same document, they are executed in order, while still allowing concurrent writes for different documents.
* | Merge pull request #4061 from pascalkuthe/undercurl-modifierBlaž Hrastnik2022-10-19
|\ \ | |/ |/| Support different kinds of underline rendering (updated)
| * merge underline-style and underline-color into a single tablePascal Kuthe2022-10-13
| |
| * adress review commentsPascal Kuthe2022-10-11
| |
| * make casing consistent with other configurationPascal Kuthe2022-10-06
| |
| * make underline_style a seperate optionPascal Kuthe2022-10-01
| | | | | | | | | | | | | | | | | | | | Underline styles are mutally exclusive and overwrite each other. Therefore implementing as an modifier lead to incorrect behaviour when the underline style is overwritten. For backwards compatability the "underline" modified is retained (but deprecated). Instead the "underline_style" and "underline_color" optios should be used to style underlines.
| * Fix failing testsA-Walrus2022-10-01
| | | | | | | | Add underline field to doctests, and fix bugs
| * Add separate color for underlinesA-Walrus2022-10-01
| |
| * Support different kinds of underline renderingGokul Soumya2022-10-01
| | | | | | | | | | | | | | | | | | Adds four new modifiers that can be used in themes: - undercurled - underdashed - underdotted - double-underline
* | Make skip_levels a u8A-Walrus2022-10-17
| |
* | Fix rendering of lines longer than 2^16A-Walrus2022-10-17
| | | | | | | | | | Before things would be cast to u16 earlier than needed, which would cause problems for insanely long lines (longer than 2^16 ~ 65 thousand)
* | feat(csharp,debug): add C# debugger support (#4213)Filip Dutescu2022-10-15
| |
* | Apply transactions to the jumplist for undo/redo (#4227)Michael Davis2022-10-12
| | | | | | | | | | Undo/redo/earlier/later call `Document::apply_impl` which applies transactions to the document. These transactions also need to be applied to the view as in 0aedef0.
* | fix: remove unneeded allocations when calling helix_view::Info::newAlexis (Poliorcetics) Bourget2022-10-11
| |
* | Add a helper function for applying transactionsMichael Davis2022-10-11
| | | | | | | | | | | | It is easy to forget to call `Document::apply` and/or `View::apply` in the correct order. This commit introduces a helper function which closes over both calls.
* | Apply transactions to ViewsMichael Davis2022-10-11
| | | | | | | | | | | | This change adds View::apply calls for all Document::apply call-sites, ensuring that changes to a document do not leave invalid entries in the View's jumplist.