Skip to content

The current positionmappings is composing in the wrong way in lastValueIO #3919

Closed
@soulomoon

Description

@soulomoon

I discover the problem when developing Semantic tokens

          I observed a bizzared behaviour when using possition mappings
          in vscode.
          in the first 6 space insert, the using possition mapping to ident the code seems to be working,
          Then the column at the start position stop to update
          ```
          Range {_start = Position {_line = 139, _character = 16}, _end = Position {_line = 139, _character = 25}} spanNames_atz7
          Range {_start = Position {_line = 139, _character = 17}, _end = Position {_line = 139, _character = 26}} spanNames_atz7
          Range {_start = Position {_line = 139, _character = 17}, _end = Position {_line = 139, _character = 27}} spanNames_atz7
          ```
          
          <img width="259" alt="Screenshot 2023-12-23 at 13 19 25" src="https://github.com/haskell/haskell-language-server/assets/14073857/3e98cb7f-9f45-4c60-a37a-e499b3cca129">
          
          here is another one
          ```
          Range {_start = Position {_line = 25, _character = 13}, _end = Position {_line = 25, _character = 19}} xxxxx_aTsW
          Range {_start = Position {_line = 25, _character = 13}, _end = Position {_line = 25, _character = 20}} xxxxx_aTsW
          # with
          [TextDocumentContentChangeEvent (InL (#range .== Range {_start = Position {_line = 25, _character = 9}, _end = Position {_line = 25, _character = 9}} .+ #rangeLength .== Just 0 .+ #text .== " "))]
          ```

Originally posted by @soulomoon in #3892 (comment)
When useWithStale, the old delta is mistakenly be considered as new.
I will open a pull request to fix this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triagetype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions