summary refs log tree commit diff stats
path: root/nimsuggest
Commit message (Collapse)AuthorAgeFilesLines
* fixes nim-lang/nimsuggest#119 outline includes (#16608)Saem Ghani2021-01-061-2/+8
| | | | | | 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
* nimsuggest: fix and re-enable old tests (#16401)Saem Ghani2020-12-2719-376/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* use hexchar in stdlib (#16290)flywind2020-12-171-8/+2
|
* cmdline: improve command processing (#16056)Timothee Cour2020-11-261-2/+2
|
* rename loadConfigsAndRunMainCommand => loadConfigsAndProcessCmdLine, reflect ↵Timothee Cour2020-11-201-2/+2
| | | | reality (#16057)
* suggest: try to find the implementation of a symbol when def is used (#15555)alaviss2020-10-141-0/+13
| | | | | * suggest: try to find the implementation of a symbol when def is used * suggest: return all declarations of the symbol on `def`
* refactoring: removed cmdlinehelper.mainCommand callbackAndreas Rumpf2020-10-111-6/+8
|
* * honor --errorMax even for tools (eg drnim, nim doc) (#14546)Timothee Cour2020-06-021-4/+2
| | | * fix a bug that prevented nim doc compiler/nim on windows
* Change severity of template instantiation message [backport] (#14526)Danil Yarantsev2020-06-011-0/+13
| | | | | | | * Change severity of template instatiation msg * Add a test * Trailing newline argh
* Fix `compiles` for nimsuggest [backport] (#14527)Danil Yarantsev2020-06-011-0/+8
| | | | * Handle nimsuggest in tryExpr * Added test
* Remove the uses of {.procvar.} pragma (#14359)Kaushal Modi2020-05-151-7/+7
| | | | | | | This pragma did nothing. Ref: - https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469 - https://github.com/nim-lang/Nim/issues/12975
* compiler/suggest: highlight squashed operators (#11796)alaviss2020-04-201-0/+11
| | | | | | The operator fetching proc is greedy, so operators such as `%*` in expression `%*{}` can't be highlighted. This commit fixes that.
* fix deprecations and other warnings (#13748)Miran2020-03-251-3/+3
|
* fix nimsuggest warning (#13699)Jasper Jenkins2020-03-203-7/+4
|
* fix .deprecated. object typedef crash (#13643)Andy Davidoff2020-03-162-8/+7
| | | | | * fix .deprecated. object typedef crash * fixup a test that i don't understand * disable the test rather than debug ci
* Revert "nimsuggest: don't add CRLF to replies (#13545)" (#13597)alaviss2020-03-061-4/+4
| | | | | | | | 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.
* nimsuggest: don't add CRLF to replies (#13545)alaviss2020-03-041-4/+4
| | | This is already sent by replTcp after the message is sent.
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-1/+0
| | | | a few magic numbers with consts (#13170)
* fix nimsuggest deprecation warnings (#12772)Jasper Jenkins2019-11-301-2/+2
|
* remove unused importsnarimiran2019-11-061-4/+3
|
* compiler/suggest: add variable support to `con` (#12569)alaviss2019-11-041-0/+12
| | | This allows for the type of a variable to be retrieved.
* compiler/semtypes: improve lineinfo for exported object fields (#12495)alaviss2019-10-251-0/+11
| | | | | | | 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.
* compiler/semcall: return the correct lineinfo for nkCallStrLit (#12484)alaviss2019-10-241-0/+11
|
* nimsuggest: add a command that returns the project file (#12411)alaviss2019-10-111-1/+10
| | | | | | | 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.
* nimsuggest: add option to force finding the project file (#12409)alaviss2019-10-111-1/+10
|
* nimsuggest: fix tcp socket leak for epc backend (#12384) [backport]alaviss2019-10-081-1/+1
| | | | | | | | 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.
* nimsuggest: fix tcp socket leak (#12377) [backport]alaviss2019-10-081-1/+1
| | | | | | 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.
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-272-2/+2
|
* fixes #12125 (#12131)Andreas Rumpf2019-09-061-0/+0
| | | | * fixes #12125
* minor style changesAraq2019-07-112-10/+10
|
* [bugfix] fix #11482, fix nimsuggest range error (#11519)Miran2019-06-171-2/+2
| | | | | | 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.
* [other] nimsuggest: adhere to our style guideAraq2019-06-131-2/+2
|
* make fullpaths the default in error messages and stack traces for mor… ↵Andreas Rumpf2019-06-051-0/+1
| | | | | | | | | | | | (#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
* update nimsuggestAraq2019-05-271-39/+15
|
* Allow void macro result (#11286)Arne Döring2019-05-211-1/+1
| | | | | * allow void macro result * add test for void macro result type
* move assertions and iterators out of system.nim (#10597)Miran2019-03-072-3/+2
| | | | | * move assertions and iterators out of system.nim * limit nimsuggest tests to the first 3 suggestions
* nimsuggest: make use project file name if none given for 'sug' command; ↵Andreas Rumpf2019-03-041-4/+8
| | | | allows for more convenient debugging
* StringStream and parseJson, parseCfg, parseSql et al for the vm (#10746)Arne Döring2019-02-281-30/+25
|
* better docs: osproc (#10708)Miran2019-02-192-3/+3
| | | | | * better docs: osproc * fix a typo in the docs, deprecate "demon"
* document proper imports, fixes #8164 (#10698)Miran2019-02-191-0/+2
|
* compiler/types: correctly generates signature for non-proc types (#10658)alaviss2019-02-131-0/+12
| | | | This makes signatures generated for nimsuggest correctly distinguish template/macro/converter from proc.
* nimsuggest: only log when logging is enabled (#10646)alaviss2019-02-131-2/+2
| | | fixes #6199
* compiler/[msgs, suggest]: improve highlighter accuracy (#10496)alaviss2019-02-072-0/+21
| | | | | | | | | | 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-0/+10
|
* semcall: correct lineinfo for accquoted symbols (#10461)alaviss2019-01-271-0/+2
|
* compiler/sem: correct macros lineinfo (#10438)alaviss2019-01-241-0/+13
| | | | | | | | | The compiler believes these are where a macro call starts (marked with `^`): m "string" ^ ^ This commit addresses that.
* compiler/sem*: better lineinfo for templates (#10428)alaviss2019-01-233-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compiler/sem*: better lineinfo for templates Lineinfo for templates is inconsistant across the compiler, for example: doAssert true ^ ^ a[int](10) ^^ ^ The `^` marks where the compiler thinks the template starts. For qualified call, we got the same situation with `proc`s before #10427: system.once ^ Generics lineinfo within template declaration is also incorrect, for example, this is where the compiler believes the `T` in `[T]` is: template a[T](b: T) ^ This PR addresses all of these problems. * nimsuggest: add tests for template highlighting
* nimsuggest/tester: disable highlight tests for epc (#10426)alaviss2019-01-233-2/+4
| | | | The EPC backend of nimsuggest currently doesn't support nimsuggest highlighter, see nim-lang/nim-mode#140
* compiler/sem*: improve lineinfo for qualified and generic procs (#10427)alaviss2019-01-232-0/+27
| | | | | | | | | | | | | | | | Previously the compiler will believe these are where `newSeq` symbol starts: newSeq[int]() ^ system.newSeq[int]() ^ This commit moves them back to: newSeq[int]() ^ system.newSeq[int]() ^
* Correct lineinfo for accent quoted symbols in proc definition (#10399)alaviss2019-01-211-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compiler/parser: preserve lineinfo for accent quoted symbols Previously the lineinfo for symbol $$$ in this example is: proc `$$$` ^ After this commit: proc `$$$` ^ * compiler/semstmts: correct lineinfo for accent quoted idents Previously nimsuggest would highlight this as: proc `$$$` ^~~ After this commit: proc `$$$` ^~~ * nimsuggest/tests: add a test for accent quoted proc Disabled by default