aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Merge #2834bors[bot]2020-01-141-35/+26
|\ \ \ \ \ \ | |_|/ / / / |/| | | / / | | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2834: refactor(ra_syntax.validation): removed code duplication from validate_literal() r=kiljacken a=Veetaha Hi! This is my first ever contribution to this project. I've taken some dirty job from issue #223 This is a simple atomic PR to remove code duplication according to FIXME comment in the function that is the main focus of the further development. I just didn't want to mix refactoring with the implementation of new features... I am not sure whether you prefer such atomic PRs here or you'd rather have a single PR that contains all atomic commits inside of it? So if you want me to add all that validation in one PR I'll mark this one as WIP and update it when the work is finished, otherwise, I'll go with the option of creating separate PRs per each feature of validation of strings, numbers, and comments respectively. ### Comments about refactoring Yeah, reducing the duplication is quite hard here, extracting into stateless functions could be another option but the number of their arguments would be very big and repeated across char and string implementations so that just writing their types and names would become cumbersome. I tried the option of having everything captured implicitly in the closure but failed since rust doesn't have templated (or generic) closures as C++ does, this is needed because `unescape_byte*()` and `unescape_char|str()` have different return types... Maybe I am missing something here? I may be wrong because I am not enough experienced in Rust... Well, I am awaiting any kind of feedback! Co-authored-by: Veetaha <[email protected]>
| * | | | refactor(ra_syntax.validation): removed code duplication from ↵Veetaha2020-01-141-35/+26
| | |/ / | |/| | | | | | | | | | validate_literal() function
* | | | Merge #2839bors[bot]2020-01-142-1/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2839: Tweak add_custom_impl r=matklad a=kjeremy Display a nicer label and categorize Co-authored-by: Jeremy Kolb <[email protected]>
| * | | | Tweak add_custom_implJeremy Kolb2020-01-142-1/+5
| | | | |
* | | | | Move Type API to typeAleksey Kladov2020-01-144-85/+102
| | | | |
* | | | | Push resolver further upAleksey Kladov2020-01-144-27/+60
| | | | |
* | | | | Push resolver upAleksey Kladov2020-01-141-21/+51
|/ / / /
* | | | Move impls_future to Type, where it belongsAleksey Kladov2020-01-144-28/+21
| | | |
* | | | Use lang-items to resolve future traitAleksey Kladov2020-01-142-10/+10
| | | |
* | | | Move utility functions downAleksey Kladov2020-01-141-58/+58
| | | |
* | | | Rename fileAleksey Kladov2020-01-142-2/+2
|/ / /
* | | Log client info if presentkjeremy2020-01-131-0/+4
| | |
* | | Don't panic if chalk panicsAleksey Kladov2020-01-131-9/+35
| | |
* | | Merge #2825bors[bot]2020-01-139-45/+44
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2825: Some clippy lints r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | | Readabilitykjeremy2020-01-132-6/+6
| | | |
| * | | Some clippy lintskjeremy2020-01-1310-46/+45
| | | |
* | | | Schedule check update regardless of notification settingEmil Lauridsen2020-01-131-1/+1
| | | |
* | | | Defer cargo check until after workspace loadEmil Lauridsen2020-01-132-2/+12
|/ / /
* / / Dropping a reference does nothing.kjeremy2020-01-131-1/+0
|/ / | | | | | | Allows clippy to continue compilation
* | Merge #2815bors[bot]2020-01-131-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 2815: Report macro calls as functions r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | Report macro calls as functionsJeremy Kolb2020-01-121-0/+1
| | |
* | | Add macro_rules item snippetmemoryruins2020-01-121-0/+8
|/ /
* | Remove hir usage from macro_rules! detection in structure_node()Roland Ruckerbauer2020-01-122-6/+3
| |
* | Use hir .path() and .name() to differentiateRoland Ruckerbauer2020-01-122-23/+26
| | | | | | | | macro call and macro definition
* | Added test for file_structure unidentified macro definitionRoland Ruckerbauer2020-01-121-4/+18
| |
* | Fix file_structure() to recognize macro_rules!Roland Ruckerbauer2020-01-121-3/+17
|/ | | | where first token != "macro_rules"
* Fix formatEdwin Cheng2020-01-121-5/+2
|
* Use prev_token and next_tokenEdwin Cheng2020-01-121-44/+47
|
* Use indices first and last instead of min-maxEdwin Cheng2020-01-121-3/+4
|
* Use first and last token onlyEdwin Cheng2020-01-121-35/+56
|
* Handle extend selection in recursive macroEdwin Cheng2020-01-121-27/+49
|
* Minor fixEdwin Cheng2020-01-121-5/+4
|
* Fix formattingEdwin Cheng2020-01-121-1/+1
|
* Supporting extend selection inside macro callsEdwin Cheng2020-01-121-14/+109
|
* Merge #2807bors[bot]2020-01-124-2/+55
|\ | | | | | | | | | | | | | | | | | | 2807: Use attr location for builtin derive in goto-implementation r=matklad a=edwin0cheng This PR is use attribute location for builtin derive in `ImplBlock`'s NavigationTarget such that the goto-implementation will goto to a correct position. Related to #2531 Co-authored-by: Edwin Cheng <[email protected]>
| * Add testEdwin Cheng2020-01-121-0/+12
| |
| * Use attr location for builtin macro goto-impEdwin Cheng2020-01-123-2/+43
| |
* | Qualify paths in 'fill match arms' assistFlorian Diebold2020-01-123-19/+55
|/
* Merge #2803bors[bot]2020-01-113-1/+100
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2803: Fix various names, e.g. Iterator not resolving in core prelude r=matklad a=flodiebold Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683. Co-authored-by: Florian Diebold <[email protected]>
| * Fix various names, e.g. Iterator not resolving in core preludeFlorian Diebold2020-01-113-1/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | Basically, `Iterator` is re-exported via several steps, which happened to not be resolved yet when we got to the prelude import, but since the name resolved to the reexport from `core::iter` (just to no actual items), we gave up trying to resolve it further. Maybe part of the problem is that we can have `PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate` with `None` in all namespaces, and handle them differently. Fixes #2683.
* | Use FxHashMapFlorian Diebold2020-01-112-3/+4
| |
* | Apply review suggestionsFlorian Diebold2020-01-119-47/+35
| |
* | Fix ordering problem between qualifying paths and substituting paramsFlorian Diebold2020-01-117-126/+206
| |
* | Some more refactoringFlorian Diebold2020-01-112-8/+16
| |
* | Fix file ID when qualifying paths; add another failing testFlorian Diebold2020-01-111-3/+31
| |
* | Handle type argsFlorian Diebold2020-01-112-9/+19
| |
* | More failing testsFlorian Diebold2020-01-111-1/+126
| |
* | Qualify some paths in 'add missing impl members'Florian Diebold2020-01-116-3/+128
| |
* | Use `self`Florian Diebold2020-01-111-0/+20
| |
* | CleanupFlorian Diebold2020-01-111-13/+25
| |