haskell / haskell/haskell-language-server
Incorrect symbol range from documentSymbol
- Dominant language
- Haskell
- Stars
- 3k
- Forks
- 455
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 11
Description
### Your environment
Which OS do you use: Ubuntu, though this has also been seen on MacOS
Which LSP client (editor/plugin) do you use: Neovim builtin
Describe your project (alternative: link to the project): Repros in minimal project, detailed below
### Steps to reproduce
- `cabal init` to create a new project
- Open the Main.hs file
- Send a `textDocument/documentSymbol` request
Main.hs:
```hs
module Main where
main :: IO ()
main = putStrLn "Hello, Haskell!"
```
### Expected behaviour
Data returned should match the file
### Actual behaviour
```
{ {
children = { {
kind = 12,
name = "main",
range = {
end = {
character = 33,
line = 3
},
start = {
character = 0,
line = 3
}
},
selectionRange = {
end = {
character = 33,
line = 3
},
start = {
character = 0,
line = 3
}
}
} },
kind = 1,
name = "Main",
range = {
end = {
character = 0,
line = 2147483647
},
start = {
character = 0,
line = 0
}
},
selectionRange = {
end = {
character = 11,
line = 0
},
start = {
character = 7,
line = 0
}
}
} }
```
The `line = 2147483647` is the problem. It was causing issues with a plugin I wrote because I wasn't being defensive when processing the line numbers.
https://github.com/stevearc/aerial.nvim/issues/101
### Include debug information
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.