compiler/sem*: better lineinfo for templates (#10428)
* 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
This commit is contained in:
parent
bad5ad6dc7
commit
35d96d8749
5 changed files with 27 additions and 9 deletions
|
|
@ -1,9 +1,12 @@
|
|||
system.echo#[!]#
|
||||
system.once
|
||||
|
||||
discard """
|
||||
disabled:true
|
||||
$nimsuggest --tester $file
|
||||
>highlight $1
|
||||
highlight;;skProc;;1;;7;;4
|
||||
highlight;;skProc;;1;;7;;4
|
||||
highlight;;skTemplate;;2;;7;;4
|
||||
highlight;;skTemplate;;2;;7;;4
|
||||
highlight;;skTemplate;;2;;7;;4
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue