Whistler banner

Whistler

13 devlogs
15h 25m 9s

A code editor made just for me! I was kind of tired of using the same old VS Code with its insanely complex settings, so I want to move to something more custom, which perfectly mirrors my style of use and workflow.

This project uses AI

The project banner was AI-inspired, but human drawn (ChatGPT).

Used Claude to refactor code into something that is much more organized (file structure changes).

I also used Claude and ChatGPT for some debugging.

Demo Repository

Loading README...

albert

Shipped this project!

Hours: 15.42
Cookies: 🍪 234
Multiplier: 15.17 cookies/hr

SHIPPED!!!

I built a desktop code editor that is more lightweight than VS Code, supports most, if not all of the icon/theme packs (with a few code changes to point to the right filepaths), and has some syntax highlighting.

This project right not is in its most basic state, so don’t expect any fancy LSP, AI integration, Git, or nothing like that. It’s essentially a text editor that looks good, runs with <100MB of RAM, and has complete access to your filesystem.

I made this in Rust, which I have learned to NEVER use again. Although it was an experience, for sure, to learn this language, I do not recommend it as a passion language, since it is just so WIERD.

Anyways, had some challenges in making the releases, but the MacOS release uses Homebrew, and the Windows one has a simple .exe file.

Happy Coding!

albert

Cmd+T is here

So basically, now, instead of having to manually select a file to open from the file explorer, you can just press cmd+t and it opens the file you want in a new tab. I feel like it looks kinda nice, but it still needs some work.

I think next ima work on some animations so that everything feels nice and smooth.

Attachment
0
albert

File searching mechanic!

Now, I added a way to look through all the files in the workspace for a certain word or phrase. It uses fuzzy finding to make it actually smart.

I did run into some goofy issues on the way there though. One of them was that whenever I would search for ANYTHING it would look through literally the WHOLE workspace, instead of just the files that I cared about. Turns out, all I had to do was add a .gitignore flag and make it “true”.

Attachment
0
albert

Design improvements and MARKDOWN PREVIEW!!!!

I managed to make the app have all of its corners rounded (ts had me crashing out for like a whole hour), but more importantly, I added markdown preview support, which honestly has some bugs, but I have NO CLUE how to fix them.

Changelog

Attachment
0
albert

Syntax Highlighting

Added custom syntax highlighting to the app. It works in some file types, but in others its kinda ahh. You can see in the example below how rust actually looks good, but python looks dull and grey…

In python files, for some reason, it only highlights the first couple of lines, then js gives up. I’ll have to investigate further, but for now, the editor’s coming along pretty well!

One thing I will have to be sure of, though, is that it doesn’t just become another VS Code clone.

Changelog

Attachment
Attachment
1

Comments

kashsuks
kashsuks about 1 month ago

ts tuff

albert

SIDEBAR

I made the sidebar resizeable, even going so far as to make the cursor have that horizontal resize look. Now, you can see your files however large you’d like!

Changelog

Attachment
0
albert

The editor is functional!

YAY!!

So what I did to make this editor actually usable is first of all, made it look nice, with tab organization, good looking file and folder icons, and a relatively simple UI (I find).

My goal of not being cluttered has officially been achieved

VS Code has just too many options sometimes… all those little icons that you can find in the sidebar can seem overwhelming, so I’ve solved that through this minimalist approach. It might not be for everyone, but personally, I find it nice!

Changelog

Attachment
Attachment
0
albert

Looks even better! I added file icon support for JSON files following a certain template. You can see this template in the code, but it’s essentially the same one as in VS Code, since I legit just took a VS Code icon pack and put it into this editor… oops…

Credit to jonathanharty.gruvbox-material-icon pack!

Changelog

Attachment
0
albert

The editor actually looks great and works now! I’ve added a tab system so that the user can have multiple files open at once, and simply switch through tabs. Sadly, I haven’t yet gotten to the keyboard shortcuts such as cmd+w or cmd+t. I’ve also added some more apple-esque styling with rounded corners and the editor sort of “hovering”. The font is also much nicer, I must say, since I’m using IBM Plex Sans. That really pulls it together I find. Any opinions on what’s missing or what could look better?

Changelog

DOCS: Make a small edit to README
FEAT: Start adding icons to files and folders for it to look better
FEAT: Add tab functionality to editor to be able to open and close multiple tabs. Still needs some styling work, but the basic version is functional
STYLE: Add IBM Plex Sans to fonts and use that font throughout editor.
STYLE: Make the editor look better with a status bar, rounded corners, and overall bette r visuals

Attachment
0
albert

Made the actual filetree! It is complete, being able to open directories, expand and collapse them, as well as display files in the editor.

P.S. It’s also collapsible with Cmd+R!

Attachment
0
albert

Ok, so now, I’ve actually made the “backend” for the filesystem. It doesn’t look the way it should since I haven’t yet integrated it into the actual visuals of the app, it just exists as an unused module for the moment. It is able to detect if an entity is a file or a directory, and act accordingly depending on what it is. It holds data about what’s expanded, it sorts the entities alphabetically, and it even ignores some directories!

Changelog

Attachment
0
albert

Made a starting base for the code editor, with a simple ahh text editor. The upside: I had to manually code all of the cmd+backspace, alt+backspace, and other stuff like that cause they weren’t working… I also added line and column tracking, so that’s pretty cool

Attachment
0
albert

Soooooo I switched from a cocoa infrastructure to iced… I did this because I wanted to have this application be cross-platform, and cocoa is MacOS exclusive, since it works through an Objective-C bridge. However, I was able to get the window back up and running again!!

Attachment
0
albert

Started learning Rust x Cocoa for the first time! Right now, it’s at a very early stage in development, with it being only a text-editor (which also barely works :(), but this is just the base of the editor. I have great plans for this one!

Attachment
1

Comments

kashsuks
kashsuks about 2 months ago

its so peak