Skip to content
0:00 / 0:00

#neovim#rust#vim9script

nvim + vim9script: how Rust made it happen

TJ DeVries

119K subscribers • 4 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by TJ DeVries
  • Linked in the descriptiontjdevries/vim9jitneovim/neovim

Intermediate. Assumes working knowledge.

49K views3 years ago2 recommendations

Systems programmingProgramming languagesCompilers and interpretersRustLanguage design and type systems

TJ DeVries explains how they built a compiler in Rust to translate Vim9script into Lua for Neovim.

In this crazy show and tell episode, I tell you about how we made #vim's new vim9script language compile to #lua inside of #neovim using #rust. Pretty exciting day for me :) Project: - github.com/tjdevries/vim9jit Thorsten Book: interpreterbook.com/ PRs Linked: - github.com/neovim/neovim/pull/21623 - github.com/neovim/neovim/pull/21662 Neovim - Instant IDE: youtu.be/stqUbv-5u2s PDE Video: youtu.be/QMVIJhC9Veg ### Twitch We're always live streamin on twitch!Twitch : twitch.tv/teej_dv Discord: discord.gg/h2yeg4wrSK ### Links Twitch: twitch.tv/teej_dv Twitter: twitter.com/teej_dv Github: github.com/tjdevries ### Editor All my videos are edited by Flip. Give him a follow! twitter.com/flipmediaprod #coding #neovim #typescript #programming #vim #softwareengineering #codinglife #webdesign #webdevelopment #webdev #javascript #rustlang #rust #twitch #twitchstreamer #programmerhumor #codinghumor #software #softwareengineer #softwaredeveloper #softwaredevelopment #rust #rustlang

Why it's here

2 people recommend this

What people say. Recommended for its interesting breakdown of lexing, parsing, and testing a compiler written in Rust.

u/happy-dudein r/vim • Recommends

nvim + vim9script: how Rust made it happen

glacambreon Lobsters • Recommends

nvim + vim9script: how Rust made it happen This video contains multiple topics that I found interesting: - 00:00 - 06:36: problem, constraints and solution - 06:36 - 08:30: lexer - 08:30 - 11:55: lexer "snapshot" or "golden" testing leveraging `cargo test` and `cargo insta review` - 11:55 - 14:45: parser - 14:45 - 16:15: testing the generated code - 16:15 - 19:20: what the generated code looks like, how it integrates with neovim's vimscript runtime