Skip to content

Commit a229ef5

Browse files
committed
✨ Add IDs to bookmarks
1 parent 865d6d7 commit a229ef5

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/commands.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,22 @@ fn generate_name(link: &String, config: Config) -> String {
2222
return name;
2323
}
2424

25-
fn generate_bookmark(link: String, name: String) -> Bookmark {
25+
fn generate_bookmark(id:u32,link: String, name: String) -> Bookmark {
2626
Bookmark {
2727
is_file: !is_url(&link),
2828
link: link,
2929
name: name,
3030
date: Local::now().to_string(),
31+
id: id,
3132
}
3233
}
3334

3435
pub fn insert(input: String, mut data: Data, config: Config) {
3536
let name = generate_name(&input, config);
3637

37-
let bookmark = generate_bookmark(input, name);
38+
let bookmark = generate_bookmark(data.last_id+1, input, name);
3839
data.bookmarks.push(bookmark);
40+
data.last_id += 1;
3941

4042
fs::write(
4143
get_data_file_path(),

src/data.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,19 @@ pub struct Bookmark {
99
pub link: String,
1010
pub name: String,
1111
pub date: String,
12+
pub id: u32,
1213
}
1314

1415
impl fmt::Display for Bookmark {
1516
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
16-
write!(f, "{} {}", self.name, self.link)
17+
write!(f, "{} {} {}", self.id, self.name, self.link)
1718
}
1819
}
1920

2021
#[derive(Serialize, Deserialize, Debug)]
2122
pub struct Data {
2223
pub bookmarks: Vec<Bookmark>,
24+
pub last_id: u32,
2325
}
2426

2527
pub fn create_data_file() {
@@ -34,7 +36,7 @@ pub fn create_data_file() {
3436
fs::File::create(&data_file).unwrap();
3537
}
3638

37-
let data = Data { bookmarks: vec![] };
39+
let data = Data { bookmarks: vec![] ,last_id: 0};
3840

3941
fs::write(data_file, serde_json::to_string_pretty(&data).unwrap()).unwrap();
4042
}

0 commit comments

Comments
 (0)