| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(#18085)
|
| |
|
|
|
|
|
| |
* improve nimsuggest/tester
* koch improvements
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* basic stability improvements; refs nimsuggest
* fixed dot operator recursive loop & macro suggest
* hacky fix for run away dot operator sem check
Committing this mostly to make the issue more clear. Perhaps get better
feedback.
* semExprWithType seems like a better place to check
* fixed error messages const case expressions
* Clean-up test
* stopped the dot operator madness
No longer get infinite recursion when seming broken code with a dot
operator macro like in jsffi.
Co-authored-by: Araq <rumpf_a@web.de>
|
|
|
|
|
| |
* tables module use runnableExamples
* disable the tests
|
|
|
|
|
|
|
|
|
|
|
| |
* compilesettings: add libpath
* add test
* changelog
* fixup
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
| |
Already works this is simply to catch any regressions.
|
|
|
|
| |
* suggesting identifiers accounts context over scope (distance)
* key takeaway: context fit is prioritized over a heuristics like scope
|
|
|
|
| |
Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
|
|
|
|
| |
- con calls for dot exprs now returns results
- discovered an issue with dot expr results -- documented
|
|
|
|
| |
- previous code wasn't account for tyEnum being wrapped in tyTypeDesc
- now pure enum fields are suggested
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A number of nimsuggest tests were disabled for various reasons, sometimes due
to brittleness. These tests have been fixed where needed and most have are now
enabled -- details below. The updates are meant to provide better regression
coverage for future nimsuggest improvements. To avoid brittleness some tests
were refactored.
Impact:
* test coverage has now increased
* faster execution of the test suite
* tests are less likely to break due to stdlib changes
Re-enabled Test & Test Description:
* `tchk1.nim`: check (chk) via nimsuggest works at end of file
* `tdot4.nim`: prioritize already used completion
* `tinclude.nim`: definition lookup (def) with includes
* `tstrutils.nim` -> `tdef2.nim`: test template definition lookup (def)
* `tsug_regression.nim`: regression test for [nimsuggest #52](https://github.com/nim-lang/nimsuggest/issues/52)
* `ttemplate_highlight.nim`: per the file name
* `twithin_macro_prefix.nim`: suggest within a macro with a prefix
Tests Not Re-Enabled:
* `twithin_macro.nim` still disabled as it doesn't provide a good test signal
* EPC highlight tests remain disabled -- requires out of scope tester changes
Additional Notes:
* todos added in comments for follow-up work
|
| |
|
| |
|
|
|
|
| |
reality (#16057)
|
|
|
|
|
| |
* suggest: try to find the implementation of a symbol when def is used
* suggest: return all declarations of the symbol on `def`
|
| |
|
|
|
| |
* fix a bug that prevented nim doc compiler/nim on windows
|
|
|
|
|
|
|
| |
* Change severity of template instatiation msg
* Add a test
* Trailing newline argh
|
|
|
|
| |
* Handle nimsuggest in tryExpr
* Added test
|
|
|
|
|
|
|
| |
This pragma did nothing.
Ref:
- https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469
- https://github.com/nim-lang/Nim/issues/12975
|
|
|
|
|
|
| |
The operator fetching proc is greedy, so operators such as `%*` in
expression `%*{}` can't be highlighted.
This commit fixes that.
|
| |
|
| |
|
|
|
|
|
| |
* fix .deprecated. object typedef crash
* fixup a test that i don't understand
* disable the test rather than debug ci
|
|
|
|
|
|
|
|
| |
This reverts commit a974684b149faa19645f1e18b7b11aa67f169997.
The CRLF was to separate between each response, and removing them causes
the responses to not be splitted correctly.
I didn't notice that it was in a loop when I made the #13545.
|
|
|
| |
This is already sent by replTcp after the message is sent.
|
|
|
|
| |
a few magic numbers with consts (#13170)
|
| |
|
| |
|
|
|
| |
This allows for the type of a variable to be retrieved.
|
|
|
|
|
|
|
| |
The line info should now points to the `a`, not the `*`, like this:
a*: string
^
Additionally this fixes nimsuggest's highlighting of exported object
fields.
|
| |
|
|
|
|
|
|
|
| |
This can be used to let nimsuggest users know which project is
nimsuggest being in charge of, so they can know when should a new
nimsuggest instance be spawned.
An additional feature is to debug the project file finding feature.
|
| |
|
|
|
|
|
|
|
|
| |
Same as e9fa4c9b9c8e2926449399a69a02676936bb842c, but for the epc
backend which is used by emacs and vscode plugin.
Since the EPC backend only deal with one connection per nimsuggest
instance, only one socket is leaked, thus not as servere as with the tcp
backend.
|
|
|
|
|
|
| |
A new socket is created for each iteration and leak immediately thanks
to the accept() call replacing the created socket with the client socket.
This commit fixes that.
|
| |
|
|
|
|
| |
* fixes #12125
|
| |
|
|
|
|
|
|
| |
The default starting parameters for `line` and `col` were switched.
See line 141: "line starts at 1, column at 0, dirtyfile is optional".
Also, in `TLineInfo` object, `line` is uint16, `col` is int16.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#11385)
* make fullpaths the default in error messages and stack traces for more convenient development
* split up -d:release into -d:release and -d:danger flags
* workaround a Nim config parser bug
* fixes an old nim config parser bug
* make megatest green again
* make nimpretty tests work again
* make nimsuggest green
|
| |
|
|
|
|
|
| |
* allow void macro result
* add test for void macro result type
|
|
|
|
|
| |
* move assertions and iterators out of system.nim
* limit nimsuggest tests to the first 3 suggestions
|