summary refs log tree commit diff stats
path: root/compiler/suggest.nim
Commit message (Collapse)AuthorAgeFilesLines
* nimsuggest prioritize non-deprecated suggestions (#16816)Saem Ghani2021-01-291-15/+27
| | | | | | | | | | | * penalizes the quality score of deprecated symbols * uses quality more pervasively in order to reflect deprecation impact * impacts both sug and con additional notes: * linux i386 CI was failing * this is because the suggested results differ slightly in their sort * 64 bit tables.getOrDefault:441 was returned, while 32 bit returned 422 * for now simply removing the last line is good enough
* fixed nim-lang/nimsuggest#48 type aware sug (#16814)Saem Ghani2021-01-251-2/+7
| | | | * suggesting identifiers accounts context over scope (distance) * key takeaway: context fit is prioritized over a heuristics like scope
* fixes nim-lang/nimsuggest#103 con dot exprs (#16657)Saem Ghani2021-01-121-0/+1
| | | | - con calls for dot exprs now returns results - discovered an issue with dot expr results -- documented
* fixed nim-lang/nimsuggest#82 pure enum field sug (#16676)Saem Ghani2021-01-111-10/+11
| | | | - previous code wasn't account for tyEnum being wrapped in tyTypeDesc - now pure enum fields are suggested
* IC: next steps (#16550)Andreas Rumpf2021-01-071-38/+39
| | | | | | | | | | | | | | | | | | * cleanups * ast.nim: cleanups * IC: no more sym.tab field, stored externally in the module graph * nimble compiles again * rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly * rodfiles: added compilerproc and export sections * rodfiles: added all the missing sections * rodfiles: track the missing information * IC: architecture for lazy loading of proc bodies * make tests green again * completed the lazy loading of proc bodies * symbol lookup integration, part 1 * symbol lookup integration, part 2 * symbol lookup integration, part 3 * make tcompilerapi work again * rodfiles: fixed config change handling
* fixes nim-lang/nimsuggest#119 outline includes (#16608)Saem Ghani2021-01-061-3/+13
| | | | | | nimsuggest outline should account for includes, now it does: - the module prefix will be of the module doing the including - the filename will be of the module that was included - adds a test case for it
* refactorings to prepare the compiler for IC (#15935)Andreas Rumpf2020-12-171-33/+17
| | | | | | | | | | | | | | * added ic specific Nim code; WIP * make the symbol import mechanism lazy; WIP * ensure that modules can be imported multiple times * ambiguity checking * handle converters and TR macros properly * make 'enum' test category green again * special logic for semi-pure enums * makes nimsuggest tests green again * fixes nimdata * makes nimpy green again * makes more important packages work
* suggest: try to find the implementation of a symbol when def is used (#15555)alaviss2020-10-141-7/+15
| | | | | * suggest: try to find the implementation of a symbol when def is used * suggest: return all declarations of the symbol on `def`
* Big compiler Cleanup (#14777)Clyybber2020-08-281-1/+1
|
* compiler: minor code cleanupsAraq2020-07-271-1/+1
|
* fix #11009 (#14935)flywind2020-07-091-1/+6
|
* Clean out oldast (#14837)Juan Carlos2020-06-301-4/+1
| | | | * Clean out old Deprecated CLI switch * Update to remove --oldast CLI option
* compiler/suggest: highlight squashed operators (#11796)alaviss2020-04-201-3/+7
| | | | | | The operator fetching proc is greedy, so operators such as `%*` in expression `%*{}` can't be highlighted. This commit fixes that.
* make `usage of foo is a user-defined error` more informative (#13833)Timothee Cour2020-04-011-3/+5
|
* fix .deprecated. object typedef crash (#13643)Andy Davidoff2020-03-161-3/+5
| | | | | * fix .deprecated. object typedef crash * fixup a test that i don't understand * disable the test rather than debug ci
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-30/+28
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* compiler/suggest: add variable support to `con` (#12569)alaviss2019-11-041-1/+9
| | | This allows for the type of a variable to be retrieved.
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-5/+5
| | | | | * Remove sonsLen * Use Indexable
* fixes nimsuggest/#108: RangeError with d:releasenarimiran2019-09-041-1/+1
|
* new gensym handling (#11985)Andreas Rumpf2019-08-231-3/+3
| | | | | | | | | | | * new .gensym implementation * make astspec test green again * introduce a --useVersion switch to group compatibility switches * fixes #10180 * fixes #11494 * fixes #11483 * object constructor fields and named parameters are also not gensym'ed * disabled broken package
* fixes 'unused module' feature for 32 bit builds of Nim for good [nobackport]Araq2019-08-091-2/+2
|
* [refactoring] compiler: simplified markUsedAndreas Rumpf2019-08-081-2/+2
|
* fixes #11809Andreas Rumpf2019-08-081-1/+2
|
* Merge branch 'devel' into araq-detect-unused-importsAndreas Rumpf2019-07-181-2/+2
|\
| * [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-2/+2
| |
* | [feature] detect unused importsAraq2019-07-171-1/+16
|/
* minor style changesAraq2019-07-111-1/+1
|
* nim styleChecker: implemented all the missing features (bugfix)Araq2019-07-101-1/+3
|
* rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227)Arne Döring2019-05-111-3/+3
|
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-3/+3
|
* Less warnings in macros (#10799)Arne Döring2019-03-111-4/+0
|
* make nimsuggest aware of tyOwnedAndreas Rumpf2019-02-251-1/+1
|
* 32 bit fixes (#10608)Arne Döring2019-02-131-1/+1
|
* compiler/[msgs, suggest]: improve highlighter accuracy (#10496)alaviss2019-02-071-2/+37
| | | | | | | | | | Previously the compiler would generate suggestions based on the symbol identifier length, but that might not reflect the actual representation of it within the actual source code. This commit implements a simple source scanner for the suggest module to address the problem outlined above. Fixes nim-lang/nimsuggest#24
* suggest: quote operators and keywords on suggestion (#10460)alaviss2019-01-281-2/+6
|
* {.deprecated: msg.} now works for vars and lets (#10234)Neelesh Chandola2019-01-081-2/+6
|
* Deprecate gc v2 (#10151)Neelesh Chandola2019-01-011-2/+2
| | | | | | * Deprecate gc v2 * warnDeprecated now has custom messages
* Before showing deprecated warning, check whether enum field was marked ↵Neelesh Chandola2018-12-301-2/+2
| | | | deprecated or the whole enum type (#10135)
* Show deprecation warning for fields of a deprecated enum (#10112)Neelesh Chandola2018-12-301-3/+8
| | | | | | * Show deprecation warning for fields of a deprecated enum * Add test
* make Nim take roughly 100MB less RAM for bootstrapping via a new compiler ↵Andreas Rumpf2018-11-071-2/+2
| | | | switch -d:leanCompiler; useful for the Raberry PI
* .error for routines now can also have a custom error message; improve error ↵Araq2018-09-251-11/+20
| | | | message for 'nil' strings
* compiler refactoring; use typesafe path handing; docgen: render symbols ↵Andreas Rumpf2018-09-071-2/+2
| | | | between modules
* make nimsuggest compile againAndreas Rumpf2018-08-231-1/+1
|
* fixes merge conflictAraq2018-08-231-7/+16
|\
| * More robust handling of deprecated pragmas (#8696)LemonBoy2018-08-211-7/+16
| | | | | | | | | | | | Prevent `deprecated` annotations to "slip" up to the parent module and warn about unsupported annotations. Accidentally fixes #7867
* | even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-1/+1
|/
* incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-1/+1
|
* ensure compiler API doesn't import the RST engineAndreas Rumpf2018-05-291-2/+2
|
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-77/+52
|
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-2/+2
|