summary refs log tree commit diff stats
path: root/compiler/suggest.nim
diff options
context:
space:
mode:
authoralaviss <alaviss@users.noreply.github.com>2019-01-28 15:29:49 +0700
committerAndreas Rumpf <rumpf_a@web.de>2019-01-28 09:29:49 +0100
commit74a7b0941252d64d2b3f5093af6986a54220c7d8 (patch)
tree829e917b54e58f492c8613e87e6aeb59dc3742c6 /compiler/suggest.nim
parent690f21043d7c1cad321e116fdc666b2951ba1da3 (diff)
downloadNim-74a7b0941252d64d2b3f5093af6986a54220c7d8.tar.gz
suggest: quote operators and keywords on suggestion (#10460)
Diffstat (limited to 'compiler/suggest.nim')
-rw-r--r--compiler/suggest.nim8
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/suggest.nim b/compiler/suggest.nim
index f3f960136..09eacbbed 100644
--- a/compiler/suggest.nim
+++ b/compiler/suggest.nim
@@ -33,7 +33,7 @@
 # included from sigmatch.nim
 
 import algorithm, prefixmatches, lineinfos, pathutils
-from wordrecg import wDeprecated, wError
+from wordrecg import wDeprecated, wError, wAddr, wYield, specialWords
 
 when defined(nimsuggest):
   import passes, tables # importer
@@ -109,7 +109,11 @@ proc symToSuggest(conf: ConfigRef; s: PSym, isLocal: bool, section: IdeCmd, info
         result.qualifiedPath.add(ow2.origModuleName)
       if ow != nil:
         result.qualifiedPath.add(ow.origModuleName)
-    result.qualifiedPath.add(s.name.s)
+    if s.name.s[0] in OpChars + {'[', '{', '('} or
+       s.name.id in ord(wAddr)..ord(wYield):
+      result.qualifiedPath.add('`' & s.name.s & '`')
+    else:
+      result.qualifiedPath.add(s.name.s)
 
     if s.typ != nil:
       result.forth = typeToString(s.typ)