Skip to content

Weird errors while trying to properly configure the ls #346

@Q-Master

Description

@Q-Master

I'm trying to configure nim ls in vs code. Seems that I'm doing something wrong because I'm constantly getting anything except working code highlighting.

The config I'm trying now is

    "nim.projectMapping": [
        {
            "projectFile": "gui-engine.nimble",
            "fileRegex": "src/.*\\.nim"
        }
    ]

This is the library code, so it has no one file which imports everything and exports all the functionality.

Most files are not showing any symbols and showing some weird errors like this:

[{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression '' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 14,
	"endLineNumber": 59,
	"endColumn": 14
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression '' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 14,
	"endLineNumber": 59,
	"endColumn": 14
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'nimscript' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 17,
	"endLineNumber": 59,
	"endColumn": 26
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "undeclared identifier: 'nimscript'\ncandidates (edit distance, scope distance); see '--spellSuggest': \n (3, 5): 'nimscriptapi'",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 17,
	"endLineNumber": 59,
	"endColumn": 117
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: '.'",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 26,
	"endLineNumber": 59,
	"endColumn": 27
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: '.'",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 26,
	"endLineNumber": 59,
	"endColumn": 27
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: 'paramCount'",
	"source": "nim",
	"startLineNumber": 59,
	"startColumn": 26,
	"endLineNumber": 59,
	"endColumn": 36
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "'let' symbol requires an initialization",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 7,
	"endLineNumber": 61,
	"endColumn": 10
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'nimscript' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 15,
	"endLineNumber": 61,
	"endColumn": 24
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: '.'",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 24,
	"endLineNumber": 61,
	"endColumn": 25
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: '.'",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 24,
	"endLineNumber": 61,
	"endColumn": 25
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: 'paramStr'",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 24,
	"endLineNumber": 61,
	"endColumn": 32
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression '' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 61,
	"startColumn": 33,
	"endLineNumber": 61,
	"endColumn": 33
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 62,
	"startColumn": 8,
	"endLineNumber": 62,
	"endColumn": 13
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 62,
	"startColumn": 8,
	"endLineNumber": 62,
	"endColumn": 13
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "type mismatch\nExpression: param[0]\n  [1] param: \n  [2] 0: int literal(0)\n\nExpected one of (first mismatch at [position]):\n[0] proc `[]`[I: Ordinal; T](a: T; i: I): T\n[1] proc `[]`(s: var string; i: BackwardsIndex): var char\n  expression 'param' is immutable, not 'var'\n[1] proc `[]`[A, B](t: var OrderedTable[A, B]; key: A): var B\n  expression 'param' is immutable, not 'var'\n[1] proc `[]`[A, B](t: var Table[A, B]; key: A): var B\n  expression 'param' is immutable, not 'var'\n[1] proc `[]`[Idx, T](a: var array[Idx, T]; i: BackwardsIndex): var T\n  expression 'param' is immutable, not 'var'\n[1] proc `[]`[T](s: var openArray[T]; i: BackwardsIndex): var T\n  expression 'param' is immutable, not 'var'\n[2] proc `[]`(s: string; i: BackwardsIndex): char\n[2] proc `[]`[Idx, T; U, V: Ordinal](a: array[Idx, T]; x: HSlice[U, V]): seq[T]\n[2] proc `[]`[Idx, T](a: array[Idx, T]; i: BackwardsIndex): T\n[2] proc `[]`[T, U: Ordinal](s: string; x: HSlice[T, U]): string\n[2] proc `[]`[T; U, V: Ordinal](s: openArray[T]; x: HSlice[U, V]): seq[T]\n[2] proc `[]`[T](s: openArray[T]; i: BackwardsIndex): T\n",
	"source": "nim",
	"startLineNumber": 62,
	"startColumn": 13,
	"endLineNumber": 62,
	"endColumn": 473
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 64,
	"startColumn": 29,
	"endLineNumber": 64,
	"endColumn": 34
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 66,
	"startColumn": 30,
	"endLineNumber": 66,
	"endColumn": 35
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 68,
	"startColumn": 26,
	"endLineNumber": 68,
	"endColumn": 31
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression 'param' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 70,
	"startColumn": 29,
	"endLineNumber": 70,
	"endColumn": 34
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "invalid pragma: strdefine",
	"source": "nim",
	"startLineNumber": 79,
	"startColumn": 20,
	"endLineNumber": 79,
	"endColumn": 21
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "invalid pragma: intdefine",
	"source": "nim",
	"startLineNumber": 80,
	"startColumn": 18,
	"endLineNumber": 80,
	"endColumn": 19
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "invalid pragma: intdefine",
	"source": "nim",
	"startLineNumber": 81,
	"startColumn": 18,
	"endLineNumber": 81,
	"endColumn": 19
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "invalid pragma: intdefine",
	"source": "nim",
	"startLineNumber": 82,
	"startColumn": 18,
	"endLineNumber": 82,
	"endColumn": 19
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "undeclared identifier: 'getEnv'\ncandidates (edit distance, scope distance); see '--spellSuggest': \n (3, 4): 'dedent'\n (3, 4): 'rawEnv'\n (3, 4): 'setLen'",
	"source": "nim",
	"startLineNumber": 249,
	"startColumn": 10,
	"endLineNumber": 249,
	"endColumn": 137
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "expression '' has no type (or is ambiguous)",
	"source": "nim",
	"startLineNumber": 249,
	"startColumn": 16,
	"endLineNumber": 249,
	"endColumn": 16
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call undeclared routine: 'getEnv'",
	"source": "nim",
	"startLineNumber": 249,
	"startColumn": 16,
	"endLineNumber": 249,
	"endColumn": 22
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call routine: 'getEnv'\n  found 'getEnv' [unknown declared in /home/qmaster/.cache/nimlangserver/nimscriptapi.nim(249, 10)]",
	"source": "nim",
	"startLineNumber": 249,
	"startColumn": 16,
	"endLineNumber": 249,
	"endColumn": 39
},{
	"resource": "/home/qmaster/.cache/nimlangserver/nimscriptapi.nim",
	"owner": "_generated_diagnostic_collection_name_#0",
	"code": "nimsuggest chk",
	"severity": 8,
	"message": "attempting to call routine: 'getEnv'\n  found 'getEnv' [unknown declared in /home/qmaster/.cache/nimlangserver/nimscriptapi.nim(249, 10)]",
	"source": "nim",
	"startLineNumber": 249,
	"startColumn": 16,
	"endLineNumber": 249,
	"endColumn": 39
}]

The existing documentation is not describing how should library projects be configured.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions