Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: helix-editor/helix Loading
base: 3feb2a28029d778ddeaa01b8defbc77ca8c322a5
Choose a base ref
...
head repository: helix-editor/helix Loading
compare: f19fb10054b9dc2b30c12a0ff31c85f17c268e55
Choose a head ref
  • 20 commits
  • 41 files changed
  • 9 contributors

Commits on Mar 10, 2023

  1. allow LSP insert text to replace non-matching prefixes (#5469)

    Most LSPs will complete case-insensitive matches, particularly from
    lowercase to uppercase.  In some cases, notably Pyright, this is given
    as a simple insert text instead of TextEdit.  When this happens, the
    prefix text was left unedited.
    Taylor C. Richberger authored and archseer committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    9b4326b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e91289f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cdec933 View commit details
    Browse the repository at this point in the history
  4. Add API to create a Transaction from potentially overlapping changes

    This commit adds new functions to `Transaction` that allow creating
    edits that might potentially overlap. Any change that overlaps
    previous changes is ignored. Furthermore, a utility method is added
    that also drops selections associated with dropped changes (for
    transactions that are created from a selection).
    
    This is needed to avoid crashes when applying multicursor
    autocompletions, as the edit from a previous cursor may overlap
    with the next cursor/edit.
    pascalkuthe authored and archseer committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    2b64a64 View commit details
    Browse the repository at this point in the history
  5. fix snippet bugs and multicursor completion edgecases

    Multicursor completions may overlap and therefore overlapping
    completions must be dropped to avoid crashes. Furthermore, multicursor
    edits might simply be out of range if the word before/after the cursor
    is shorter. This currently leads to crashes, instead these selections
    are now also removed for completions.
    
    This commit also significantly refactors snippet transaction generation
    so that tabstops behave correctly with the above rules. Furthermore,
    snippet tabstops need to be carefully mapped to ensure their position
    is correct and consistent with our selection semantics. Finally,
    we now keep a partially updated Rope while creating snippet
    transactions so that we can fill information into snippets that
    depends on the position in the document.
    pascalkuthe authored and archseer committed Mar 10, 2023
    Configuration menu
    Copy the full SHA
    b1f7528 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d63e570 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    98415f2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1661e4b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3907358 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3d230e7 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2023

  1. Feat: LSP Type Hints (#5934)

    * misc: missing inline, outdated link
    
    * doc: Add new theme keys and config option to book
    
    * fix: don't panic in Tree::try_get(view_id)
    
    Necessary for later, where we could be receiving an LSP response
    for a closed window, in which case we don't want to crash while
    checking for its existence
    
    * fix: reset idle timer on all mouse events
    
    * refacto: Introduce Overlay::new and InlineAnnotation::new
    
    * refacto: extract make_job_callback from Context::callback
    
    * feat: add LSP display_inlay_hint option to config
    
    * feat: communicate inlay hints support capabilities of helix to LSP server
    
    * feat: Add function to request range of inlay hint from LSP
    
    * feat: Save inlay hints in document, per view
    
    * feat: Update inlay hints on document changes
    
    * feat: Compute inlay hints on idle timeout
    
    * nit: Add todo's about inlay hints for later
    
    * fix: compute text annotations for current view in view.rs, not document.rs
    
    * doc: Improve Document::text_annotations() description
    
    * nit: getters don't use 'get_' in front
    
    * fix: Drop inlay hints annotations on config refresh if necessary
    
    * fix: padding theming for LSP inlay hints
    
    * fix: tracking of outdated inlay hints should not be dependant on document revision (because of undos and such)
    
    * fix: follow LSP spec and don't highlight padding as virtual text
    
    * config: add some LSP inlay hint configs
    poliorcetics committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    bdcd4d9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    171d28d View commit details
    Browse the repository at this point in the history
  3. fix: C++ namespace indentation

    fixes #6235
    archseer committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    81601b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7479261 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    72e3174 View commit details
    Browse the repository at this point in the history
  6. print doc state during tests

    dead10ck committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    aaf6708 View commit details
    Browse the repository at this point in the history
  7. refactor test editor config

    dead10ck committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    8614b91 View commit details
    Browse the repository at this point in the history
  8. Allow explicit newlines in test DSL

    The current test DSL currently has no way to express being at the end of
    a line, save for putting an explicit LF or CRLF inside the `#[|]#`. The
    problem with this approach is that it can add unintended extra new lines
    if used in conjunction with raw strings, which insert newlines for you.
    
    This is a simple attempt to mitigate this problem. If there is an
    explicit newline character at the end of the selection, and then it
    is immediately followed by the same newline character at the right end
    of the selection, this following newline is removed. This way, one can
    express a cursor at the end of a line explicitly.
    dead10ck committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    0f98482 View commit details
    Browse the repository at this point in the history
  9. fix test::plain

    test::plain uses char indices when it should use byte indices
    dead10ck committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    d4eef5c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f19fb10 View commit details
    Browse the repository at this point in the history
Loading