summary refs log tree commit diff stats
path: root/tests/misc/tspellsuggest.nim
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-03-16 02:41:30 -0700
committerGitHub <noreply@github.com>2021-03-16 10:41:30 +0100
commit48eab5370a5e731059a7337f702b2bc42a3c4b79 (patch)
treefcb5214b6f183c8e3b6ad7fbb2d91ab047d58f72 /tests/misc/tspellsuggest.nim
parentd5eb658034a8a1fffefbc4acdf9cb89f9f741f95 (diff)
downloadNim-48eab5370a5e731059a7337f702b2bc42a3c4b79.tar.gz
fix #2844 #3911; add --spellsuggest to suggest symbols in scope with similar spellings on undefined symbol error (#16067)
* add --spellsuggest to suggest symbols in scope with similar spellings on undefined symbol errors
* implement --spellsuggest with 0 arguments
Diffstat (limited to 'tests/misc/tspellsuggest.nim')
-rw-r--r--tests/misc/tspellsuggest.nim45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/misc/tspellsuggest.nim b/tests/misc/tspellsuggest.nim
new file mode 100644
index 000000000..938be3460
--- /dev/null
+++ b/tests/misc/tspellsuggest.nim
@@ -0,0 +1,45 @@
+discard """
+  # pending bug #16521 (bug 12) use `matrix`
+  cmd: "nim c --spellsuggest:15 --hints:off $file"
+  action: "reject"
+  nimout: '''
+tspellsuggest.nim(45, 13) Error: undeclared identifier: 'fooBar'
+candidate misspellings (edit distance, lexical scope distance):
+ (1, 0): 'fooBar8' [var declared in tspellsuggest.nim(43, 9)]
+ (1, 1): 'fooBar7' [var declared in tspellsuggest.nim(41, 7)]
+ (1, 3): 'fooBar1' [var declared in tspellsuggest.nim(33, 5)]
+ (1, 3): 'fooBar2' [let declared in tspellsuggest.nim(34, 5)]
+ (1, 3): 'fooBar3' [const declared in tspellsuggest.nim(35, 7)]
+ (1, 3): 'fooBar4' [proc declared in tspellsuggest.nim(36, 6)]
+ (1, 3): 'fooBar5' [template declared in tspellsuggest.nim(37, 10)]
+ (1, 3): 'fooBar6' [macro declared in tspellsuggest.nim(38, 7)]
+ (1, 5): 'FooBar' [type declared in mspellsuggest.nim(5, 6)]
+ (1, 5): 'fooBar4' [proc declared in mspellsuggest.nim(1, 6)]
+ (1, 5): 'fooBar9' [var declared in mspellsuggest.nim(2, 5)]
+ (1, 5): 'fooCar' [var declared in mspellsuggest.nim(4, 5)]
+ (2, 5): 'FooCar' [type declared in mspellsuggest.nim(6, 6)]
+ (2, 5): 'GooBa' [type declared in mspellsuggest.nim(7, 6)]
+ (3, 0): 'fooBarBaz' [const declared in tspellsuggest.nim(44, 11)]
+'''
+"""
+
+# tests `--spellsuggest:num`
+
+
+
+# line 30
+import ./mspellsuggest
+
+var fooBar1 = 0
+let fooBar2 = 0
+const fooBar3 = 0
+proc fooBar4() = discard
+template fooBar5() = discard
+macro fooBar6() = discard
+
+proc main =
+  var fooBar7 = 0
+  block:
+    var fooBar8 = 0
+    const fooBarBaz = 0
+    let x = fooBar