* compiler/sem*: better lineinfo for templates
Lineinfo for templates is inconsistant across the compiler, for example:
doAssert true
^ ^
a[int](10)
^^ ^
The `^` marks where the compiler thinks the template starts.
For qualified call, we got the same situation with `proc`s before #10427:
system.once
^
Generics lineinfo within template declaration is also incorrect, for
example, this is where the compiler believes the `T` in `[T]` is:
template a[T](b: T)
^
This PR addresses all of these problems.
* nimsuggest: add tests for template highlighting
9 lines
168 B
Nim
9 lines
168 B
Nim
doAssert true#[!]#
|
|
|
|
discard """
|
|
$nimsuggest --tester $1
|
|
>highlight $1
|
|
highlight;;skTemplate;;1;;0;;8
|
|
highlight;;skTemplate;;1;;0;;8
|
|
highlight;;skEnumField;;1;;9;;4
|
|
"""
|