Laurențiu Nicola
dc978a976f
Bump typos
2024-12-13 11:45:44 +02:00
Chayim Refael Friedman
cc07652be5
Add gen
modifier to functions
...
We don't yet lower or maybe even parse them, but blocks already have `gen`, so why not.
2024-08-24 23:46:32 +03:00
Chayim Refael Friedman
9d3368f2c2
Properly account for editions in names
...
This PR touches a lot of parts. But the main changes are changing
`hir_expand::Name` to be raw edition-dependently and only when necessary
(unrelated to how the user originally wrote the identifier),
and changing `is_keyword()` and `is_raw_identifier()` to be edition-aware
(this was done in #17896 , but the FIXMEs were fixed here).
It is possible that I missed some cases, but most IDE parts should properly
escape (or not escape) identifiers now.
The rules of thumb are:
- If we show the identifier to the user, its rawness should be determined
by the edition of the edited crate. This is nice for IDE features,
but really important for changes we insert to the source code.
- For tests, I chose `Edition::CURRENT` (so we only have to (maybe) update
tests when an edition becomes stable, to avoid churn).
- For debugging tools (helper methods and logs), I used `Edition::LATEST`.
2024-08-16 16:46:24 +03:00
Lukas Wirth
5264f86242
Encode edition within FileId in the hir layer
2024-07-18 08:49:10 +02:00
Lukas Wirth
d4dc3ca83b
Register virtual workspace Cargo.toml files in the VFS
2024-06-09 12:54:50 +02:00
morine0122
ff2629d651
Make generate function assist generate a function as a constructor if the name of function is new
2024-04-30 17:02:48 +09:00
morine0122
145078e09f
make function builder create ast directly
2024-04-13 20:16:12 +09:00
Lukas Wirth
9ba4493918
internal: Improve rooted upmapping
2024-03-12 13:46:58 +01:00
Tetsuharu Ohzeki
80e684254d
ide-assists: Fix warnings about clippy str_to_string
rule
2024-02-10 01:00:40 +09:00
David Barsky
2d09d69fbe
internal: fix crash inside filter_unnecessary_bounds
for a missing generic param
2024-02-08 20:58:48 -05:00
DropDemBits
0519414c19
Make ReferenceConversion
methods return ast types
2024-02-08 19:13:09 -05:00
Matthias Krüger
476e10e961
remove redundant clones
2024-01-07 00:17:48 +01:00
DropDemBits
316269901f
Migrate generate_function
to mutable ast
2023-12-10 18:39:43 -05:00
Lukas Wirth
890eb17b4e
Replace ID based TokenMap with proper relative text-ranges / spans
2023-11-28 10:55:39 +01:00
Milo
85ead6ec27
remove other unwraps
2023-09-25 11:48:23 +00:00
Milo
f64eecd2e2
fix one
2023-09-25 11:30:21 +00:00
Ryo Yoshida
b517aeeca5
Show TyKind::FnDef
as a fn pointer in source code
2023-07-28 19:09:38 +09:00
Lukas Wirth
69cd3c30ac
Format let-else
2023-07-03 20:34:09 +02:00
Ryo Yoshida
32768fe310
Infer return type for async function in generate_function
2023-06-09 00:32:52 +09:00
bors
e33c0b4b5e
Auto merge of #14842 - alibektas:internal/ast-make-improve, r=Veykril
...
Improve ast::make
Add `ty_alias` and make `impl_trait` , `fn` and `impl_` have more coverage.
2023-05-30 16:09:46 +00:00
Lukas Wirth
c7ef6c25b7
internal: Replace Display impl for Name
2023-05-24 20:55:12 +02:00
alibektas
51ec2ced69
Improve ast::make
...
Add `ty_alias` and make `impl_trait` , `fn` and `impl_` have more coverage.
2023-05-23 03:12:57 +02:00
Josh Soref
bc7d84c3ce
Spelling
...
* a rule
* access
* after
* amount
* annotations
* assignment
* assist
* associated
* attribute
* borrowed
* built-in type
* clarification
* command
* const
* constructor
* corresponding
* counterparts
* curlies
* dependencies
* deterministic
* diagnostic
* duplicates
* edge
* edited
* efficient
* elsewhere
* execution
* expression
* extensions
* extracted
* fill
* github
* helper
* heuristic
* incomplete
* indent end
* inlay
* invocation
* lifetime
* looking
* maybe
* move
* mutability
* mutable
* necessarily
* necessary
* negative
* nonexistent
* occurred
* offsets
* offsetted
* overridden
* parameters
* params
* params_and_where_preds_in_scope
* paredit
* parent
* parentheses
* prepended if
* punctuation
* receive
* receiver
* referring
* repeated
* representing
* semantically
* separately
* shouldnot
* siblings
* similar
* something's
* statement
* struct
* structure
* surprise
* the
* this
* transparent
* unimplemented
* unnamed
* unnecessary
* unneeded
* unreachable
* unterminated
* utilities
* variant
* variants
* visibility
* work around (v)
* workaround
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-19 09:45:55 -04:00
Ryo Yoshida
ac03de773f
Add flag to disallow opaque types for DisplayTarget::SourceCode
2023-04-12 19:03:48 +09:00
hkalbasi
59b6f2d9f2
Compute closure captures
2023-04-10 23:04:34 +03:30
Lukas Wirth
9fb9ee3b6a
internal: Rename AstDatabase to ExpandDatabase
2023-03-13 16:35:41 +01:00
Ryo Yoshida
bda2af71c6
feat: allow generate_function
to generate in different local crate
2023-03-03 18:40:13 +09:00
Ryo Yoshida
493cabbde7
Treat scope info retrieval failure as assist failure
2023-02-02 17:47:11 +09:00
Ryo Yoshida
3edde6fcc1
Support generic function in generate_function
assist
2023-01-31 21:05:25 +09:00
Ryo Yoshida
0df70d37fc
Minor refactoring
2023-01-31 21:05:04 +09:00
Daniel Eades
7530d76f00
use pointer args
2023-01-02 14:52:32 +00:00
Ryo Yoshida
19306c070d
Fix tests that depended on loose visibility restriction
2022-11-11 20:31:46 +09:00
feniljain
5bff6c55de
feat: add multiple getters mode in generate_getter
...
This commit adds two modes to generate_getter action.
First, the plain old working on single fields.
Second, working on a selected range of fields.
2022-10-20 16:47:23 +05:30
DropDemBits
d7fb8d51d6
Migrate assists to format args captures, part 2
2022-10-12 02:23:35 -04:00
feniljain
37ff07e1ff
fix(generate_module): generate new impl near its ADT
2022-09-15 19:33:19 +05:30
feniljain
d0f2db3bf4
fix(generate_method): correct method indentation inside generated impl
2022-09-15 17:22:44 +05:30
Dorian Scheidt
48ea3825b8
Introduce and use get_fn_target_info
2022-08-18 18:39:42 -05:00
Dorian Scheidt
d8e7419c64
Generate and use TargetInfo::new
2022-08-18 18:32:35 -05:00
Dorian Scheidt
2e4a4f1a9c
Cleanup inline
2022-08-18 18:28:43 -05:00
Dorian Scheidt
96c04c5e1c
inline assoc_fn_target
2022-08-18 18:28:14 -05:00
Dorian Scheidt
2086c48cff
Remove mut out params via assoc_fn_target_info
2022-08-18 18:26:54 -05:00
Dorian Scheidt
e27af5fae3
Reorder args with flip_comma
2022-08-18 18:21:58 -05:00
Dorian Scheidt
e513d7b504
Replace tuple with TargetInfo struct
2022-08-18 18:20:06 -05:00
Dorian Scheidt
30eabeb95d
extract fn_target_info
2022-08-18 18:14:51 -05:00
Dorian Scheidt
6130860789
use fn_name instead of name_ref.text()
2022-08-18 18:12:53 -05:00
Dorian Scheidt
d39677c1eb
Rename static_method_target -> assoc_fn_target
2022-08-18 18:10:37 -05:00
Dorian Scheidt
39d17efde7
feat: Generate static method using Self::assoc() syntax
...
This change improves the `generate_function` assist to support generating static methods/associated functions using the `Self::assoc()` syntax. Previously, one could generate a static method, but only when specifying the type name directly (like `Foo::assoc()`). After this change, `Self` is supported as well as the type name.
Fixes #13012
2022-08-16 15:37:24 -05:00
Amos Wenger
816f7fe12a
Run cargo fix --edition-idioms
2022-07-20 15:02:08 +02:00
Lukas Wirth
976d07e53e
fix: Fix unresolved proc macro diagnostics pointing to macro expansions
2022-07-05 12:46:09 +02:00
Amos Wenger
796c4d8a10
Better lowercase/uppercase checks
2022-05-22 18:31:12 +02:00