aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1368bors[bot]2019-06-023-26/+28
|\ | | | | | | | | | | | | | | | | | | 1368: Store referece instead of full token tree in tokenbuffer r=matklad a=edwin0cheng This PR try to minimize the memory allocation in converting `SyntaxNode` to `TokenTree` by using reference isnteead of full token tree in `TokenBuffer`. Note that the final goal is replace `TokenTree` with TokenBuffer such that there is no conversion between them. Co-authored-by: Edwin Cheng <[email protected]>
| * unnecessary paranthesisEdwin Cheng2019-06-021-1/+1
| |
| * Store referece in tokenbufferEdwin Cheng2019-06-023-26/+28
| |
* | Merge #1367bors[bot]2019-06-021-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 1367: collect macro queries r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | collect macro queriesAleksey Kladov2019-06-021-0/+3
|/ /
* | Merge #1362bors[bot]2019-06-0217-98/+186
|\ \ | | | | | | | | | | | | | | | | | | | | | 1362: Introduce AST database r=matklad a=matklad The idea here is to separate fragile bits which look into the syntax directly from robust bits which are safe across reparses. This uses the new `salsa::requires` featue Co-authored-by: Aleksey Kladov <[email protected]>
| * | add AstDatabaseAleksey Kladov2019-06-0217-98/+186
|/ /
* | Merge #1366bors[bot]2019-06-021-0/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | 1366: collect types and bodies r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | collect types and bodiesAleksey Kladov2019-06-011-0/+4
| | |
* | | Merge #1363bors[bot]2019-06-014-19/+11
|\| | | |/ |/| | | | | | | | | | | 1363: some work on memory r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * collect impl source mapsAleksey Kladov2019-06-013-11/+2
| |
| * don't cache ast_id_to_nodeAleksey Kladov2019-06-012-1/+1
| |
| * show macro expanded trees in the stats as wellAleksey Kladov2019-06-011-7/+8
|/
* Merge #1360bors[bot]2019-06-016-9/+55
|\ | | | | | | | | | | | | | | | | | | 1360: Improve goto definition for MBE r=matklad a=edwin0cheng This PR improve the macro resolution for goto definition and expression macro invocation by using proper path resolution for external macros. Co-authored-by: Edwin Cheng <[email protected]>
| * Improve goto definition for MBEEdwin Cheng2019-06-016-9/+55
| |
* | Merge #1359bors[bot]2019-06-012-3/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 1359: don't poison mutex around chalk r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | don't poison mutex around chalkAleksey Kladov2019-06-012-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | We use panics for cancellation, so we could trigger panic while holding the solver. std::sync::Mutex will be poisoned as a result, which and all further attempts to use solver (from other threads) will panic as well. This commit switches to parking_lot::Mutex which just unlocks on panic.
* | | Merge #1358bors[bot]2019-06-017-91/+94
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1358: apply profile filter to top-level entries only r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | apply profile filter to top-level entries onlyAleksey Kladov2019-06-011-7/+6
| | |
| * | renameAleksey Kladov2019-06-016-80/+86
| | |
| * | move subs insideAleksey Kladov2019-06-011-4/+2
|/ /
* | Merge #1356bors[bot]2019-05-315-187/+263
|\ \ | |/ |/| | | | | | | | | | | 1356: move completed requests to a separate file r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use sync queries for join lines and friendsAleksey Kladov2019-05-311-5/+11
| |
| * add sync requestsAleksey Kladov2019-05-312-43/+56
| |
| * cleanupAleksey Kladov2019-05-311-39/+42
| |
| * cleanupAleksey Kladov2019-05-311-35/+48
| |
| * simplifyAleksey Kladov2019-05-311-51/+52
| |
| * move completed requests to a separate fileAleksey Kladov2019-05-315-80/+114
| |
| * simplifyAleksey Kladov2019-05-311-3/+3
| |
| * introduce constantAleksey Kladov2019-05-311-7/+13
| |
| * minorAleksey Kladov2019-05-311-1/+1
|/
* Merge #1354bors[bot]2019-05-311-2/+8
|\ | | | | | | | | | | | | | | 1354: Sort hover results in tests r=matklad a=lnicola Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * Sort hover results in testsLaurențiu Nicola2019-05-301-2/+8
|/
* Merge #1353bors[bot]2019-05-301-1/+1
|\ | | | | | | | | | | | | | | 1353: Fix typo docs/user/README.md r=matklad a=eminence Co-authored-by: Andrew Chin <[email protected]>
| * Fix typo docs/user/README.mdAndrew Chin2019-05-301-1/+1
|/
* Merge #1352bors[bot]2019-05-3021-118/+261
|\ | | | | | | | | | | | | | | 1352: Builtins r=matklad a=matklad closes #1340 Co-authored-by: Aleksey Kladov <[email protected]>
| * update ra_ide_api to use builtinsAleksey Kladov2019-05-308-55/+82
| |
| * add tests for primitive typesAleksey Kladov2019-05-305-30/+44
| |
| * add built-in types to scopesAleksey Kladov2019-05-307-24/+49
| |
| * add list of builtin typesAleksey Kladov2019-05-302-3/+29
| |
| * add ModuleDef::BuiltInTypeAleksey Kladov2019-05-305-10/+61
|/
* Merge #1351bors[bot]2019-05-303-8/+7
|\ | | | | | | | | | | | | | | 1351: switch to upstream salsa r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * switch to upstream salsaAleksey Kladov2019-05-303-8/+7
| |
* | Merge #1350bors[bot]2019-05-307-88/+35
|\| | | | | | | | | | | | | | | 1350: :arrow_up: parking_lot r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: parking_lotAleksey Kladov2019-05-307-88/+35
| |
* | Merge #1347bors[bot]2019-05-301-0/+34
|\ \ | |/ |/| | | | | | | | | | | 1347: Add status buffer function to emacs integration r=flodiebold a=flodiebold Also fix a minor race condition in the 'extend selection' initialization. Co-authored-by: Florian Diebold <[email protected]>
| * Add status buffer function to emacs integrationFlorian Diebold2019-05-291-0/+34
| | | | | | | | Also fix a minor race condition in the 'extend selection' initialization.
* | Merge #1349bors[bot]2019-05-301-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 1349: don't remove tools from cache r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | don't remove tools from cacheAleksey Kladov2019-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | On CI, we remove this project's artifacts from ./target before caching it. This way, cache never changes, because it only caches deps. We do this approximatelly, and, together with our own tools crate, we also remove itertools, which are used by some other deps. Given that tools change rarely, let's just cache them?
* | | Merge #1348bors[bot]2019-05-301-0/+5
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1348: cancel salsa's validation r=matklad a=matklad This small fix should improve rust-analyzer resopnsivness for real-time operations like onEnter handling. Turns out, salsa's validation can take hundreds of milliseconds, and, in case no changes were made, it won't be triggering any queries. Because we check for cancellation in queries, that means that validation is not cancellable! What this PR does is injecting check_canceled checks into validation, by using salsa's event API, which wasn't meant to be used like this, but, hey, it works! Here's the onEnter handling before and after this change: https://youtu.be/7-ffPzgvH7o Co-authored-by: Aleksey Kladov <[email protected]>