grab_github_permalink

Crates.iograb_github_permalink
lib.rsgrab_github_permalink
version0.2.0
sourcesrc
created_at2022-09-14 20:37:25.78046
updated_at2024-03-26 14:38:15.549896
descriptiona small CLI utility for grabbing a range of a file on Github
homepage
repositoryhttps://github.com/alicewriteswrongs/grab_github_permalink
max_upload_size
id666084
size56,650
Alice Pote (alicewriteswrongs)

documentation

README

grab github permalink

This is a small Rust program that takes a Github permalink, like

https://github.com/torvalds/linux/blob/master/fs/autofs/dev-ioctl.c#L28-L36

and fetches the lines referred to in the #L${start}-L${finish} bit. In the case of that example link it will produce:

typedef int (*ioctl_fn)(struct file *, struct autofs_sb_info *,
			struct autofs_dev_ioctl *);

static int check_name(const char *name)
{
	if (!strchr(name, '/'))
		return -EINVAL;
	return 0;
}

Usage

You can install this from crates.io or clone this repo and build from source, there's nothing fancy going on here build-wise.

Then you can

grab_github_permalink $URL

and it will just spit it to STDOUT. I'd suggest piping to pbcopy or xsel or whatever you have handy!

Markdown mode

If you pass the --markdown / -m flag then it will spit out the code snippet formatted as a Markdown code block with a link to the original. The example link above will come out like this:

fs/autofs/dev-ioctl.c:L28-L36

typedef int (*ioctl_fn)(struct file *, struct autofs_sb_info *,
			struct autofs_dev_ioctl *);

static int check_name(const char *name)
{
	if (!strchr(name, '/'))
		return -EINVAL;
	return 0;
}
Commit count: 22

cargo fmt