DEV Community

loading...

Weekly Update #2 - 17th Jan 2021

hb profile image Henry Boisdequin ・2 min read

This is my second weekly update of 2021. Two weeks ago, I made a post about my goals for 2021 and as promised, I will give you an update on how I'm doing. Let's get right into it!

Weekly Update

I would say that this week was the week of Rust. I dived into Rust much further, building some bigger projects and going into more advanced syntax. I started off the week by following an awesome tutorial which teaches you how to build a text editor in Rust. I extended this project by adding Python support for the text editor (which I named Lynx).

GitHub logo henryboisdequin / lynx

A basic text editor in Rust.

lynx

Version Maintained

A basic text editor written in Rust. Lynx was made following this awesome tutorial and adding more features.

Current Features

  • Open/edit/save file
  • Syntax Highlighting - Rust, Python support
  • Warn when quitting editor without saving file

Todo

  • Open folder
  • Typescript, Javascript, TSX, JSX support
  • Copy and paste ability

Run Lynx

Make sure you have Rust, rustup, and cargo installed. You can do so here: https://www.rust-lang.org/tools/install.

  1. Clone this repository
git clone https://github.com/henryboisdequin/lynx.git
  1. Run the project
cargo run <file>

<file> is the file you want to edit in Lynx.




I also learnt more about lifetimes, borrowing, and unsafe code in Rust. A couple of days ago, I found a YouTube channel which is very helpful for people looking to learn intermediate Rust. I mostly followed the "Crust of Rust" streams, looking at Lifetimes, macros, unsafe code, and more. I also experimented with using async/await and Tokio in Rust by building multiple CLI applications which fetch 3rd party APIs. Towards the end of the week, I created my own Git CLI tool in Rust which can initialize a repository, add files, and commit files.

GitHub logo henryboisdequin / git-cli

A git CLI tool which can initialize a repository, add files, and commit files.

git-cli

Created a git cli tool which can initialize a repository, add files, and commit files.

Usage

  1. Clone this repository
git clone https://github.com/henryboisdequin/git-cli.git
  1. Initialize a gitcli repository
cargo run init
  1. Add the files you would like to add
cargo run add <files>
  1. Commit the files
cargo run commit



To finish off the week, I did some open source contributions for various different types of stuff. Overall, I think it was a successful week! For the upcoming week, I will focus on more Rust by building some more applications. Hopefully, I can also create a portfolio with Tailwind, and do some more open source contributions.

I also started my own newsletter, if you would like to get some more content from time to time, be sure to sign up!

Thanks for reading!

Henry

📰 Newsletter
🐱 GitHub
🐦 Twitter

Discussion (2)

pic
Editor guide
Collapse
rishitkhandelwal profile image
Rishit Khandelwal

Isn't rust amazing?

Collapse
hb profile image
Henry Boisdequin Author

Yes, it's my new favourite language! Even over Python and Typescript!