My own NEd editor works really bad when many generics are used, so I wrote the rtree module with plain gedit without any special Nim support. Unfortunately my editor has the same problems when I only import rtree module -- for a file with only 700 lines of code and gtk3 and rtree import it blocks often for more than 10 seconds.
Generally nimsuggest works great for me, nearly no crashes any more. But these blocking is really not that nice, for example when I press CTRL E to check for errors, or sometimes also when I only move the cursor and nimsuggest tries to show information about proc under cursor. I just tried to remember how nimsuggest can be used from console and tried $ nimsuggest --stdin test.nim > chk test.nim:0:0 Run with file [https://github.com/StefanSalewski/RTree/blob/master/tests/test.nim](https://github.com/StefanSalewski/RTree/blob/master/tests/test.nim) which of course compiles and works fine, nim ckeck test.nim is also fine. That also blocks for at least 10 seconds with output finally > chk test.nim:0:0 chk skUnknown Hint ??? 0 -1 "test [Processing]" 0 chk skUnknown Hint /home/stefan/.nimble/pkgs/rtree-0.2.0/rtree.nim 460 15 "condition is always true: \'t of RTree[8, 2, RT, LT]\' [CondTrue]" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 110 66 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4315 17 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 85 18 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 85 18 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 85 18 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 90 14 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4315 17 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 90 14 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 90 14 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Error /tmp/test.nim 31 8 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 134 20 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 117 12 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 90 14 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system.nim 4318 10 "template/generic instantiation from here" 0 chk skUnknown Error /home/stefan/Nim/lib/system/dollars.nim 86 68 "type mismatch" 0 chk skUnknown Hint /home/stefan/.nimble/pkgs/rtree-0.2.0/rtree.nim 615 9 "condition is always true: \'t of RTree[8, 2, RT, LT]\' [CondTrue]" 0 chk skUnknown Hint /tmp/test.nim 53 6 "\'bt\' is declared but not used [XDeclaredButNotUsed]" 0 > Run I think there are some editors available which support PMunch LanguageServerProtocol, like neoVim. May these work better with generics?