Book: Script to lint for copypasta'd file paths that should be generic

Created on 5 Jul 2016  路  21Comments  路  Source: rust-lang/book

One thing we do when showing errors is show file:///projects/bindings in Cargo's output. It'd be nice to somehow catch that this is always the text we use, as it's really easy to copy/paste something and forget to change it.

E-easy E-help-wanted Enhancement

Most helpful comment

@bronzdoc if you want to write it I'd be happy to mentor.

All 21 comments

I think the requirements for this are:

  • This should be a script that can be run on a directory of .md files
  • If the script sees a line containing file://, it should check for the text following that to be /projects/
  • If the text following file:// is anything BUT /projects/, print to stderr the filename, line number, and line content (but continue processing the rest of that file and other following files)
  • If any lines containing file:// not followed by /projects/ have been found, the whole script should exit with a nonzero exit status so that we can hook this into travis and have travis fail if we forget this

Is that what you had in mind, @steveklabnik? I'm thinking about tweeting/getting this in TWiR for some help :)

Here's an example (source):

If there's a directory src that contains a file modules.md that contains this text:

$ cargo build
   Compiling modules v0.1.0 (file:///home/steve/tmp/modules)
src/foo.rs:1:1: 2:2 warning: function is never used: `it_works`,
#[warn(dead_code)] on by default
src/foo.rs:1 fn it_works() {

And I ran whatever-this-script-is src, I would expect to see:

Found lines that need fixed:

modules.md:2    Compiling modules v0.1.0 (file:///home/steve/tmp/modules)

and have the command exit with a nonzero status.

@carols10cents yup, exactly!

Also, do we care if this is implemented in bash, rust, ruby, perl, etc etc? I don't really, it should be easy enough to read/modify in whatever.

It would be nice if it was in Rust so that we don't introduce Yet Another Dependency.

Should it only scan .md files regardless if other files are present?

Do you want the program in a new repo or part of this repo?

I would like to help with this as a way to start learning rust :)

Should it only scan .md files regardless if other files are present?

Yep!

Do you want the program in a new repo or part of this repo?

In this repo please :)

Yinz are watching the TWiR repo like hawks! :)

Hey @ereichert @bronzdoc !

Should it only scan .md files regardless if other files are present?

Yes, because they're the source text, other things are generated from them.

Do you want the program in a new repo or part of this repo?

In this one would be cool!

If someone doesn't get it done before tonight I'll get on it.

I'm not going to "reserve" this for anyone-- please don't worry about duplicating work, especially if you're doing this for learning! 鉂わ笍 Or perhaps collaborate!

We also might have more little things like this in the future!

@bronzdoc if you want to write it I'd be happy to mentor.

We also might have more little things like this in the future!

Agreed. There's probably a lot of little things that would be cool to lint.

That would be awesome @ereichert thank you.

Oops this didn't get closed!! This was fixed in #177 :)

On helping others that's the year I started my page on Facebook helping others.

@ereichert please i am new to github aspering frontend web developer would need mentorship still learning on udacity

I would like to contribute 馃懢

Hi, I would like to contribute

Hello everyone. I'm newbie here. Can anyone give clue how to become a contributor of projects ?

@angelhen2020 @rogers0404 @MrVirm hi, this issue is closed because the bug was already fixed. It also seems like you're looking for a general "how to get involved on github", but that's not what we do here, we're working on this specific project, which doesn't take a lot of external contribution.

I'm going to lock this issue, but it feels like folks are coming from somewhere. I don't know where this is linked from that suggests the wrong thing.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

rafaelalvessa picture rafaelalvessa  路  5Comments

drandreaskrueger picture drandreaskrueger  路  4Comments

serialhex picture serialhex  路  4Comments

elahn picture elahn  路  3Comments

carols10cents picture carols10cents  路  5Comments