Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Looking for feedback #255

Closed
brotzeit opened this issue Dec 11, 2017 · 13 comments
Closed

Looking for feedback #255

brotzeit opened this issue Dec 11, 2017 · 13 comments

Comments

@brotzeit
Copy link
Contributor

I've been trying to improve some stuff. Let me know what you think about it. I can rebase if you want to merge it.

Try these commands:
rust-compile
rust-recompile
rust-format-call
rust-run-clippy

@nikomatsakis
Copy link
Contributor

Can you say a bit more about what has changed? i.e., how it works?

@tromey
Copy link
Contributor

tromey commented Jan 6, 2018

It looks like there are a bunch of rearrangements and code pulled into new files, mixed in with additions and other changes. That's fine as an end result (depending on specifics) but it makes it much harder to examine the result and see what's really different.

@brotzeit
Copy link
Contributor Author

brotzeit commented Jan 6, 2018

I have added a derived mode with define-compilation-mode so we can make rust specific changes in a rust
compilation mode.

We don't get all escape sequences with the compilation process as it uses a dumb terminal. That's why I
introduced a custom process. I couldn't get ansi-color.el to work so I looked for an alternative.
The package xterm-color now translates the ansi color sequences into text properties. I've provided
a defcustom rust-ansi-faces and the default colors are taken from term.

There's a process for rustfmt, but its buffer also runs in the new compilation mode.

I basically added color support.

@Dushistov
Copy link

By the way:

so we can make rust specific changes in a rust compilation mode

is it possible to merge some features from
https://github.com/kwrooijen/cargo.el
with new rust compilation mode?

@brotzeit
Copy link
Contributor Author

brotzeit commented Jan 6, 2018

The package also defines a derived mode. We could add the same features to this mode.

@sondr3
Copy link

sondr3 commented Jul 25, 2018

Would it be possible to revisit this? It's fairly obvious that this package has more or less stalled, which is a shame, but @brotzeit has kept chugging along at his (now fork) for quite a while now. I think anyone who uses Emacs and Rust would benefit from a coordinated effort between this package and rustic. I'd love to help out but my elisp-fu is really weak.

@brotzeit
Copy link
Contributor Author

brotzeit commented Jul 25, 2018

I don't feel confident enough to maintain the official package and it seems we can't find somebody more experienced who reviews my changes. When more users try rustic and open bug reports, we will see if things work. But I don't want to push my changes to rust-mode without anybody taking a look at it.

EDIT: rustic also requires emacs26 and I don't intend to put any effort into changing this. I assume there are rust-mode users with older emacs versions.

@kurnevsky
Copy link
Contributor

@brotzeit I didn't dig deep into source code of rustic but noticed that it contains a lot of copy-pasted code from lsp-rust and flycheck. Could you elaborate a bit why do you need it? Isn't it better to leave it to these packages?

@brotzeit
Copy link
Contributor Author

While looking at the code of racer.el I realized that it contains a lot of code that isn't needed anymore because rls handles it now, so I removed it. I expected that I will also change the code of the lsp and flycheck packages, but I didn't so far.

Another reason for pulling these packages into rustic is that I think it's easier to improve things when most of the rust related code is in one package. It takes some time to find all packages and get them to work together. So I've tried to make it easier to get the basic features. You only have to install and require rustic and most stuff should work.

Most rust packages aren't actively maintained and maybe we can use rustic as a fresh start to provide better rust support.

@Dushistov
Copy link

I realized that it contains a lot of code that isn't needed anymore because rls handles it now, so I removed it

This is bad, because of I don't think that rls is ready to use, and will become ready to use in the near future. So I use only racer, because of I don't want wait rebuild of my workspace once more.

@brotzeit
Copy link
Contributor Author

brotzeit commented Aug 24, 2018

You can still use racer.el with rustic. Hopefully rls will be ready soon.

@Dushistov
Copy link

You can still use racer.el with rustic

But I have rls installed via rustup to reports bugs time to time, I just do not use it.
Is any preference to disable automatic rls usage in rustic?

Hopefully rls will be ready soon.

According to authors: https://www.ncameron.org/blog/more-on-the-rls-and-a-1-0-release/
Something usable should be at "early 2020", but I am not sure that this true.
Because of rustc slow as hell now, so creation of IDE based on it looks strange,
not share results of work with rustc looks realy, realy strange.

@brotzeit
Copy link
Contributor Author

@Dushistov (setq rustic-rls-pkg nil) should work now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants