Commit Graph

127 Commits

Author SHA1 Message Date
roife
df538288e0 internal: add inline for move_mask in line-index 2024-01-12 20:27:54 +08:00
roife
7c3744e4db internal: Speedup line index calculation via NEON for aarch64 2024-01-12 15:58:56 +08:00
homersimpsons
0f69276e60
line-index: Update README.md with suggestions
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2024-01-07 15:38:40 +01:00
homersimpsons
747fa7dd6e
line-index: Create README.md 2024-01-07 14:25:42 +01:00
bors
86e559bf3f Auto merge of #16211 - tetsuharuohzeki:update-lint, r=Veykril
Use Cargo's [workspace.lints.*] to config clippy

This change begin to use [`[workspace.lints.*]`](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-lints-table) that is stabilized since [Rust 1.74](https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html).

By this change, we make the configure more readable and simplify `xargo lint` more.
2024-01-02 14:53:22 +00:00
Lukas Wirth
3c8dd9e89e Expose whether a channel has been dropped in lsp-server errors 2024-01-01 14:10:46 +01:00
Tetsuharu Ohzeki
efc87092b3 Use Cargo's [workspace.lints.*] to config clippy 2023-12-29 23:51:32 +09:00
Lukas Wirth
2a5b60b186 internal: Update world symbols request definiton, prefer focus range for macros 2023-12-22 11:42:08 +01:00
Laurențiu Nicola
c30fd42685 Publish line-index 2023-12-12 16:57:44 +02:00
roife
a011b6c84c fix: correct existing tests for WideChar in lib 'line-index' and add more tests 2023-12-07 15:33:28 +08:00
roife
9a3167e65e fix: correct calculation for fields in WideChar for line-specific positions 2023-12-07 15:30:00 +08:00
Lukas Wirth
a84685a58d Publish lsp-server 0.7.5 2023-12-06 22:00:01 +01:00
Igor Matuszewski
a7224c998d Don't explicitly warn against semicolon_in_expressions_from_macros
This has been warn-by-default for two years now and has already been
added to the future-incompat lints in 1.68.
2023-12-05 11:35:09 +01:00
Marc Schreiber
81c2d3552e Cancelable Initialization
This commit provides additional initialization methods to Connection in
order to support CTRL + C sigterm handling.
2023-11-21 21:29:33 +01:00
Laurențiu Nicola
572583262c Bump text-size 2023-11-15 13:33:03 +02:00
Laurențiu Nicola
2bfd6b659d Bump serde_json 2023-11-15 13:17:36 +02:00
Laurențiu Nicola
970a796368 Bump serde 2023-11-15 13:16:07 +02:00
Alex Kladov
343ee8bacf internal: unpin serde
Sered no longer uses blobs as of

https://github.com/serde-rs/serde/pull/2590

As such, there's no longer need for us to pin it.

Note that this doesn't upgrade serde version we use: I am fairly
confident that the blobs are already there are fine, and now I am fairly
confident that all future versions of serde will be fine as well.
2023-08-21 14:29:18 +01:00
Alex Kladov
6c46b98a95 fix: avoid problematic serde release
serde 1.0.172 and up rely on opaque non-reproducible binary blobs to
function, explicitly not providing a library-level opt-out.

This is problematic for two reasons:

- directly, unauditable binary blobs are a security issue.
- indirectly, it becomes much harder to predict future behaviors of the
  crate.

As such, I am willing to go on a limb here and forbid building
rust-analyzer with those versions of serde. Normally, my philosophy is
to defer the choice to the end user, but it's also a design constraint
of rust-analyzer that we don't run random binaries downloaded from the
internet without explicit user's concent.

Concretely, this upper-bounds serde for both rust-analyzer workspace, as
well as the lsp-server lib.

See https://github.com/serde-rs/serde/issues/2538 for wider context.
2023-08-19 14:14:23 +01:00
Charles
02d5c0ac56
chore: convert unwrap to except and add a debug log 2023-08-08 14:55:56 +02:00
Laurențiu Nicola
a2b159dcc6 Use a permalink to the SIMD line index code, and add a note on the GitHub API 2023-07-12 20:51:20 +03:00
Lukas Wirth
9031f385e0 Enable derive feature for serde in lsp-server 2023-07-11 13:45:27 +02:00
Sebastian Sturm
872cd30325 [lsp-server] Ignore 'Content-Length' case 2023-07-10 22:36:52 +02:00
Lukas Wirth
97748b0fc6 Speedup line index calculation via SSE2 2023-07-03 16:46:28 +02:00
Lukas Wirth
e5c65071bc Disconnect library crate dependencies from workspace dependencies 2023-06-22 11:50:52 +02:00
David Lattimore
5c8d1a46b5 Use lib crates from crates.io
See lib/README.md for justification
2023-06-21 16:10:17 +10:00
David Lattimore
fb3e54ef05 Release lsp-server 0.7.1 2023-06-20 13:53:39 +10:00
David Lattimore
a0467c546c Release la-arena 0.3.1 2023-06-20 13:53:39 +10:00
Lukas Wirth
3484b5a116 internal: Do not allocate unnecessarily when importing macros from parent modules 2023-06-16 18:41:06 +02:00
Lukas Wirth
dc7c6d43c7 Slightly shrink DefMap 2023-06-01 14:46:36 +02:00
bors
2df56cadcb Auto merge of #14755 - poliorcetics:clippy-fixes, r=Veykril
Fix: a TODO and some clippy fixes

- fix(todo): implement IntoIterator for ArenaMap<IDX, V>
- chore: remove unused method
- fix: remove useless `return`s
- fix: various clippy lints
- fix: simplify boolean test to a single negation
2023-05-24 11:13:52 +00:00
bors
b7cdd93f3e Auto merge of #14747 - oxalica:feat/arena-idx-range, r=HKalbasi
More APIs for `la_arena::IdxRange`

```rust
impl<T> ExactSizeIterator for IdxRange<T>;

impl<T> Arena<T> {
    pub fn alloc_many<II: IntoIterator<Item = T>>(&mut self, iter: II) -> IdxRange<T>;
}
```

1. There are no currently ways to get `IdxRange` without manually offseting `Idx`. Providing a method for multiple-allocation simplifies this process and makes it less error-prone.
2. `IdxRange: ExactSizeIterator` makes `iter.zip(range).rev()` possible. Since `Zip: DoubleEndedIterator` requires all its arguments to be `ExactSizeIterator`. It also ease the usage for, eg. `len()`.
3. Fixed a typo.

I noticed that `IdxRange::end` may be invalid. Is it good to return `Idx` instead of `RawIdx`?
2023-05-09 17:36:48 +00:00
Ariel Davis
db40fef6b1 Improve lib readme 2023-05-07 02:41:44 -07:00
Ariel Davis
60056b8845 Expose len 2023-05-06 15:44:37 -07:00
Ariel Davis
9d4d45215a Rename 2023-05-06 15:44:09 -07:00
Ariel Davis
369e430b05 Improve doc 2023-05-06 15:42:15 -07:00
Ariel Davis
1cf74802ab Improve docs 2023-05-06 15:14:02 -07:00
Ariel Davis
ed498b6eff Rm out of bounds 2023-05-06 15:11:18 -07:00
Ariel Davis
cc2936b93e Use size field 2023-05-06 15:10:35 -07:00
Ariel Davis
510050ecdc Add more types 2023-05-06 15:09:34 -07:00
Ariel Davis
7a7f90cf28 Use de morgan 2023-05-06 15:06:51 -07:00
Ariel Davis
7cdca727a8 Use all not instead of find is none 2023-05-06 15:06:23 -07:00
Ariel Davis
e4d053e794 Rm into 2023-05-06 15:05:38 -07:00
Ariel Davis
1bc6bca478 Use checked 2023-05-06 15:05:03 -07:00
oxalica
add94d3b9c Impl FusedIterator for IdxRange 2023-05-06 22:02:30 +08:00
oxalica
665c0cb547 Forward Iterator::{count,last,nth} for IdxRange random access 2023-05-06 22:00:04 +08:00
Alexis (Poliorcetics) Bourget
c5e0607915 fix(todo): implement IntoIterator for ArenaMap<IDX, V> 2023-05-06 15:37:38 +02:00
oxalica
86eaf53600 Fix typo in docs 2023-05-06 21:27:35 +08:00
oxalica
4e4940e21e Add Arena::alloc_many to easily get IdxRange
There are no currently ways to get `IdxRange` without manually offseting
`Idx`. Providing a method for multiple-allocation simplifies this
process and makes it less error-prone.
2023-05-06 21:21:00 +08:00
oxalica
300f3a1b43 Impl ExactSizeIterator for IdxRange 2023-05-06 21:15:57 +08:00