Shipped this project!
I added SSH support along with more documentation so that my code is more readable! I learnt how to use Ratatui to make a TUI for the SSH connection feature and its pretty cool!
Its been quite a while since I last dev-logged but here I go :D I kinda slowed down dev because ive been working on other ysws mainly #remixed but im sorta back now!
Heres what I worked on:
pinel connect <ip> which opens up a tui tool allowing the user to select file(s) they want to edit in the code editor. Thanks to Sahil for providing me with a machine to test on :pThe image is what the TUI looks like when a user connects to a remote server via ssh
Log in to leave a comment
KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK KASH IS BACK
ts lowk so tuff vro
ty crochacho
Writing the scripting stuff for lua was SUCH a pain. However, I got a lot lot lot more progress and Pinel is being recognized by other in slack! I also setup a site and an install script that works!!! Its so nice :D the ui is also a lot more polished and looks more professional which i like!
Basically i said screw windows (for now) because one of the core deps doesnt seem to work cross platform. I also made sure that installing via windows on the actual website is disable such that when you are on a windows machine, the download for windows button is greyed out and when hovered over says “Not available” or something like that i cant remember.
Also made a logo ish
time to ship
Log in to leave a comment
The internal API for basic stuff works!! Basically i looked at how neovim uses lua to invoke its internal api and decided to implement that so i can allow scripting in Pinel! It was actually pretty easy. While vim/nvims api was written in C I was able to port over the basic infrastructure which just involves invoking those functions and logging them when the app loads. While this does increase load time it is very minimal.
I also wrote up the docs for it!
here is a template file you can check out to see how it works!
More functions and language supports to come soon!
Log in to leave a comment
I wanted to make this game for campfire flagship but decided to switch over my hours to here! I learnt quite a bit about how to deal with timing for rhythm games. I must learn from my goat fireentity and her game beat jumper cuz wtf is this??? I also learnt more about web dev and using tools to make pre existing assets look better
I added a floor to the game! Theres also a new font and loading screen! I also redesigned the main menu to have a bit more animations and make it easier to understand. ship ship ship
Log in to leave a comment
Pretty massive stuff! I added markdown rendering support (with hot-reloading so that any change appears instantly) and it works pretty well! I found the package frostmask yesterday while doomscrolling in bed and it turns out its pretty darn efficient. I need to figure out as to why the code editor section is choppy/slow when markdown render is active.
Some Stats:
Loading the markdown: *~ 1-1.5 seconds*
Hot-reloading: < 1 second
The image linked is a part of the codebase that is using the new active markdown render feature
Log in to leave a comment
I mostly worked on documentation and getting the site ready! Everything has been pretty smooth so far!
I thought of an idea while in the shower. Sahil suggested i add ssh support such that i can edit the contents of a file or directory while sshed into it. VSCode has this (thats how I worked on an old project which was hosted on nest). The average user wouldn’t need access to a ssh client and edit stuff so why not make it a terminal command such as pinel connect <ssh host> where could be [email protected] and traverse and edit a directory and its contents through it
I’ve been vibecoding quite a bit to fix up some issues that i have absolutely no clue why they fail. For example I followed the LSP support guide for iced-code-editor and I still haven’t been able to understand as to why it didn’t work. It’s my priority and I just cannot figure out why. I had opus give me some code for lsp loading and i gave it back an idea to de load the server when a file is inactive.
The images in the devlog are of my activity monitor while multiple files are open as well as the autocomplete working!
Log in to leave a comment
Okay so I wanted to add one more feature before I start using Pinel to build itself and that feature was automatic indentation. Little did i know just how much of a pain this is to implement. For starters, i have to write the logic for it by myself (which i dont mind) but the issue is that its really really weird. I tested out my code. Heres how it went:
I decided to put it aside for now and just deal with it later
Log in to leave a comment
This is a pretty important devlog as we now have…. Integrated terminal support! I found this really cool rust crate a while ago that allows for terminal emulation using Iced in rust! It’s called iced_term. Its still in beta so I would assume it isnt perfect but its really cool! I might even consider making my own contributions to it :D
I also renamed some references in the codebase from “Rode” and changed it to “Pinel” as a part of the new transfer
fyi the image in the devlog is the actual application showing the current state of the integrated terminal
If you plan on using it, i have tested it for mac but when a release is made it will be tested for all supported operating systems!
Log in to leave a comment
Wow! XD
I was about to tell you that it needs to be an image of the app itself, because of how good that looks! :OOOOOO
Well done brosquito! :D
I remade the autocomplete and it somewhat works but ill probably have to scrap that code for now since i found this that now has lsp + autocomplete support. My plan is to use that in order to have autocomplete + a bit of my own algorithm!
Also i took feedback from my last voting cycle and made a website! This will be used as a way for people to quick install as well as look at docs. Claude Opus 4.6 cooked w/ this and so did opencode! check out the site here
theres this really cool crate that i came across https://crates.io/crates/iced-code-editor and so i saw that it had native number line support. I’ve been trying to get proper number line support for the past 20 days and i just couldn’t figure out a solution and this crate had exactly that!! i tried it out and it looks so fricking peak
I also added some optimisation for file opening and tested it! Before this it would take 3-4 seconds to load an 8k file into buffer but after the optimisation changes it takes <1 second
Log in to leave a comment
So i accidentally leaked my hackatime api key in front of 20 ppl. And so i implemented api key blur! it looks kinda mid rn but thats because i just want to get it working. I’ll probably have a similar system where it prompts when you try to open a file like.env so that you don’t accidentally leak some stuff. Also i changed the codebase to use a subscription system where the app subscribes to certain features/processes (this helps me have a cleaner codebase)
Log in to leave a comment
can you send me your new api key so I can confirm it’s different?
WAIT THIS IS SUPER COOL THO
ye i gotchu!
This would be useful for certain streamers whose names start with “th” and end with “eo” and sometimes open .env files on stream
@inw real i wanna use ts when i stream but im scared ill leak my shit accidentally 
I tried making it into a universal DMG with proper checksums so that I can have an auto update feature inside the editor. Its going horribly because apple is weird!
Other than that I changed the theme selection to be a dropdown and it actually saves it now!
Log in to leave a comment
Switched the codebase over to used iced! ill make more optimisations in the near future but practically everyithing looks the same. I will need to revisit and see what other packages to use for optimisation but other than that ive been having an amazing expoerience with iced! Most of this stuff is ai code that was rewritten to work with iced but that will change as i refactor!
Log in to leave a comment
For this version I fixed up a ton of bugs and decided to drop some features for now. Its been pretty smooth since the last ship since ive been getting more comfortable with my stack and the structure. I added native hackatime support, theming scripts, a file navigator, fuzzy finder, settings, and a syntax highlighter!
I worked on the indentation feature because who codes without proper indentation. I might be stupid but im not a psycho and it sorta works. Still some tweaks because it doesnt feel right. Also new version! Thanks to shuflduf for making 0.3.2 possible :)
Log in to leave a comment
Soo good!
also wtf is that image??
I reworked the treesitter code so that highlighting follows an actually good standard unlike wtv homemade algorithm i had before. I also tried using Rode to code rode and holy shit it was horrible. Bottom 1 experience of ALL time
Uhh ok so i need to add the auto tab thing and figure out why navigation is dogshit
The syntax highlighter is supposed to be like under 1ms (1/1000) for my people who dont know what a millisecond is and uhh yeah idk how to test it but maybe later when i understand it
Log in to leave a comment
Hackatime/wakatime support works. It was surprisingly simple and yeah.
Shuflduf showed me this really cool gist they wrote for automating github release + crates release and i will be using it from now on.
Next up: optimisation + git/lazygit integration
Log in to leave a comment
LETS FUCKING GO SHUFLDUF MENTIONEEDD!!!!!!!!!!!!!!!!!!! WE LOVE RISKING OUR RAINS!!!!!!!!!!!!!!!!!!!!!
I readded some old features that were disabled for a stable release! they include the fuzzy finder (which now has a new keybind), and the command palette! I also worked on a startup text that shows when the user is not in a file or a directory! Kinda like what vscode has
Log in to leave a comment
We have auto bracket closing support my bluds
it tweaked out for a bit because i was logging every bracket related action instead of only opening meaning that even if i backspaced an open bracket to bring it back to one line, it would append a closing bracket. I fixed this by only accounting for physical changes to the brackets! Next step is to auto tab when the user opens a bracket into a new line!
Log in to leave a comment
Some random guy commented on my github issue yesterday to show his fuzzy finding algorithm so i spent 2 hours implementing it! The algorithm is able to index and generate results in under 30 milliseconds for indexes of size ≤ 1000 and for sizes 1000 < n < 10,000 it takes 60-300 ms!
Log in to leave a comment
v1 of the treesitter works! It’s kinda hardcoded but its get the job done for most users. It has support for js, tx, rust, and python! I’ll probably integrate native LSP support next so that its easier for treesitter to detect the keywords for other languages
Log in to leave a comment
heh….. ts syntax highlighting so tuff!
ty cronana
I tried publishing rode-editor v0.1.2 and realized that the icon system just would not work and so I had to come up with a series of fixes.
In the end i realized that embedding the files into the system and then if not found using a fallback system to load them directly from the assets folder seems to work!
I’ll test out the performance and functionality trade offs of this soon
hopefully by 0.1.5 when I add treesitter support but until then thats it!
The image in the devlog is v0.1.4 of rode-editor that is opened inside of another project of mine. Used solely for showing that the icons work on the official crates.io version
Log in to leave a comment
I had to debug some errors dealing with the HashSet library that is a part of std::collections but other than that its been going pretty well!
Log in to leave a comment
FitTo was not a part of std so i had to import it from usvg. Due to this i rewrote some rendering parts of the code and the icon manager works!NOTE: The images I linked are of the actual file tree in its current state as well as some sample code from another project just to show what the font looks like :)
Log in to leave a comment
I played around with the fuzzy finder a bit more and readded it to the application and its pretty stable! I think theres a couple more bugs i need to fix such as the files not being opened when selected through the fuzzy finder modal but other than that its fine!
Log in to leave a comment
I worked on some vim commands. vibecoded a tad bit of it but it sucks so ill probably rewrite some parts of it! The cursor works but the problem is that the actual cursor and the vim cursor are not synced. The blue block in the i
Log in to leave a comment
I removed all of my css from my old site and wrote some really basic html code. After that i read up on lastfm and github graph ql docs so i can learn how to integrate their apis into my site. Wrote up a quick script to fetch my commit count and hooked that up to cloudflare workers (something new i learned for ts project) and boom it works!
i made a cloudflare worker to fetch my commit count in this year
Log in to leave a comment
why would you ship a project with just basic html lmao but crazy concept tho nice
added last fm integration so that it shows how many songs i listened to this year
Log in to leave a comment
added some very very basic html
Log in to leave a comment
took a tad bit but i used the power of local storage in order for the user to store their scout and load it at anytime
Log in to leave a comment
I made a landing page. tried to switch to next js using a tad bit of vibecoding but that went horribly wrong so im back with my beloved sveltekit
Log in to leave a comment
i worked on a zen mode and it seems to work pretty well.
Log in to leave a comment
I worked on treesitter transparency support so that I can have full transparency. I also also auto theme choosing by the editor so that neovim can auto select between light and dark mode depending on other settings
Log in to leave a comment
I worked on the matchups section and made it so that you can drag the team numbers into the matchups
Log in to leave a comment
this was one complex project so far. I had a lot of ideas (too many for a matter of fact) but I think I was able to execute them pretty well for my first real rust project (other than robotics). I got to use egui which was pretty cool. I thought that it was a much better experience than writting code for tauri. Oh also rust documentation is really nice. Other than that I would say its been pretty fun! Theres definitely a lot more updates to come to this project
I fixed a few issues that were stopping me from publishing my project to [crates.io](https://crates.io] and it took me a bit to fix those but the main one was like about an if statement that could’ve been a bit more efficient.
After that I spent the rest of my time just writing an actually good looking readme and I’m done! There are a LOT of issues but atleast the app is useable I’ll fix more later :pf:
Oh I also drew a logo in excalidraw
Log in to leave a comment
LOL fire logo
just voted on your project btw, really nice stuff :)
tysm!
It’s been a while since I devlogged here because I’ve been spending my time working on this project for campfire flagship but I might just submit it for flavortown. Some really MASSIVE changes i made were:
Normal mode and they press ff (leader in this case being space) it opens up a fuzzy finder modal. The algorithm uses a score system so that we are able to easily rank the files with the most relevant results.I also wanted to add a file navigation bar (similar to what VSCode has when you press [ctrl]+b and so for that I needed to add an option for the user to open a directory (or folder if you’re weird ig)
And so the actual file navigator system took me a while. I still need to figure out as to why the emojis don’t work for rust files but other than that everything seems fine!
Log in to leave a comment
I transferred over this project from campfire flagship and so far I have a metronome which is supposed to be the beat. Not only that but I also have a floor asset I found online. I tried to draw art for the omelette but I failed miserably so I resorted to online assets for the omelet and the lettuce. I made a bar for the beat so that the user knows when is a good time to hit the beat. I also made it such that for the dishes it only shows the beats for one dish at a time instead of showing all three. I still need to make a home page with a menu and everything but it seems pretty good so far!
Log in to leave a comment
I started configuring my sketchybar fully and I would say it came out pretty well!
Log in to leave a comment
I added telescope to my neovim config and configured it! I use ff for opening the fuzzy finder for the current directory its really neat! Not only that but I also intergrated my theme (blueberry.nvim) into my config so that I can continue using it!
Log in to leave a comment
I added some more options such as keymaps and I also allowed the user to use transparent mode! There is both a light and dark theme.
Log in to leave a comment
i worked on my kitty config and my neovim now uses nvchad instead of lazy vim. Also spicetify
Log in to leave a comment
I added text magnification detection. An issue i had before was that when you zoom in, the number lines zoom at a different rate than the text and that has been fixed!! Not only that but I started on the tab switching sytem. Its a bit buggy but its getting somewhere
Log in to leave a comment
I made a kitty config and added some very basic configs to it. Also fira code. Yes. Also added some stuff to neovim such as a similar colour scheme
I worked on text highlighting for the find and replace modal. When the user tries to find a piece of something it highlights the text and moves the whole screen to that region. I also added a command such that the user can open a file from the terminal! I also added match checking so now in the find and replace modal it shows how matches there are and which one the user is currently on!
Log in to leave a comment
First devlog of 2026!! I wanted to integrate a modal for Vim commands. It’s based on a Neovim plugin that I really enjoyed using and decided to integrate that into CatEditor!! I also added cursor position saving so that if you move columns and go up or down, it saves the position of that column!
This session added quite a lot of stuff! I worked on a find and replace system where if the user pressed command + f it opens up the modal and they can find and replace text. I also fixed an issue where the line numbers would double up after they go past, like number 9. I also fixed up the command palette and made the suggestion box real. It is yet to work, but it’s getting there! Another extremely important thing i worked on was restructuring the project. I put the files into sub directories so that it’s easy to scale!
Log in to leave a comment
I spent quite a while fixing issues that Dodge suggested for the theme loader. It uses a config system that doesn’t load every second; rather, the user has to either force-reload the app or quit and reopen. Not only that, but I also started working on the command palette feature. It’s very scrappy, but I got it to a point where pressing cmd + comma makes a little box pop up, it dims the background and has a field for entering text, and then the results box. I haven’t actually gotten to work on the suggestions and make proper suggestions, but uh yeah! I really like where this is going, but tomorrow I’m going to work on cleaning up some consistency with unused vars as well as making sure my project structure is scalable!
Log in to leave a comment
RAHHHH WE LOVE CATPPUCCIN AND RUST
⌘+, is for settings 😭
⌘+p or smth
oh shi dodge i might change that hollup
I worked for quite a while trying to get this thing on da web. Had to play around for a while with github pages and my github actions before something actually worked. After a tad bit of debugging it finally works!
Log in to leave a comment
I quite enjoy this project keep up the good work :D
thanks!!
Lot more. iterations
This was a migration from the old, really bad python codebase to a newer go version with much much better ui! I learnt a lot of stuff such at properly dealing with json data and how do deal with it effectively as well as new tricks for lipgloss and bubble!
I finally fixed the leetcode issue! So for a while now since the migration to go I wasn’t able to get the leetcode sync feature to work. (which was the last thing i needed to fix) and turns out it was an issue with how I indexed data through my api call to the leetcode api. After that I spent a while. rewriting the docs. to be updated!
Log in to leave a comment
I spent quite a while working on fixing more cursor issues since it kept bugging out 50% of the time. After that was fixed, I worked on integrating catppuccin into the editor as the native colour scheme! I plan on making a scripting language or just editing source files so that the user can have their own themes in the future.
Log in to leave a comment
I wrote up the code for the vim movement motions (which took up wayyyyyyyyyy too much time) and I also added cursor that is visible in the different modes (insert, normal, etc)! The app is also in full screen by default!
I started working on the project. I used egui in rust in order to first render a box and then kept iterating it. I got number lines, a top menu bar, some vim motions, a cleaned up ui, and fullscreen. It’s still very buggy but its somewhat useable
Log in to leave a comment
I spent a good while getting the team data from the api onto the site into a nicely formatted table. After that I decided to work on the alliance selection section that allows the user to lay out all of their alliances. I plan on changing the sizing of things but yeah :D
For the uhh past very long while I tweaked around with Svelte. SInce im still a newbie at svelute it took me quite a bit of time and a bit of chatgpt to get used to it. HOWEVER I decided that I’m going to use catppuccin for the theme and make the animations flat! it’s the kind of style that I really enjoy using and it’s the one that I will be using! So far I got the base ui setup and the api sends data to the console. For the next devlog, I want to be able to format the teams from the api into the appropriate columns
Log in to leave a comment
Almost everything has been rewritten. I wrote all of the files but Golangs goofy import system pisses me off!! I’ve been testing for a good while and realised my project structure is absolute shit so I’m gonna spend a while trying to clean it up
Log in to leave a comment
I changed the name of the project and with that I had to change most of the file import definitions in go with the new ones. Along with that I wrote the test run file which allows the user to quick test the project with testcases (expected and input)
Log in to leave a comment
It’s been a while since my last devlog. Since the last time I managed to convert the rating, streak, codeforces, daily challenge, and stats logic from python over to golang! I had to rewrite the core logic for some parts since it just isn’t possible and for some I had to write more code!
Log in to leave a comment
I spent that last while rewriting a good % of the project into Golang by using bubbletea, bubbles, and lipgloss. I realized some point in that I won’t be able to support OpenKattis anymore since the API was written for python and my project is written in golang. So thats something I gotta figure out
I started off with LOTS of planning. I took guidance from (@Dodge1) and tried to make it useful for myself as well. For this TUI project I wanted to try something new and decided to go with using Golang along with Bubbletea and Bubble! Honestly, this was very fun since it was the first time that I got to use real Go programming instead of very simple logic!!
For the past very long while I worked on custom protocols in order for data transfer to happen between two apps. It stores the data temporarily on memory until the other app does a get request in time. There are still a few visual bugs and I need to write documentation but I think this project is pretty close to being a v1!
Log in to leave a comment
After the last devlog, I wrote up a protocol for custom data transmission and received. I decide to use an app name and passkey system that each application would be required to use for the headers of their http request. Every custom request comes with an init method preloaded and I plan on adding integration for adding custom methods soon :p
Log in to leave a comment
Over the past 2 days, I researched and wrote up some code for the basics of the app. I learnt a bit of bubbletea and some other UI libraries that would be helpful in the process. So far, I have a basic layout of the TUI and wrote up some functional code for the API call for battery data! You can now view battery percentage in the TUI or as an API call to localhost:6767/system/battery I had to write some middleware to ensure only GET requests are allowed. My next step would be to write a protocol in order for other applications to send a recieve data through the Bus