rust-dev-tools / cargo-src Goto Github PK
View Code? Open in Web Editor NEWSemantic code navigation for Rust
License: Apache License 2.0
Semantic code navigation for Rust
License: Apache License 2.0
there's a bunch of stuff in there, none of it works yet
at the moment it is copy/pasted into rustw. We should upstream the changes to rustdoc. (One day it should be a separate crate, that is necessary for us to be on stable Rust).
like rustdoc used to do on click
Not just set in the CSS file
should be optional (set 0-3 lines in options menu)
because snazzy!
Too much white space when they are collapsed.
format a file, show the results and/or a diff, then save to file on user action
needs support in rustc (these are supported on the console, but not in JSON errors)
Client and server on different machines. Need to consider security and latency issues a lot more.
on click in code view, maybe in code snippets too
use save-analysis data
when we change 'page' we should set the URL to something meaningful and if a URL is entered cold, then we should be able to load the right page. Also when we restart the browser (requires catching the onload even, I believe).
not 100% sure on this control flow, but hopefully it will be convenient.
should be checked on the server in router::route
We'll need to parse the textual output since we won't get nice json. There's a lot we can do here - links to file an issue or contributing.md, expand to see the dumped logfile which we plan to have, and so forth.
long term: expand/unexpand macros + other tools
short term: explorable expansion traces (needs rustc integration)
waiting for async hyper
Currently only tested on Firefox
currently can only highlight full lines, but doing highlights by column would be nice (p-high because I think this is a pre-req for code view errors)
see state
in onLoad
function. Could be nicer to be a bit more OO.
if you go to a source code page, then back to build, the page is scrolled down.
Solution is to save the scroll position in the page state, I think.
and copyright boilerplate
i.e., can select a block of code from source view or a snippet and copy and paste it into an editor without line numbers, odd formatting, html nonsense, etc.
or cargo w
or whatever, that will launch rustw using the cargo build
build command plus other args, without needing any other configuration.
there is code there to run in demo mode, but running it on a server has problems:
Needs to find paths to data, which I think means a build script to copy them to the target dir.
and give it a unique URL. This enables a mode where the compiler emits error summaries to the console, with full info accessible in the browser via a link.
specifically what info has been expanded or hidden
set build commands, default options, etc.
push errors as we get them. Also, progress indication (needs help from rustc).
in code view, and maybe, snippets
Probably for fields, methods, types
The compiler can pass some 'further reading' links to rustw, for example links to rustdoc or the book, or even a blog post. These can be displayed inline some how, rather than needing to be in an error code page or something.
in code view, and maybe, snippets
for variables and fields
Should be in a hashtable or something, not stored as data in html elements.
height is 100%, but it should be 100% - header height.
same behaviour as onclick
for source code, open using some web-based editor in a new tab
Rather than showing a list of errors, show a big code snippet with errors and notes inline, somewhat like an IDE would. This would be nice for errors like borrow check errors, where there are lots of related notes.
to open a file from the server (also, perhaps in the client via Atom or something?)
invalidated by build (or restart), we should cache files read from disk and processed lines of source code.
instructions for building and using + better summary
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.